0040A1FF 3D 3BFCC4A8 CMP EAX,A8C4FC3B
0040A204 75 11 JNZ SHORT 1msgbox.0040A217
//
强制不跳
0040A206 FE87 46344000 INC BYTE PTR DS:[EDI+403446]
//
然后在DS:[EDI+403446]上下硬件读中断
F9继续,中断
0040A14F 80BD 46344000 00 CMP BYTE PTR SS:[EBP+403446],0
0040A156 ^ 74 D8 JE SHORT 1msgbox.0040A130
//
中断于此,看上一行,SS:[EBP+403446]正是刚才下硬件读中断的地址
0040A158 BE 00104000 MOV ESI,1msgbox.00401000
0040A15D 8BFE MOV EDI,ESI ; 1msgbox.00401000
0040A15F B9 00100000 MOV ECX,1000
0040A164 60 PUSHAD
0040A165 8D85 48344000 LEA EAX,DWORD PTR SS:[EBP+403448]
//SS
:[EBP+403448]存放的就是我们输入的PASSWORD首地址,找到联系了
//Address
=0040A27E, (ASCII
"1234"
)
0040A16B 8D9D 36384000 LEA EBX,DWORD PTR SS:[EBP+403836]
0040A171 50 PUSH EAX ; 1msgbox.0040A66C
0040A172 53 PUSH EBX ; 1msgbox.0040A56C
0040A173 E8 66030000 CALL 1msgbox.0040A4DE
//
用输入的PASSWORD填充FF个空间
0040A178 8D85 36384000 LEA EAX,DWORD PTR SS:[EBP+403836]
//Address
=0040A66C, (ASCII
//
"12341234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412341
//234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123412341234123//4
)
//EAX
=0040A27E (1msgbox.0040A27E), ASCII
"1234"
0040A17E 8D9D 36374000 LEA EBX,DWORD PTR SS:[EBP+403736]
//Address
=0040A56C
0040A184 50 PUSH EAX ; 1msgbox.0040A66C
0040A185 53 PUSH EBX ; 1msgbox.0040A56C
0040A186 E8 1B030000 CALL 1msgbox.0040A4A6
//RC4
初始化
0040A18B E8 69030000 CALL 1msgbox.0040A4F9
0040A190 61 POPAD
0040A191 33C0 XOR EAX,EAX ; 1msgbox.0040A66C
//
下面开始还原原程序(昨晚其实就是找到了这里,我自己没再往上看)
0040A193 AC LODS BYTE PTR DS:[ESI]
0040A194 8D9D 36374000 LEA EBX,DWORD PTR SS:[EBP+403736]
0040A19A 53 PUSH EBX ; 1msgbox.0040A56C
0040A19B 50 PUSH EAX ; 1msgbox.0040A66C
0040A19C E8 B5030000 CALL 1msgbox.0040A556
0040A1A1 AA STOS BYTE PTR ES:[EDI]
0040A1A2 ^ E2 EF LOOPD SHORT 1msgbox.0040A193
0040A1A4 33DB XOR EBX,EBX ; 1msgbox.0040A56C
0040A1A6 64:8F03 POP DWORD PTR FS:[EBX] ; 1msgbox.00401000
0040A1A9 58 POP EAX ; 1msgbox.00401000
0040A1AA BB 50130000 MOV EBX,1350
0040A1AF 81C3 00004000 ADD EBX,1msgbox.00400000
0040A1B5 53 PUSH EBX ; 1msgbox.0040A56C
0040A1B6 C3 RETN