Thread View: pl.comp.lang.asm
7 messages
7 total messages
Started by michu2510
Sat, 14 Aug 2010 23:46
Samomodyfikujący się kod
Author: michu2510
Date: Sat, 14 Aug 2010 23:46
Date: Sat, 14 Aug 2010 23:46
7 lines
1506 bytes
1506 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: Samomodyfikujący się kod
Author: Marek Borowski
Date: Sun, 15 Aug 2010 07:35
Date: Sun, 15 Aug 2010 07:35
24 lines
1973 bytes
1973 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: Samomodyfikujący się kod
Author: Wojciech Muła
Date: Sun, 15 Aug 2010 08:25
Date: Sun, 15 Aug 2010 08:25
13 lines
1414 bytes
1414 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.
Re: Samomodyfikujący się kod
Author: Remek
Date: Wed, 18 Aug 2010 15:51
Date: Wed, 18 Aug 2010 15:51
7 lines
1068 bytes
1068 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
Re: Samomodyfikujący się kod
Author: Wiktor S.
Date: Wed, 18 Aug 2010 16:58
Date: Wed, 18 Aug 2010 16:58
7 lines
1138 bytes
1138 bytes
> Druga sprawa to instruction cache i pipeline - tez przewidywalbym > problemy. Daleki skok (nawet do następnej instrukcji) powinien załatwiać sprawę. -- Azarien
Proponuję wątek pokrewny - metaprogramowanie
Author: Andrzej Grażyński
Date: Mon, 20 Sep 2010 21:45
Date: Mon, 20 Sep 2010 21:45
4 lines
1196 bytes
1196 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: Proponuję wątek pokrewny - metaprogramowanie
Author: Bartosz Wójcik
Date: Sun, 17 Oct 2010 23:59
Date: Sun, 17 Oct 2010 23:59
26 lines
2323 bytes
2323 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