🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #475

Re: 16 - bitowe aplikacje pod Windows-em

#475
From: Paweł Pawlak
Date: Wed, 02 Aug 2006 19:23
41 lines
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-mail
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>

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