🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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?
#2324
Author: michu2510
Date: Sat, 14 Aug 2010 16:46
10 lines
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?
#2325
Author: Marek Borowski
Date: Sun, 15 Aug 2010 09:35
25 lines
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
#2326
Author: Wojciech =?ISO-8
Date: Sun, 15 Aug 2010 10:25
17 lines
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?
#2328
Author: "Remek"
Date: Wed, 18 Aug 2010 17:51
9 lines
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?
#2330
Author: "Wiktor S."
Date: Wed, 18 Aug 2010 18:58
9 lines
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?
#2340
Author: =?ISO-8859-2?Q?A
Date: Mon, 20 Sep 2010 23:45
6 lines
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?
#2349
Author: Bartosz =?iso-88
Date: Mon, 18 Oct 2010 01:59
27 lines
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