Slide 44
Slide 44 text
逆コンパイル結果をもとに
ソースコードを見ながら動作と突き合わせて仕組みを解析する
逆アセンブルリストをもとに、機械語命令を変更することができる
0040105a 89 45 f4 MOV dword ptr [EBP + local_10],EAX
0040105d 89 55 f8 MOV dword ptr [EBP + local_c],EDX
00401060 8d 45 f4 LEA EAX=>local_10,[EBP + -0xc]
00401063 50 PUSH EAX
00401064 e8 97 ff CALL localtime tm * localtime(time_t * _Time)
ff ff
00401069 83 c4 04 ADD ESP,0x4
0040106c 89 45 f0 MOV dword ptr [EBP + local_14],EAX
0040106f 8b 4d f0 MOV ECX,dword ptr [EBP + local_14]
00401072 8b 51 14 MOV EDX,dword ptr [ECX + 0x14]
00401075 81 c2 6c ADD EDX,0x76c
07 00 00
0040107b 89 55 ec MOV dword ptr [EBP + local_18],EDX
0040107e 81 7d ec CMP dword ptr [EBP + local_18],0x7e7
e7 07 00 00
00401085 7e 07 JLE LAB_0040108e
00401087 b8 01 00 MOV EAX,0x1
00 00
0040108c eb 02 JMP LAB_00401090
LAB_0040108e XREF[1]: 00401085(j)
0040108e 33 c0 XOR EAX,EAX
LAB_00401090 XREF[1]: 0040108c(j)
00401090 8b 4d fc MOV ECX,dword ptr [EBP + local_8]
00401093 33 cd XOR ECX,EBP
EAX:関数の戻り値を入れるレジスタ