另外 奉献一些文字处理函数
PUSH 受地址
PUSH 尾地址
CALL
004D2770 55 PUSH EBP ; 字符获取数字
004D2771 8BEC MOV EBP,ESP
004D2773 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C] ; 起始地址
004D2776 33C0 XOR EAX,EAX
004D2778 3B4D 08 CMP ECX,DWORD PTR SS:[EBP+8] ; 结束地址
004D277B 73 1A JNB SHORT Ekd5.004D2797
004D277D 8A11 MOV DL,BYTE PTR DS:[ECX]
004D277F 41 INC ECX
004D2780 80FA 30 CMP DL,30
004D2783 72 12 JB SHORT Ekd5.004D2797
004D2785 80FA 39 CMP DL,39
004D2788 77 0D JA SHORT Ekd5.004D2797
004D278A 80EA 30 SUB DL,30
004D278D 6BC0 0A IMUL EAX,EAX,0A
004D2790 0FB6D2 MOVZX EDX,DL
004D2793 03C2 ADD EAX,EDX
004D2795 ^ EB E1 JMP SHORT Ekd5.004D2778
004D2797 8BE5 MOV ESP,EBP
004D2799 5D POP EBP
004D279A C2 0800 RETN 8
下面这个没注解的是数据复制
PUSH 复制地址
PUSH 被复制地址
PUSH 大小
CALL
004D27A0 55 PUSH EBP
004D27A1 8BEC MOV EBP,ESP
004D27A3 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
004D27A6 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
004D27A9 837D 08 00 CMP DWORD PTR SS:[EBP+8],0
004D27AD 76 0B JBE SHORT Ekd5.004D27BA
004D27AF FF4D 08 DEC DWORD PTR SS:[EBP+8]
004D27B2 8A10 MOV DL,BYTE PTR DS:[EAX]
004D27B4 8811 MOV BYTE PTR DS:[ECX],DL
004D27B6 40 INC EAX
004D27B7 41 INC ECX
004D27B8 ^ EB EF JMP SHORT Ekd5.004D27A9
004D27BA 8BE5 MOV ESP,EBP
004D27BC 5D POP EBP
004D27BD C2 0C00 RETN 0C
这个用于搜索关键字
PUSH 搜索地址
PUSH 关键字 (不太记得了 好像字串是地址 其它的是本身)
PUSH 类型 BYTE WORD 等
004D3690 55 PUSH EBP ; 查找指针
004D3691 8BEC MOV EBP,ESP
004D3693 56 PUSH ESI
004D3694 57 PUSH EDI
004D3695 53 PUSH EBX
004D3696 8B5D 08 MOV EBX,DWORD PTR SS:[EBP+8] ; 分支
004D3699 33FF XOR EDI,EDI
004D369B 33F6 XOR ESI,ESI
004D369D 8B4D 10 MOV ECX,DWORD PTR SS:[EBP+10] ; 地址
004D36A0 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C] ; 内容
004D36A3 81FF 00080000 CMP EDI,800
004D36A9 73 59 JNB SHORT Ekd5.004D3704
004D36AB 8139 02000500 CMP DWORD PTR DS:[ECX],50002 ; 2指令开始
004D36B1 75 05 JNZ SHORT Ekd5.004D36B8
004D36B3 85F6 TEST ESI,ESI
004D36B5 75 4D JNZ SHORT Ekd5.004D3704 ; 次数>1
004D36B7 46 INC ESI
004D36B8 8139 72000400 CMP DWORD PTR DS:[ECX],40072 ; 72指令开始
004D36BE 74 44 JE SHORT Ekd5.004D3704
004D36C0 47 INC EDI
004D36C1 FF249D 0F374D00 JMP DWORD PTR DS:[EBX*4+4D370F]
004D36C8 3A11 CMP DL,BYTE PTR DS:[ECX] ; BYTE
004D36CA 74 31 JE SHORT Ekd5.004D36FD
004D36CC EB 2C JMP SHORT Ekd5.004D36FA
004D36CE 66:3B11 CMP DX,WORD PTR DS:[ECX] ; WORD
004D36D1 74 2A JE SHORT Ekd5.004D36FD
004D36D3 EB 25 JMP SHORT Ekd5.004D36FA
004D36D5 3B11 CMP EDX,DWORD PTR DS:[ECX] ; DWORD
004D36D7 74 24 JE SHORT Ekd5.004D36FD
004D36D9 EB 1F JMP SHORT Ekd5.004D36FA
004D36DB 8B02 MOV EAX,DWORD PTR DS:[EDX] ; QWORD
004D36DD 3B01 CMP EAX,DWORD PTR DS:[ECX]
004D36DF 75 08 JNZ SHORT Ekd5.004D36E9
004D36E1 8B42 04 MOV EAX,DWORD PTR DS:[EDX+4]
004D36E4 3B41 04 CMP EAX,DWORD PTR DS:[ECX+4]
004D36E7 74 14 JE SHORT Ekd5.004D36FD
004D36E9 EB 0F JMP SHORT Ekd5.004D36FA
004D36EB 52 PUSH EDX ; STRING
004D36EC 51 PUSH ECX
004D36ED 52 PUSH EDX
004D36EE 51 PUSH ECX
004D36EF E8 DC020000 CALL Ekd5.004D39D0
004D36F4 85C0 TEST EAX,EAX
004D36F6 75 05 JNZ SHORT Ekd5.004D36FD
004D36F8 59 POP ECX
004D36F9 5A POP EDX
004D36FA 41 INC ECX
004D36FB ^ EB A6 JMP SHORT Ekd5.004D36A3
004D36FD 8BC1 MOV EAX,ECX
004D36FF 33D2 XOR EDX,EDX
004D3701 42 INC EDX
004D3702 EB 02 JMP SHORT Ekd5.004D3706
004D3704 33D2 XOR EDX,EDX
004D3706 5B POP EBX
004D3707 5F POP EDI
004D3708 5E POP ESI
004D3709 8BE5 MOV ESP,EBP
004D370B 5D POP EBP
004D370C C2 0C00 RETN 0C
004D370F C8 36 4D 00 CE 36 4D 00 D5 36 4D 00 DB 36 4D 00 ?M.?M.?M.?M.
004D371F EB 36 4D 00 ?M.烫
004D39D0 55 PUSH EBP ; 比较字串
004D39D1 8BEC MOV EBP,ESP
004D39D3 53 PUSH EBX
004D39D4 56 PUSH ESI
004D39D5 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C] ; 被比较
004D39D8 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8] ; 比较
004D39DB 33DB XOR EBX,EBX
004D39DD 33F6 XOR ESI,ESI
004D39DF 46 INC ESI
004D39E0 8B01 MOV EAX,DWORD PTR DS:[ECX]
004D39E2 3C 00 CMP AL,0
004D39E4 74 19 JE SHORT Ekd5.004D39FF
004D39E6 3C 0A CMP AL,0A
004D39E8 76 15 JBE SHORT Ekd5.004D39FF
004D39EA 3C 20 CMP AL,20
004D39EC 74 11 JE SHORT Ekd5.004D39FF
004D39EE 66:3D FFFF CMP AX,0FFFF
004D39F2 74 0B JE SHORT Ekd5.004D39FF
004D39F4 3A02 CMP AL,BYTE PTR DS:[EDX]
004D39F6 74 02 JE SHORT Ekd5.004D39FA
004D39F8 33F6 XOR ESI,ESI ; 不等
004D39FA 41 INC ECX
004D39FB 42 INC EDX
004D39FC 43 INC EBX
004D39FD ^ EB E1 JMP SHORT Ekd5.004D39E0
004D39FF 8BC6 MOV EAX,ESI
004D3A01 8BCB MOV ECX,EBX ; 长度
004D3A03 5E POP ESI
004D3A04 5B POP EBX
004D3A05 8BE5 MOV ESP,EBP
004D3A07 5D POP EBP
004D3A08 C2 0800 RETN 8
[ 本帖最后由 砖家叫兽 于 2012-2-21 23:48 编辑 ]
|