Thread View: pl.comp.lang.asm
7 messages
7 total messages
Started by michu2510
Sat, 14 Aug 2010 16:46
=?ISO-8859-2?Q?Samomodyfikuj±cy_siê_kod?
Author: michu2510
Date: Sat, 14 Aug 2010 16:46
Date: Sat, 14 Aug 2010 16:46
10 lines
397 bytes
397 bytes
Witam Ostatnio czyta³em trochê o samomodyfikuj±cym siê kodzie. Niestety trudno znale¼æ wiêcej informacji o tym a ciekawi mnie to. Czy kod który jest wstrzykiwany musi mieæ sta³± d³ugo¶æ ? Czy tak± technikê mo¿na zaimplementowaæ w jêzykach wy¿szego poziomu ( C,C++). Oraz czy kto¶ zna jakie¶ przyk³ady lub artyku³y z tym zwi±zane ? Pozdrawiam
Re: =?ISO-8859-2?Q?Samomodyfikuj±cy_siê_kod?
Author: Marek Borowski
Date: Sun, 15 Aug 2010 09:35
Date: Sun, 15 Aug 2010 09:35
25 lines
1013 bytes
1013 bytes
On 15-08-2010 01:46, michu2510 wrote: > Witam > Ostatnio czyta�em troch� o samomodyfikuj�cym si� kodzie. Niestety > trudno znale�� wi�cej informacji o tym a ciekawi mnie to. Czy kod > kt�ry jest wstrzykiwany musi mie� sta�� d�ugo�� ? Czy tak� technik� > mo�na zaimplementowa� w j�zykach wy�szego poziomu ( C,C++). Oraz czy > kto� zna jakie� przyk�ady lub artyku�y z tym zwi�zane ? > Pozdrawiam W wiekszosci obecnych systemow nie da sie uzyc samomdyfikujacego sie kodu, bo sekcja kodu mapowana jest readonly i proba zapisu spowoduje wyjatek bledu strony. Druga sprawa to instruction cache i pipeline - tez przewidywalbym problemy. Natomiast na starych systemach jest mozliwe i do wykonania w C rowniez - poprzez pointer na funkcje. Tyle ze samomodyfikujacy kod uzywalo sie aby pisac mega krotkie/szybkie procedurki wykorzystujac specyfike kodu maszynowego danego procesora. Np. zmienajac w kodzie adress skoku. W asm jest to prostsze. Pozdrawiam Marek
Re: =?ISO-8859-2?Q?Samomodyfikuj±cy_siê?= kod
Author: Wojciech =?ISO-8
Date: Sun, 15 Aug 2010 10:25
Date: Sun, 15 Aug 2010 10:25
17 lines
567 bytes
567 bytes
On Sat, 14 Aug 2010 16:46:21 -0700 (PDT) michu2510 <michal.kozminski@gmail.com> wrote: > Ostatnio czyta³em trochê o samomodyfikuj±cym siê kodzie. Niestety > trudno znale¼æ wiêcej informacji o tym a ciekawi mnie to. Czy kod > który jest wstrzykiwany musi mieæ sta³± d³ugo¶æ ? Czy tak± technikê > mo¿na zaimplementowaæ w jêzykach wy¿szego poziomu ( C,C++). Oraz czy > kto¶ zna jakie¶ przyk³ady lub artyku³y z tym zwi±zane ? Tu masz prosty przyk³ad w asemblerze i C: http://0x80.pl/articles/linux_smc.html w.
=?iso-8859-2?Q?Re:_Samomodyfikuj±cy_siê_kod?
Author: "Remek"
Date: Wed, 18 Aug 2010 17:51
Date: Wed, 18 Aug 2010 17:51
9 lines
168 bytes
168 bytes
U�ytkownik "michu2510" napisa�: > Ostatnio czyta�em troch� o samomodyfikuj�cym si� kodzie. A ja czyta�em o ptworze Loch Ness. Tyle samo warte. Remek
=?iso-8859-2?Q?Re:_Samomodyfikuj±cy_siê_kod?
Author: "Wiktor S."
Date: Wed, 18 Aug 2010 18:58
Date: Wed, 18 Aug 2010 18:58
9 lines
175 bytes
175 bytes
> Druga sprawa to instruction cache i pipeline - tez przewidywalbym > problemy. Daleki skok (nawet do nast�pnej instrukcji) powinien za�atwia� spraw�. -- Azarien
=?ISO-8859-2?Q?Proponujê_w±tek_pokrewny_-_metaprogra?= =?ISO-8859-2?Q?mowanie?
Author: =?ISO-8859-2?Q?A
Date: Mon, 20 Sep 2010 23:45
Date: Mon, 20 Sep 2010 23:45
6 lines
284 bytes
284 bytes
Czyli dynamiczne generowanie kodu, kt�ry jest nast�pnie wykonywany. W pierwszych Windowsach wy�wietlano w ten spos�b bitmapy - dla danej bitmapy generowa�o si� procedur� renderuj�c� i skaka�o do niej. Zwyk�a statyczna, uniwersalna procedura by�a za wolna.
Re: =?ISO-8859-2?Q?Proponujê_w±tek_pokrewny_-_metaprogra?= =?ISO-8859-2?Q?mowanie?
Author: Bartosz =?iso-88
Date: Mon, 18 Oct 2010 01:59
Date: Mon, 18 Oct 2010 01:59
27 lines
1224 bytes
1224 bytes
On Mon, 20 Sep 2010 23:45:03 +0200, Andrzej Gra�y�ski wrote: > Czyli dynamiczne generowanie kodu, kt�ry jest nast�pnie wykonywany. W > pierwszych Windowsach wy�wietlano w ten spos�b bitmapy - dla danej > bitmapy generowa�o si� procedur� renderuj�c� i skaka�o do niej. > Zwyk�a statyczna, uniwersalna procedura by�a za wolna. o ktorym OSie mowisz i ktora to DLLka odpowiadala, chetnie sobie to zobacze nie wiem jak ty, ale dynamiczne generowanie kodu asma przydalo mi sie tylko w 2 przypadkach a) JITting do x86 wlasnego pseudokodu b) copy protection (generujac dynamicznie algorytmy/mutacje kodu) moze jestem krotkowzroczny i ograniczony, ale z checia wyslucham innych zastosowan (oprocz tych wymienionych) vs statyczny kod, wedlug mnie dla zwyklego zjadacza chleba, dynamiczne generowanie kodu wymaga juz wiekszej wiedzy o budowie kodu, offsetach, relatywnych adresach, konwencjach wywolywania funkcji, danych statycznych / lokalnych i nawet wykorzystujac istniejace juz biblioteki wspomagajace dynamiczne tworzenie kodu asma (bez znajomosci budowy instrukcji) to nadal ta cala reszta musi byc znana, zeby cokolwiek sensownego/dzialajacego sklepac -- Bartosz W�jcik | www.pelock.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads