-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " " <f...@g...pl>
Newsgroups: pl.comp.programming
Subject: Re: będę disasemblował
Date: Mon, 7 Nov 2011 19:31:41 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 119
Message-ID: <j99bmt$3e5$1@inews.gazeta.pl>
References: <j996pt$gbl$1@inews.gazeta.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1320694301 3525 172.20.26.243 (7 Nov 2011 19:31:41 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 7 Nov 2011 19:31:41 +0000 (UTC)
X-User: fir
X-Forwarded-For: 31.60.58.126
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:193534
[ ukryj nagłówki ]=?ISO-8859-2?Q?_genera=B3_kenobi?= <f...@g...pl> napisał(a):
> uwaga, będę disasemblował
>
trochę zartuję,
najchetniej dowiedzialbym sie co te cholerne kompilatory
----------------------------------------------------
-----
wstawiaja do pustych execów;
----------------------------
znalazlem 4ry stare male kompilatory gdzies na archiwalnym dysku,
skompilowalem puste mainy i ogladam rezultaty
o ile pliki obj jakie produkuja sa przyzwoite co do dlugosci
np okolo 200 bajtow i zawartosc maja w stylu
push ebp ; 0000 _ 55
mov ebp, esp ; 0001 _ 89. E5
@1: pop ebp ; 0003 _ 5D
ret ; 0004 _ C3
choc np devcpp ma
_main:
___gnu_compiled_c:
gcc2_compiled.:
push ebp ; 0000 _ 55
mov ebp, esp ; 0001 _ 89. E5
sub esp, 8 ; 0003 _ 83. EC, 08
call ___main ; 0006 _ E8, 00000000
(rel)
mov eax, 5 ; 000B _ B8, 00000005
jmp ?_001 ; 0010 _ EB, 00
?_001: leave ; 0012 _ C9
ret ; 0013 _ C3
nie wiem co to za call __main w srodku maina (?)
to po zlinkowaniu do exe wstawiaja tam duzo tych tajemniczych bebechow
co jeden to gorzej: main.exe w lcc ma 13k mingw 14k devcpp 4k (najlepiej)
pelles 8k np borland 48k (najgorzej)
nie wiem na jakiej zasadzie kompilatory moga zaszywajz nazwy
funkcji w exe, tak ze po disasemblacji widac jak sie nazywaja
routines w asmie, ale tylko mingw zrobil cos takiego (za co jemu plus)
i widac ze jest tam okolo 30 procedur
podobnych do
___mingw_CRTStartup:; Local function
push ebp ; 004011E0 _ 55
mov ebp, esp ; 004011E1 _ 89. E5
sub esp, 24 ; 004011E3 _ 83. EC,
18
mov dword [esp], __gnu_exception_handler@4 ; 004011E6 _ C7. 04
24, 004010E0(d)
mov dword [ebp-4H], ebx ; 004011ED _ 89. 5D,
FC
call _SetUnhandledExceptionFilter@4 ; 004011F0 _ E8,
0000060B
sub esp, 4 ; 004011F5 _ 83. EC,
04
call __fpreset ; 004011F8 _ E8,
00000163
call ___RUNTIME_PSEUDO_RELOC_LIST__ ; 004011FD _ E8,
FFFFFDFE
call __mingw32_init_fmode ; 00401202 _ E8,
FFFFFE39
call __pei386_runtime_relocator ; 00401207 _ E8,
00000124
call ___p__environ ; 0040120C _ E8,
0000055F
mov eax, dword [eax] ; 00401211 _ 8B. 00
mov dword [esp+8H], eax ; 00401213 _ 89. 44
24, 08
mov eax, dword [__argv] ; 00401217 _ A1,
00402004(d)
mov dword [esp+4H], eax ; 0040121C _ 89. 44
24, 04
mov eax, dword [__data_start__] ; 00401220 _ A1,
00402000(d)
mov dword [esp], eax ; 00401225 _ 89. 04 24
call _main ; 00401228 _ E8,
000000A3
mov ebx, eax ; 0040122D _ 89. C3
call __cexit ; 0040122F _ E8,
0000052C
mov dword [esp], ebx ; 00401234 _ 89. 1C 24
call _ExitProcess@4 ; 00401237 _ E8,
000005D4
o nazwach jak _init_mainargs, init_fmode, gnu_exception_handler,
crtStartup, atexit, onexit, do_sjlj_init, do_pseudo_realoc,
pei386_runtime_relocator, fpreset, do_global_dtors, do_global_ctors,
sharedptr_default_unexpected, eh_shared_initialize i takie tam
co to jest i czy to jest naprawde potrzebne w kazdym exe?
czy takie anonimowe funkcje sa wymagane? ktos zna jakies info o tym
dokladnie (o tych kilkudziesieciu powiedzmy anonimowych routinach jakie
kompilatory wstawiaja do prawie pustych pustych pozatym execow)
kenobi
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 07.11.11 18:58 Sławomir Szczyrba
- 08.11.11 02:08 Michoo
- 08.11.11 07:17 MoonWolf
- 08.11.11 15:10
- 08.11.11 15:20 Jacek
- 09.11.11 08:28
- 09.11.11 08:32 Sławomir Szczyrba
- 09.11.11 13:29
- 09.11.11 13:38
- 09.11.11 18:27
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=