🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Okrajanie pliku exe z tabeli importow (PE format, masm32).

#214
From: Bogdan (bogdro)
Date: Fri, 28 Apr 2006 18:20
38 lines
2917 bytes
gniotek napisał(a):
> Witam,
> Szukam mozliwosci aby maksymalnie zmniejszyc rozmiar exe`ka, uzywam
> masm32, ma to byc standardowa aplikacja windows, pomyslalem ze wywale
> mu zbedne zeczy z naglowka, ale nie wiem jak sie za to zabrac i jak
> kompilowac takie cudo. Prosze o pomoc fachowcow.

 Zainteresuj się np. programem "strip" (jest też wersja dla DOS/Win).
Nawet jeśli niedokładnie to robi (bo tylko usuwa symbole), to można
spojrzeć w źródła: ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/ ->
bnu2161(b,s).zip. Krąży mi po głowie nazwa 'pestrip', choć nie wiem,
czy takie coś w ogóle istnieje.

 Na www.wotsit.org powinien być opis nagłówka PE, można wtedy zrobić
tak, że piszesz po prostu binarkę typu .com, tylko na początku
umieszczasz trochę bajtów, dzięki którym po skompilowaniu Windows
rozpozna typ pliku i prawidłowo go uruchomi.
 Tak szczerze, to słyszałem, że z programem windowsowym nie da się
zejść poniżej pewnej granicy. Mgliście widzę 2 liczby: albo 1536
(raczej), albo 512 bajtów. Chyba w podręczniku do FASMa pod Windows
było, ale głowy nie dam. http://flatassembler.net/download.php

 Może można mówić linkerowi, że chce się mniejszy domyślny rozmiar
sekcji, pewnie można pominąć pewne sekcje.

> PS. Mile widziane rownierz sugestie ogolne na temat optymalizacji pod
> wzgledem rozmiaru.

 Używać krótszych instrukcji, jednej zamiast kilku, argumentów
1-bajtowych zamiast 4-bajtowych (jeśli się da). To tyle na razie.
Jeśli się okaże, że faktycznie dość wysoki jest próg minimalny
długości programu, to takie ciekawostki powoli tracą sens.

-- 
Pozdrawiam, Bogdan                                  (Linux i FreeDOS)
Kurs assemblera x86 (DOS i Linuks): http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
Prawdziwy, bezpieczny komunikator:                   www.JabberPL.org
Technical Details
Message-ID: <e2tmes$2hb$1@atlantis.news.tpi.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!newsfeed.silweb.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
References: <1146247284.202064.123830@g10g2000cwb.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!newsfeed.silweb.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mail
From: "Bogdan (bogdro)" <bogdan@bogdan.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Okrajanie pliku exe z tabeli importow (PE format, masm32).
Date: Fri, 28 Apr 2006 20:20:54 +0200
Organization: tp.internet - http://www.tpi.pl/
Lines: 38
Message-ID: <e2tmes$2hb$1@atlantis.news.tpi.pl>
References: <1146247284.202064.123830@g10g2000cwb.googlegroups.com>
NNTP-Posting-Host: acsq192.neoplus.adsl.tpnet.pl
Mime-Version: 1.0
X-Trace: atlantis.news.tpi.pl 1146248476 2603 83.11.44.192 (28 Apr 2006 18:21:16 GMT)
X-Complaints-To: usenet@tpi.pl
NNTP-Posting-Date: Fri, 28 Apr 2006 18:21:16 +0000 (UTC)
User-Agent: Thunderbird 1.5.0.2 (X11/20060420)
In-Reply-To: <1146247284.202064.123830@g10g2000cwb.googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit