Article View: pl.comp.lang.asm
Article #475Re: 16 - bitowe aplikacje pod Windows-em
From: Paweł Pawlak
Date: Wed, 02 Aug 2006 19:23
Date: Wed, 02 Aug 2006 19:23
41 lines
3939 bytes
3939 bytes
Dnia 8/2/2006 3:59 PM, Matuzalem wrote: >> Po co systemowy ma sprawdzac, w jakim jest systemie, skoro jest CZESCIA >> systemu (DOS-a lub Windowsa)? > > Gdyby tak bylo to ten program "boot" nie byl by potrzebny - bo > wiedzial by co ladowac w zaleznosci od systemu. > To, co wypisuje "This program cannot be run in MS-DOS" czy jakkolwiek to brzmi TO NIE JEST ŻADEN "BOOT" - ta część *nie jest* uruchamiana przez systemowy loader w Windows o ile w nagłowku exeka znajduje się wskazanie na nagłówek "PE" czy "NE". Tak trudno to zrozumieć? DOSowy loader ignoruje wskazanie na nagłówek "PE" czy "NE" i po prostu wykonuje program przeznaczony dla DOSu. A to, że ten program (w większości przypadków) ogranicza się do wypisania tej prostej informacji na ekranie to juz zupełnie inna sprawa. Z kolei systemowy loader Win 3.1x poszukuje nagłówka "NE" a loader Win32 - nagłówka "PE", i jeśli go znajdzie, to uruchamia "swój" program. Jeśli windowsowy loader *nie znajdzie* nagłówka NE/PE - to dopiero wtedy uruchamia ten DOSowy kawałek programu. Przykłady: 1. Weź dowolny exe dla Windows i nadpisz mu bajty od 0x40 do 0x50 dowolną wartością (np. 0xff). Teraz uruchom ten program - działa? Działa. (oczywiście zakładam tu, że pod offsteem 0x18 pliku exe znajduje się wartość 0x0040 - wskazanie na początek programu) 2. Weź dowolny exe dla Windows i wyzeruj mu wskazanie na nagłówek PE lub wpisz taki offset, pod którym nie ma nagłówka PE. Teraz uruchom program - działa? Działa, ale część MS-DOS 3. Weź program z punktu 1 (już zmodyfikowany) i zrób to, co w punkcie 2 (czyli wyzeruj wskazanie na nagłówek "PE"). Teraz uruchom - działa? Nie działa, bo systemowy loader nie znalazł nagłówka PE i próbował uruchomić program DOSowy, a ten składał się z bajtów 0xff 0xff 0xff 0xff 0xff 0xff Dalej się będziesz upierał że systemowy loader ZA KAŻDYM RAZEM uruchamia fragment kodu przeznaczony dla MS-DOS? Pozdrawiam, Morris
Technical Details
Message-ID:
<eaqu6v$cti$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<1153957912.746961.101320@75g2000cwc.googlegroups.com> <eaaov5$kcs$1@atlantis.news.tpi.pl> <1154018822.045571.88070@m79g2000cwm.googlegroups.com> <eadblh$i7s$1@nemesis.news.tpi.pl> <1154120657.190570.116990@b28g2000cwb.googlegroups.com> <eafop1$i7l$1@inews.gazeta.pl> <1154181930.002575.269860@m73g2000cwd.googlegroups.com> <eagb1v$8kv$1@inews.gazeta.pl> <ealf33$ekk$1@inews.gazeta.pl> <eam874$2o8$1@news.onet.pl> <1154425781.824793.224780@m79g2000cwm.googlegroups.com> <ean8jg$f67$1@news.onet.pl> <1154445155.951310.126350@h48g2000cwc.googlegroups.com> <eaok66$qr1$1@news.onet.pl> <1154471596.033336.123490@i42g2000cwa.googlegroups.com> <eaolg9$sqo$1@news.onet.pl> <1154473834.265029.152210@p79g2000cwp.googlegroups.com> <eaplv7$qbq$1@news.onet.pl> <1154516212.435507.288740@m79g2000cwm.googlegroups.com> <eaq85j$5q2$1@news.onet.pl> <1154527181.097274.69480@h48g2000cwc.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: Paweł Pawlak <morr!s@elys!um.pl> Newsgroups: pl.comp.lang.asm Subject: Re: 16 - bitowe aplikacje pod Windows-em Date: Wed, 02 Aug 2006 21:23:45 +0200 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 41 Message-ID: <eaqu6v$cti$1@inews.gazeta.pl> References: <1153957912.746961.101320@75g2000cwc.googlegroups.com> <eaaov5$kcs$1@atlantis.news.tpi.pl> <1154018822.045571.88070@m79g2000cwm.googlegroups.com> <eadblh$i7s$1@nemesis.news.tpi.pl> <1154120657.190570.116990@b28g2000cwb.googlegroups.com> <eafop1$i7l$1@inews.gazeta.pl> <1154181930.002575.269860@m73g2000cwd.googlegroups.com> <eagb1v$8kv$1@inews.gazeta.pl> <ealf33$ekk$1@inews.gazeta.pl> <eam874$2o8$1@news.onet.pl> <1154425781.824793.224780@m79g2000cwm.googlegroups.com> <ean8jg$f67$1@news.onet.pl> <1154445155.951310.126350@h48g2000cwc.googlegroups.com> <eaok66$qr1$1@news.onet.pl> <1154471596.033336.123490@i42g2000cwa.googlegroups.com> <eaolg9$sqo$1@news.onet.pl> <1154473834.265029.152210@p79g2000cwp.googlegroups.com> <eaplv7$qbq$1@news.onet.pl> <1154516212.435507.288740@m79g2000cwm.googlegroups.com> <eaq85j$5q2$1@news.onet.pl> <1154527181.097274.69480@h48g2000cwc.googlegroups.com> NNTP-Posting-Host: ens203.neoplus.adsl.tpnet.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1154546720 13234 83.20.8.203 (2 Aug 2006 19:25:20 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Wed, 2 Aug 2006 19:25:20 +0000 (UTC) X-User: mickey_knox X-Antivirus: avast! (VPS 0631-2, 2006-08-02), Outbound message In-Reply-To: <1154527181.097274.69480@h48g2000cwc.googlegroups.com> X-Antivirus-Status: Clean User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl-PL; rv:1.8.0.2) Gecko/20060404 SeaMonkey/1.0.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit