Reversing

ASPack UnPack

ASPackのUnpackは大きく2つの方法に分かれる。(他にもあるかもしれない。) 1。retn 0c 命令を見つけてその下にあるPUSH ~~~部分のアドレスがOEPになる。 2。pushad をtraceした後全てのRegisterがStackに入った後、ESPの値にHardware BreakPointをセッ…

VB function description for reversing

偶然見つけたサイト。 VB Fileを分析する時結構助かる。 Note:VB function description for reversing | hvoid code

PE FORMAT] -5- Section Header

参考: docs.microsoft.com PE FILEを多数のSECTION構造にした時得られる利点→安定性 typedef struct _IMAGE_SECTION_HEADER { BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; union { DWORD PhysicalAddress; DWORD VirtualSize; } Misc; DWORD VirtualAddress; DWOR…

PE FORMAT] -4- NT Header (DOS Sign, IMAGE_FILE_HEADER, IMAGE_OPTIONAL_HEADER)

参考: docs.microsoft.com NT Headerの構造体はIMAGE_NT_HEADERS. typedef struct _IMAGE_NT_HEADERS { DWORD Signature; // PE sign (50 45 00 00) IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HEADERS32, *PIMAGE…

PE FORMAT] -3- DOS Stub

DOS Headerの下にはDOS Stubが存在する。 DOS StubはCompileするときにoptionで入れるかどうかが選択できる。 notepad.exeのDOS Stub もしプログラムがDOS環境で実行された時、This program cannot be run in DOS modeを出力してそのまま終了させる部分であ…

PE FORMAT] -2- DOS MZ HEADER

PE HEADERは最初にDOS EXE Headerを拡張させたIMAGE_DOS_HEADER構造体が存在。 typedef struct _IMAGE_DOS_HEADER { WORD e_magic; . . . WORD e_lfanew; } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; *structure size: 40 IMAGE_DOS_HEADER (notepad.exe) <必…

PE FORMAT] -1- 基本構造

[ VA & RVA ] - VA (Virtual Address) : プロセス仮想メモリーの絶対アドレス - RVA (Relative Virtual Address) : プロセス仮想メモリーの相対アドレス ** VA = RVA + ImageBase FILEでのアドレスは offset MEMORYでのアドレスは VA https://resources.info…

Reversing] General Purpose Register

EAX, EBX, ECX, EDX ;主に算数演算(ADD,SUB,XOR,OR)の命令語で変数の保存用として使われる。 ESP ;Stack Pointer(スタックメモリーのaddressを示す。) EBP ;関数が呼び出された瞬間のESPを保存し、関数がReturnする直前にまたESPに値を返してスタックが潰さ…

Reversing] 関数が始まる部分

関数の始まり PUSH EBP MOV EBP, ESP ; EBPにこの関数が始まる前のスタックを保存。

reversing tutorial website

http://www.tuts4you.com/