VC7开发,XP,2003下测试正常运行。
效果截图:搜索三十多个call,偏移,地址数据,瞬间出来。
1.0和1.1的版本,最先在广海和VB梦工厂发布了。
相对于1.1,更新了搜索不到的结果显示为0,保存和加载文件路径改为上次使用的路径。
00502A31 A1 8CB05600 MOV EAX,DWORD PTR DS:[56B08C]
00502A36 8338 00 CMP DWORD PTR DS:[EAX],0
00502A39 74 0D JE SHORT mir3.00502A48
00502A3B A1 8CB05600 MOV EAX,DWORD PTR DS:[56B08C]《——基址:56B08C
00502A40 8B00 MOV EAX,DWORD PTR DS:[EAX]
00502A42 8078 1A 02 CMP BYTE PTR DS:[EAX+1A],2
00502A46 74 04 JE SHORT mir3.00502A4C
00502A48 33C0 XOR EAX,EAX
00502A4A EB 02 JMP SHORT mir3.00502A4E
00502A4C B0 01 MOV AL,1
00502A4E 8801 MOV BYTE PTR DS:[ECX],AL
00502A50 C3 RETN
00502A51 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
00502A54 E8 4F010000 CALL mir3.00502BA8
00502A59 C3 RETN
00502A5A 8BC0 MOV EAX,EAX
00502A5C 55 PUSH EBP 《————特征码选取
00502A5D 8BEC MOV EBP,ESP
00502A5F 6A 00 PUSH 0
00502A61 6A 00 PUSH 0
00502A63 53 PUSH EBX
00502A64 56 PUSH ESI
00502A65 8BF1 MOV ESI,ECX
00502A67 8BDA MOV EBX,EDX
00502A69 33C0 XOR EAX,EAX
00502A6B 55 PUSH EBP
00502A6C 68 D12A5000 PUSH mir3.00502AD1
00502A71 64:FF30 PUSH DWORD PTR FS:[EAX]
偏移类:基址
特征码为:55 8B EC 6A 00 6A 00 53 56 8B F1 8B DA 33 C0 55
特征码与数据距离:00502A5C – (00502A3B+1) = 20
特征码向上找数据,方向为:向上
数据长度:4字节
0050B731 8D40 00 LEA EAX,DWORD PTR DS:[EAX] 《——特征码选取
0050B734 55 PUSH EBP
0050B735 8BEC MOV EBP,ESP
0050B737 83C4 D8 ADD ESP,-28
0050B73A 53 PUSH EBX
0050B73B 56 PUSH ESI
0050B73C 57 PUSH EDI
0050B73D 33C9 XOR ECX,ECX
0050B73F 894D DC MOV DWORD PTR SS:[EBP-24],ECX
0050B742 894D D8 MOV DWORD PTR SS:[EBP-28],ECX
0050B745 894D FC MOV DWORD PTR SS:[EBP-4],ECX
0050B748 8BDA MOV EBX,EDX
0050B74A 33C0 XOR EAX,EAX
0050B74C 55 PUSH EBP
0050B74D 68 AFBA5000 PUSH mir3.0050BAAF
0050B752 64:FF30 PUSH DWORD PTR FS:[EAX]
0050B755 64:8920 MOV DWORD PTR FS:[EAX],ESP
0050B758 8BC3 MOV EAX,EBX
0050B75A E8 C17B0400 CALL mir3.00553320
0050B75F 84C0 TEST AL,AL
0050B761 0F85 25030000 JNZ mir3.0050BA8C《——地址:0050B761
0050B767 0FB743 5D MOVZX EAX,WORD PTR DS:[EBX+5D]
0050B76B 66:85C0 TEST AX,AX
0050B76E 76 1B JBE SHORT mir3.0050B78B
0050B770 0FB753 59 MOVZX EDX,WORD PTR DS:[EBX+59]《——当前血偏移59
0050B774 8955 E4 MOV DWORD PTR SS:[EBP-1C],EDX
0050B777 DB45 E4 FILD DWORD PTR SS:[EBP-1C]
0050B77A 0FB7C0 MOVZX EAX,AX
偏移类:当前血偏移
特征码为:8D 40 00 55 8B EC 83 C4 D8 53 56 57 33 C9 89 4D DC 89 4D D8 89 4D FC 8B DA 33 C0 55
特征码与数据距离:(0050B770+3) – 0050B731= 42
特征码向下找数据,方向为:向下
数据长度:1字节
地址类:测试数据(假设飞天穿墙等的某个关键跳转地址)
特征码为:8D 40 00 55 8B EC 83 C4 D8 53 56 57 33 C9 89 4D DC 89 4D D8 89 4D FC 8B DA 33 C0 55
特征码与数据距离:0050B761 – 0050B731= 30
特征码向下找数据,方向为:向下
数据长度:4字节
0050702E 5F POP EDI
0050702F 5E POP ESI
00507030 5B POP EBX
00507031 8BE5 MOV ESP,EBP
00507033 5D POP EBP
00507034 C3 RETN
00507035 0000 ADD BYTE PTR DS:[EAX],AL
00507037 00FF ADD BH,BH
00507039 FFFF ??? ; 未知命令
0050703B FF05 00000025 INC DWORD PTR DS:[25000000]
00507041 64:3A25 6400000>CMP AH,BYTE PTR FS:[64]
00507048 55 PUSH EBP
00507049 8BEC MOV EBP,ESP
0050704B 33D2 XOR EDX,EDX
0050704D E8 36FAFFFF CALL mir3.00506A88
00507052 5D POP EBP
00507053 C2 0400 RETN 4
00507056 8BC0 MOV EAX,EAX //特征码选取
00507058 55 PUSH EBP
00507059 8BEC MOV EBP,ESP
0050705B 83C4 F8 ADD ESP,-8
0050705E 53 PUSH EBX
0050705F 8BD8 MOV EBX,EAX
00507061 E8 BE07F0FF CALL mir3.00407824 ; JMP 到 kernel32.GetTickCount
00507066 2B83 18010000 SUB EAX,DWORD PTR DS:[EBX+118]
0050706C 3D E8030000 CMP EAX,3E8
00507071 76 42 JBE SHORT mir3.005070B5
00507073 E8 AC07F0FF CALL mir3.00407824 ; JMP 到 kernel32.GetTickCount
00507078 8983 18010000 MOV DWORD PTR DS:[EBX+118],EAX
0050707E 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
00507081 50 PUSH EAX
00507082 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
00507085 50 PUSH EAX
00507086 8B0D E0AF5600 MOV ECX,DWORD PTR DS:[56AFE0] ; mir3.005886D4
0050708C 8B09 MOV ECX,DWORD PTR DS:[ECX]
0050708E 8B15 70B05600 MOV EDX,DWORD PTR DS:[56B070] ; mir3.005886D0
00507094 8B12 MOV EDX,DWORD PTR DS:[EDX]
00507096 8BC3 MOV EAX,EBX
00507098 E8 17F6FFFF CALL mir3.005066B4
0050709D 84C0 TEST AL,AL
0050709F 74 14 JE SHORT mir3.005070B5
005070A1 6A 00 PUSH 0
005070A3 A1 98B55600 MOV EAX,DWORD PTR DS:[56B598] 《———寻路MOV:56B598
005070A8 8B00 MOV EAX,DWORD PTR DS:[EAX]
005070AA 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
005070AD 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
005070B0 E8 B74EFFFF CALL mir3.004FBF6C 《————寻路CALL :4FBF6C
注释:
call是一种跳转指令。call的目标地址,汇编代码里面是相对偏移,不能直接看到。
实际上004FBF6C - 005070B0 -5 = FFFF4EB7,高位在前低位在后,就是显示的B74EFFFF
偏移类:寻路MOV
特征码为:8BC0558BEC83C4F8538BD8,
特征码与数据距离:(005070A3+1) - 00507056 = 4E
特征码往下找数据,方向为:向下
数据长度:4字节
CALL类:寻路CALL
特征码为:8BC0558BEC83C4F8538BD8,
特征码与数据距离:(005070B0+1) - 00507056 = 5B
特征码往下找数据,方向为:向下
数据长度:4字节