eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingbędę disasemblowałRe: będę disasemblował
  • 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/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: