PDA

View Full Version : Parere su Disassembler


Luc@s
14-07-2004, 11:29
Com'è questo disassembler???

end.is.forever
14-07-2004, 12:17
E' il migliore in circolazione, vai tranquillo :)

Luc@s
14-07-2004, 12:21
azz è pieno di opzioni!!!!
fa paura :D

end.is.forever
14-07-2004, 12:25
Si, gli dai un binario, lui si mette li e macina.
Intanto tu lo puoi browsare e modificare quanto vuoi.
Man mano che macina capisce che cosa fa ogni pezzo di codice e ti mette dei commenti di lato.
Poi ci puoi pure interagire dandogli consigli su quali pezzi analizzare meglio o su cosa significa per te una particolare cosa.

Io di tutto questo non ne so niente, l'ho solo usato come disasm normale, ma per quel poco che ho visto è spaventoso!

Luc@s
14-07-2004, 12:25
.idata:004060C0 ;
.idata:004060C0 ; Imports from KERNEL32.dll
.idata:004060C0 ;
.idata:004060C0 ; Section 5. (virtual address 00006000)
.idata:004060C0 ; Virtual size : 00000358 ( 856.)
.idata:004060C0 ; Section size in file : 00000400 ( 1024.)
.idata:004060C0 ; Offset to raw data for section: 00002600
.idata:004060C0 ; Flags C0000040: Data Readable Writable
.idata:004060C0 ; Alignment : 16 bytes ?
.idata:004060C0 ; ---------------------------------------------------------------------------
.idata:004060C0
.idata:004060C0 ; _idata
.idata:004060C0 ; ATOM __stdcall __imp_AddAtomA(LPCSTR lpString)
.idata:004060C0 extrn __imp_AddAtomA:dword ; DATA XREF: AddAtomAr
.idata:004060C4 ; HANDLE __stdcall __imp_CreateMutexA(LPSECURITY_ATTRIBUTES lpMutexAttributes,BOOL bInitialOwner,LPCSTR lpName)
.idata:004060C4 extrn __imp_CreateMutexA:dword ; DATA XREF: CreateMutexAr
.idata:004060C8 ; void __stdcall __imp_ExitProcess(UINT uExitCode)
.idata:004060C8 extrn __imp_ExitProcess:dword ; DATA XREF: ExitProcessr
.idata:004060CC ; ATOM __stdcall __imp_FindAtomA(LPCSTR lpString)
.idata:004060CC extrn __imp_FindAtomA:dword ; DATA XREF: FindAtomAr
.idata:004060D0 ; UINT __stdcall __imp_GetAtomNameA(ATOM nAtom,LPSTR lpBuffer,int nSize)
.idata:004060D0 extrn __imp_GetAtomNameA:dword ; DATA XREF: GetAtomNameAr
.idata:004060D4 ; LONG __stdcall __imp_InterlockedIncrement(LPLONG lpAddend)
.idata:004060D4 extrn __imp_InterlockedIncrement:dword
.idata:004060D4 ; DATA XREF: InterlockedIncrementr
.idata:004060D8 ; BOOL __stdcall __imp_ReleaseMutex(HANDLE hMutex)
.idata:004060D8 extrn __imp_ReleaseMutex:dword ; DATA XREF: ReleaseMutexr
.idata:004060DC ; LPTOP_LEVEL_EXCEPTION_FILTER __stdcall __imp_SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter)
.idata:004060DC extrn __imp_SetUnhandledExceptionFilter:dword
.idata:004060DC ; DATA XREF: SetUnhandledExceptionFilterr
.idata:004060E0 ; void __stdcall __imp_Sleep(DWORD dwMilliseconds)
.idata:004060E0 extrn __imp_Sleep:dword ; DATA XREF: Sleepr
.idata:004060E4 ; DWORD __stdcall __imp_WaitForSingleObject(HANDLE hHandle,DWORD dwMilliseconds)
.idata:004060E4 extrn __imp_WaitForSingleObject:dword
.idata:004060E4 ; DATA XREF: WaitForSingleObjectr
.idata:004060E8
.idata:004060EC
.idata:004060F0 ;
.idata:004060F0 ; Imports from msvcrt.dll
.idata:004060F0 ;
.idata:004060F0 extrn __imp___getmainargs:dword ; DATA XREF: __getmainargsr
.idata:004060F4 extrn __imp___p__environ:dword ; DATA XREF: __p__environr
.idata:004060F8 extrn __imp___p__fmode:dword ; DATA XREF: __p__fmoder
.idata:004060FC extrn __set_app_type:dword ; DATA XREF: start+8r
.idata:004060FC ; .text:00401028r ...
.idata:00406100 extrn __imp__cexit:dword ; DATA XREF: _cexitr
.idata:00406104 extrn __imp__fileno:dword ; DATA XREF: _filenor
.idata:00406108 extrn _iob:dword ; DATA XREF: sub_0_401080+4Dr
.idata:00406108 ; sub_0_401080+70r ...
.idata:0040610C ; _onexit_t __cdecl onexit(_onexit_t)
.idata:0040610C extrn _onexit:dword ; DATA XREF: .text:0040106Ar
.idata:00406110 extrn __imp__setmode:dword ; DATA XREF: _setmoder
.idata:00406114 extrn __imp_abort:dword ; DATA XREF: abortr
.idata:00406118 extrn atexit:dword ; DATA XREF: sub_0_401040+Ar
.idata:0040611C extrn __imp_free:dword ; DATA XREF: freer
.idata:00406120 extrn __imp_malloc:dword ; DATA XREF: mallocr
.idata:00406124 extrn __imp_memset:dword ; DATA XREF: memsetr
.idata:00406128 extrn __imp_printf:dword ; DATA XREF: printfr
.idata:0040612C extrn __imp_signal:dword ; DATA XREF: signalr
.idata:00406130 extrn __imp_strlen:dword ; DATA XREF: strlenr
.idata:00406134 extrn __imp_strtoul:dword ; DATA XREF: strtoulr
.idata:00406138
.idata:00406138
.idata:00406138



Ma perche tutti i prog hanno tutta sta roba importata?

end.is.forever
14-07-2004, 12:27
Quelle sono le funzioni che importa da kernel32
E' una sezione degli eseguibili in cui vengono definiti tutte le funzioni importate da dll, in questo caso dll delle api di windows

Luc@s
14-07-2004, 12:28
Originariamente inviato da end.is.forever

Io di tutto questo non ne so niente, l'ho solo usato come disasm normale, ma per quel poco che ho visto è spaventoso!

Fa paura!
Hai il controllo totale del cod.puoi modificarlo sul momento, riconosce un asacco di Asm diversi, ti mette i commenti, sintassi colorata
:eek:

Luc@s
14-07-2004, 12:29
Originariamente inviato da end.is.forever
Quelle sono le funzioni che importa da kernel32
E' una sezione degli eseguibili in cui vengono definiti tutte le funzioni importate da dll, in questo caso dll delle api di windows

Azz...chissa un eseguibile di linux
:eek:

Luc@s
14-07-2004, 19:17
dove trovo un tutorial per usare sto disass?