Article View: pl.comp.lang.asm
Article #2390Re: Samomodyfikujący się kod
From: 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
Technical Details
Message-ID:
<i485bf$vd8$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mailReferences:
<d83177d1-b6ac-4908-95f1-efe01243260b@t2g2000yqe.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail From: Marek Borowski <marek_remove_@borowski.com> Newsgroups: pl.comp.lang.asm Subject: Re: Samomodyfikujący się kod Date: Sun, 15 Aug 2010 09:35:10 +0200 Organization: http://onet.pl Lines: 24 Message-ID: <i485bf$vd8$1@news.onet.pl> References: <d83177d1-b6ac-4908-95f1-efe01243260b@t2g2000yqe.googlegroups.com> NNTP-Posting-Host: host-194126238208.net-serwis.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1281857711 32168 194.126.238.208 (15 Aug 2010 07:35:11 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Sun, 15 Aug 2010 07:35:11 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.8) Gecko/20100802 Lightning/1.0b2 Thunderbird/3.1.2 In-Reply-To: <d83177d1-b6ac-4908-95f1-efe01243260b@t2g2000yqe.googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit