2009-7-30 19:27
godtype
第三部分 1024 DATA 扩展
原帖:[url=http://www.xycq.net/forum/thread-66698-1-1.html]东方教主的《EXE补充研究及修改》[/url]
以下是整理后的详细修改内容:
一、1024DATA扩展
先用UE/WINHEX的查找并替换功能,将所有68 1B 4A 00都改成00 00 D6 00
接着是使用OB修改以下内容(没有特别注明的都是修改后的内容):
00481891 . E8 64FDFFFF CALL 004815FA
004815FA $ 50 PUSH EAX
004815FB . 53 PUSH EBX
004815FC .^EB 85 JMP SHORT 00481583
00481583 > 51 PUSH ECX
00481584 . 52 PUSH EDX
00481585 . 6A 04 PUSH 4
00481587 . 68 00100000 PUSH 1000
0048158C . EB 70 JMP SHORT 004815FE
004815FE > EB 42 JMP SHORT 00481642
00481642 > 68 00000200 PUSH 20000
00481647 . 68 0000D600 PUSH 0D60000
0048164C . EB 14 JMP SHORT 00481662
00481662 > FF15 E8614800 CALL DWORD PTR DS:[<&KERNEL32.VirtualAll>; \VirtualAlloc
00481668 . 5A POP EDX
00481669 . 59 POP ECX
0048166A . 5B POP EBX
0048166B . 58 POP EAX
0048166C .^EB 92 JMP SHORT 00481600
0041AEBD . 68 DCA80000 PUSH 0A8DC
0040BFF9 |. 05 9A030000 ADD EAX,39A
00434F8A |. C745 F0 282CD600 MOV DWORD PTR SS:[EBP-10],0D62C28
00434F91 |. C745 F8 0000D600 MOV DWORD PTR SS:[EBP-8],0D60000
00434F98 |. C745 FC 0009D600 MOV DWORD PTR SS:[EBP-4],0D60900
以下所有“,0AE”或“,200”都改成“,400”
0040BFEB |. 817D 0C AE000000 CMP DWORD PTR SS:[EBP+C],0AE
00417591 |. 81FA 00020000 CMP EDX,200
004175A1 |. 3D 00020000 CMP EAX,200
004186D9 |> 817D E8 00020000 CMP DWORD PTR SS:[EBP-18],200
0041B6A2 |> 817D F8 00020000 CMP DWORD PTR SS:[EBP-8],200
0042CB7F |. 817D 0C 00020000 CMP DWORD PTR SS:[EBP+C],200
0042D603 |. 817D 0C 00020000 CMP DWORD PTR SS:[EBP+C],200
0042D65A |. 817D 0C 00020000 CMP DWORD PTR SS:[EBP+C],200
0042D6C8 |> 817D 0C 00020000 CMP DWORD PTR SS:[EBP+C],200
004428B8 |. 813A AE000000 CMP DWORD PTR DS:[EDX],0AE
0045743F |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
004577D8 |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
00466D7F |> 817D F8 AE000000 CMP DWORD PTR SS:[EBP-8],0AE
00469DD4 |> 817D D4 AE000000 CMP DWORD PTR SS:[EBP-2C],0AE
004786E8 |. 813C85 F06C4B00 0> CMP DWORD PTR DS:[EAX*4+4B6CF0],200
00479372 |. 813C8D F06C4B00 0> CMP DWORD PTR DS:[ECX*4+4B6CF0],200
00406763 |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
0040840E |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
0040BE63 |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
0040C299 |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
004113D8 |. 3D 00020000 CMP EAX,200
00411BDD |. 81FA 00020000 CMP EDX,200
00411D03 |. 81FA 00020000 CMP EDX,200
004120F5 |. 3D 00020000 CMP EAX,200
00412EE6 |. 81F9 00020000 CMP ECX,200
00414DAB |. 81F9 00020000 CMP ECX,200
00416429 |. 81F9 00020000 CMP ECX,200
00416E67 |. 81FA 00020000 CMP EDX,200
004171C4 |. 3D 00020000 CMP EAX,200
00417280 |. 3D 00020000 CMP EAX,200
004172EC |. 81F9 00020000 CMP ECX,200
004174FB |. 81FA 00020000 CMP EDX,200
0041750B |. 3D 00020000 CMP EAX,200
0041AFFB |> 81BD D8FEFFFF 000> CMP DWORD PTR SS:[EBP-128],200
0041B38D |> 81BD D8FEFFFF 000> CMP DWORD PTR SS:[EBP-128],200
0041EED6 |> 817D FC 00020000 CMP DWORD PTR SS:[EBP-4],200
0042B0CB |. 68 00020000 PUSH 200
0042B0F8 |. 68 00020000 PUSH 200
004575B7 |> 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
004591B5 |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
00459965 |. 817D 14 00020000 CMP DWORD PTR SS:[EBP+14],200
0045AA65 |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
0047972B |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
00479A15 |. 813D 04754B00 000> CMP DWORD PTR DS:[4B7504],200
00479AD9 |. 817D 08 00020000 CMP DWORD PTR SS:[EBP+8],200
0040A7C7 |. 81C2 AE000000 ADD EDX,0AE
0040A921 |. 68 AE000000 PUSH 0AE
00438BA7 |. 817D F8 AE000000 CMP DWORD PTR SS:[EBP-8],0AE
0043A21E |. 8138 AE000000 CMP DWORD PTR DS:[EAX],0AE
004676A6 |> 817D F4 AE000000 CMP DWORD PTR SS:[EBP-C],0AE
004768F6 |> 817D F8 AE000000 CMP DWORD PTR SS:[EBP-8],0AE
004784AD |. 81BD 30FFFFFF AE0> CMP DWORD PTR SS:[EBP-D0],0AE
0047A7F8 |. 3D AE000000 CMP EAX,0AE
二、目前的1024DATA通常都附带了战场名称和商店的扩展,所以以下是有关的扩展
1、商店127个
以下4AEB68都改成0D72000,3A都改成7F
004197EB |. 81C1 68EB4A00 ADD ECX,004AEB68
00419878 |. 81C1 68EB4A00 ADD ECX,004AEB68
00419905 |. 81C1 68EB4A00 ADD ECX,004AEB68
0041B83B |. 81C1 68EB4A00 ADD ECX,004AEB68
00466B7C |. 81C1 68EB4A00 ADD ECX,004AEB68
00466CD0 |. 81C1 68EB4A00 ADD ECX,004AEB68
004684A9 |. 81C1 68EB4A00 ADD ECX,004AEB68
0046857F |. 81C1 68EB4A00 ADD ECX,004AEB68
0046860E |. 81C1 68EB4A00 ADD ECX,004AEB68
0046B13A |. 81C1 68EB4A00 ADD ECX,004AEB68
0046B26C |. 81C1 68EB4A00 ADD ECX,004AEB68
0046DC43 |. 81C1 68EB4A00 ADD ECX,004AEB68
0041B82B |> 837D F8 3A CMP DWORD PTR SS:[EBP-8],3A
0042B27F |. 6A 3A PUSH 3A
0042B283 |. 68 68EB4A00 PUSH 004AEB68
0042B2A9 |. 6A 3A PUSH 3A
0042B2AD |. 68 68EB4A00 PUSH 004AEB68
2、战场名称99个
将3A都改成63
0040BFA7 |. 837D 0C 3A CMP DWORD PTR SS:[EBP+C],3A
00449E6B |. 83F9 3A CMP ECX,3A
00449D06 83F8 3A CMP EAX,3A
2009-7-30 19:28
godtype
第四部分 五围突破255限制
内容较多,可能有个别地方有误,没有再详细对照
00406D87 /$ 55 PUSH EBP
00406D88 |. 8BEC MOV EBP,ESP
00406D8A |. 83EC 08 SUB ESP,8
00406D8D |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
00406D90 |. 33C0 XOR EAX,EAX
00406D92 |. 8A45 08 MOV AL,BYTE PTR SS:[EBP+8]
00406D95 |. FF2485 C96D4000 JMP DWORD PTR DS:[EAX*4+406DC9]
00406D9C |> 66:8B4441 11 MOV AX,WORD PTR DS:[ECX+EAX*2+11]
00406DA1 |. EB 20 JMP SHORT 00406DC3
00406DA3 |> 8B41 1C MOV EAX,DWORD PTR DS:[ECX+1C]
00406DA6 |. EB 1B JMP SHORT 00406DC3
00406DA8 |> 33C0 XOR EAX,EAX
00406DAA |. 8A41 20 MOV AL,BYTE PTR DS:[ECX+20]
00406DAD |. EB 14 JMP SHORT 00406DC3
00406DAF |> 33C0 XOR EAX,EAX
00406DB1 |. 8A41 2C MOV AL,BYTE PTR DS:[ECX+2C]
00406DB4 |. EB 0D JMP SHORT 00406DC3
00406DB6 |> 8A4408 17 MOV AL,BYTE PTR DS:[EAX+ECX+17]
00406DBA |. 25 FF000000 AND EAX,0FF
00406DBF |. EB 02 JMP SHORT 00406DC3
00406DC1 |> 33C0 XOR EAX,EAX
00406DC3 |> 8BE5 MOV ESP,EBP
00406DC5 |. 5D POP EBP
00406DC6 \. C2 0400 RETN 4
00406DC9 . 9C6D4000 DD 00406D9C
00406DCD . 9C6D4000 DD 00406D9C
00406DD1 . 9C6D4000 DD 00406D9C
00406DD5 . 9C6D4000 DD 00406D9C
00406DD9 . 9C6D4000 DD 00406D9C
00406DDD . A36D4000 DD 00406DA3
00406DE1 . A86D4000 DD 00406DA8
00406DE5 . C16D4000 DD 00406DC1
00406DE9 . C16D4000 DD 00406DC1
00406DED . AF6D4000 DD 00406DAF
00406DF1 . B66D4000 DD 00406DB6
00406DF5 . B66D4000 DD 00406DB6
00406DF9 . B66D4000 DD 00406DB6
00406DFD . B66D4000 DD 00406DB6
00406E01 . B66D4000 DD 00406DB6
00406E05 . C16D4000 DD 00406DC1
00406E17 /$ 55 PUSH EBP
00406E18 |. 8BEC MOV EBP,ESP
00406E1A |. 83EC 08 SUB ESP,8
00406E1D |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
00406E20 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00406E23 |. 25 FF000000 AND EAX,0FF
00406E28 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
00406E2B |. 837D F8 0E CMP DWORD PTR SS:[EBP-8],0E
00406E2F |. 0F87 9C000000 JA 00406ED1
00406E35 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
00406E38 |. FF248D D76E4000 JMP DWORD PTR DS:[ECX*4+406ED7]
00406E3F |> 68 0F270000 PUSH 270F ; /Arg3 = 0000270F
00406E44 |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C] ; |
00406E47 |. 52 PUSH EDX ; |Arg2
00406E48 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00406E4B |. 66:8B4C48 11 MOV CX,WORD PTR DS:[EAX+ECX*2+11] ; |
00406E50 |. 51 PUSH ECX ; |Arg1
00406E51 |. E8 338C0700 CALL 0047FA89 ; \0047FA89
00406E56 |. 83C4 0C ADD ESP,0C
00406E59 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00406E5C |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
00406E5F |. 66:89444A 11 MOV WORD PTR DS:[EDX+ECX*2+11],AX
00406E64 |. EB 6B JMP SHORT 00406ED1
00406E66 |> 68 FFFF0000 PUSH 0FFFF ; /Arg3 = 0000FFFF
00406E6B |. 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C] ; |
00406E6E |. 50 PUSH EAX ; |Arg2
00406E6F |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4] ; |
00406E72 |. 8B51 1C MOV EDX,DWORD PTR DS:[ECX+1C] ; |
00406E75 |. 52 PUSH EDX ; |Arg1
00406E76 |. E8 0E8C0700 CALL 0047FA89 ; \0047FA89
00406E7B |. 83C4 0C ADD ESP,0C
00406E7E |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
00406E81 |. 8941 1C MOV DWORD PTR DS:[ECX+1C],EAX
00406E84 |. EB 4B JMP SHORT 00406ED1
00406E86 |> 68 FF000000 PUSH 0FF ; /Arg3 = 000000FF
00406E8B |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C] ; |
00406E8E |. 52 PUSH EDX ; |Arg2
00406E8F |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00406E92 |. 33C9 XOR ECX,ECX ; |
00406E94 |. 8A48 20 MOV CL,BYTE PTR DS:[EAX+20] ; |
00406E97 |. 51 PUSH ECX ; |Arg1
00406E98 |. E8 EC8B0700 CALL 0047FA89 ; \0047FA89
00406E9D |. 83C4 0C ADD ESP,0C
00406EA0 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00406EA3 |. 8842 20 MOV BYTE PTR DS:[EDX+20],AL
00406EA6 |. EB 29 JMP SHORT 00406ED1
00406EA8 |> 68 64000000 PUSH 64 ; /Arg3 = 00000064
00406EAD |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C] ; |
00406EB0 |. 52 PUSH EDX ; |Arg2
00406EB1 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00406EB4 |. 8A4C01 17 MOV CL,BYTE PTR DS:[ECX+EAX+17] ; |
00406EB8 |. 81E1 FF000000 AND ECX,0FF ; |
00406EBE |. 51 PUSH ECX ; |Arg1
00406EBF |. E8 C58B0700 CALL 0047FA89 ; \0047FA89
00406EC4 |. 83C4 0C ADD ESP,0C
00406EC7 |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
00406ECA |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
00406ECD |. 884411 17 MOV BYTE PTR DS:[ECX+EDX+17],AL
00406ED1 |> 8BE5 MOV ESP,EBP
00406ED3 |. 5D POP EBP
00406ED4 \. C2 0800 RETN 8
00406ED7 . 3F6E4000 DD 00406E3F ; Switch table used at 00406E38
00406EDB . 3F6E4000 DD 00406E3F
00406EDF . 3F6E4000 DD 00406E3F
00406EE3 . 3F6E4000 DD 00406E3F
00406EE7 . 3F6E4000 DD 00406E3F
00406EEB . 666E4000 DD 00406E66
00406EEF . 866E4000 DD 00406E86
00406EF3 . D16E4000 DD 00406ED1
00406EF7 . D16E4000 DD 00406ED1
00406EFB . D16E4000 DD 00406ED1
00406EFF . A86E4000 DD 00406EA8
00406F03 . A86E4000 DD 00406EA8
00406F07 . A86E4000 DD 00406EA8
00406F0B . A86E4000 DD 00406EA8
00406F0F . A86E4000 DD 00406EA8
00406F54 /$ 55 PUSH EBP
00406F55 |. 8BEC MOV EBP,ESP
00406F57 |. 83EC 24 SUB ESP,24
00406F5A |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
00406F5D |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00406F60 |. 25 FF000000 AND EAX,0FF
00406F65 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
00406F68 |. 837D F8 0F CMP DWORD PTR SS:[EBP-8],0F
00406F6C |. 0F87 BA000000 JA 0040702C
00406F72 |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
00406F75 |. FF248D 32704000 JMP DWORD PTR DS:[ECX*4+407032]
00406F7C |> 817D 0C 0F270000 CMP DWORD PTR SS:[EBP+C],270F
00406F83 |. 73 08 JNB SHORT 00406F8D
00406F85 |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
00406F88 |. 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
00406F8B |. EB 05 JMP SHORT 00406F92
00406F8D |> BA 0F270000 MOV EDX,270F
00406F92 |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00406F95 |. 66:895448 11 MOV WORD PTR DS:[EAX+ECX*2+11],DX
00406F9A |. E9 8D000000 JMP 0040702C
00406F9F |> 817D 0C FFFF0000 CMP DWORD PTR SS:[EBP+C],0FFFF
00406FA6 |. 73 08 JNB SHORT 00406FB0
00406FA8 |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
00406FAB |. 8955 E0 MOV DWORD PTR SS:[EBP-20],EDX
00406FAE |. EB 07 JMP SHORT 00406FB7
00406FB0 |> C745 E0 FFFF0000 MOV DWORD PTR SS:[EBP-20],0FFFF
00406FB7 |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00406FBA |. 8B4D E0 MOV ECX,DWORD PTR SS:[EBP-20]
00406FBD |. 8948 1C MOV DWORD PTR DS:[EAX+1C],ECX
00406FC0 |. EB 6A JMP SHORT 0040702C
00406FC2 |> 817D 0C FF000000 CMP DWORD PTR SS:[EBP+C],0FF
00406FC9 |. 73 08 JNB SHORT 00406FD3
00406FCB |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
00406FCE |. 8955 DC MOV DWORD PTR SS:[EBP-24],EDX
00406FD1 |. EB 07 JMP SHORT 00406FDA
00406FD3 |> C745 DC FF000000 MOV DWORD PTR SS:[EBP-24],0FF
00406FDA |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00406FDD |. 8A4D DC MOV CL,BYTE PTR SS:[EBP-24]
00406FE0 |. 8848 20 MOV BYTE PTR DS:[EAX+20],CL
00406FE3 |. EB 47 JMP SHORT 0040702C
00406FE5 |> 817D 0C 64000000 CMP DWORD PTR SS:[EBP+C],64
00406FEC |. 73 08 JNB SHORT 00406FF6
00406FEE |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
00406FF1 |. 8955 DC MOV DWORD PTR SS:[EBP-24],EDX
00406FF4 |. EB 07 JMP SHORT 00406FFD
00406FF6 |> C745 DC 64000000 MOV DWORD PTR SS:[EBP-24],64
00406FFD |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00407000 |. 8A55 DC MOV DL,BYTE PTR SS:[EBP-24]
00407003 |. 885401 17 MOV BYTE PTR DS:[ECX+EAX+17],DL
00407007 |. EB 23 JMP SHORT 0040702C
00407009 |> 817D 0C FFFF0000 CMP DWORD PTR SS:[EBP+C],0FFFF
00407010 |. 73 08 JNB SHORT 0040701A
00407012 |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
00407015 |. 8955 E0 MOV DWORD PTR SS:[EBP-20],EDX
00407018 |. EB 07 JMP SHORT 00407021
0040701A |> C745 E0 FFFF0000 MOV DWORD PTR SS:[EBP-20],0FFFF
00407021 |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00407024 |. 66:8B4D E0 MOV CX,WORD PTR SS:[EBP-20]
00407028 |. 66:8948 04 MOV WORD PTR DS:[EAX+4],CX
0040702C |> 8BE5 MOV ESP,EBP
0040702E |. 5D POP EBP
0040702F \. C2 0800 RETN 8
00407032 . 7C6F4000 DD 00406F7C ; Switch table used at 00406F75
00407036 . 7C6F4000 DD 00406F7C
0040703A . 7C6F4000 DD 00406F7C
0040703E . 7C6F4000 DD 00406F7C
00407042 . 7C6F4000 DD 00406F7C
00407046 . 9F6F4000 DD 00406F9F
0040704A . C26F4000 DD 00406FC2
0040704E . 2C704000 DD 0040702C
00407052 . 2C704000 DD 0040702C
00407056 . 2C704000 DD 0040702C
0040705A . E56F4000 DD 00406FE5
0040705E . E56F4000 DD 00406FE5
00407062 . E56F4000 DD 00406FE5
00407066 . E56F4000 DD 00406FE5
0040706A . E56F4000 DD 00406FE5
0040706E . 09704000 DD 00407009
00407126 /$ 55 PUSH EBP
00407127 |. 8BEC MOV EBP,ESP
00407129 |. 51 PUSH ECX
0040712A |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
0040712D |. 68 0F270000 PUSH 270F ; /Arg3 = 0000270F
00407132 |. 6A 00 PUSH 0 ; |/Arg1 = 00000000
00407134 |. 90 NOP ; ||
00407135 |. 90 NOP ; ||
00407136 |. E8 D30A0000 CALL 00407C0E ; |\00407C0E
0040713B |. 25 FF000000 AND EAX,0FF ; |
00407140 |. 50 PUSH EAX ; |Arg2
00407141 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00407144 |. 33C9 XOR ECX,ECX ; |
00407146 |. 66:8B48 11 MOV CX,WORD PTR DS:[EAX+11] ; |
0040714A |. 51 PUSH ECX ; |Arg1
0040714B |. E8 39890700 CALL 0047FA89 ; \0047FA89
00407150 |. 83C4 0C ADD ESP,0C
00407153 |. 8BE5 MOV ESP,EBP
00407155 |. 5D POP EBP
00407156 \. C3 RETN
00407157 /$ 55 PUSH EBP
00407158 |. 8BEC MOV EBP,ESP
0040715A |. 51 PUSH ECX
0040715B |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
0040715E |. 68 0F270000 PUSH 270F ; /Arg3 = 0000270F
00407163 |. 6A 01 PUSH 1 ; |/Arg1 = 00000001
00407165 |. 90 NOP ; ||
00407166 |. 90 NOP ; ||
00407167 |. E8 A20A0000 CALL 00407C0E ; |\00407C0E
0040716C |. 25 FF000000 AND EAX,0FF ; |
00407171 |. 50 PUSH EAX ; |Arg2
00407172 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00407175 |. 33C9 XOR ECX,ECX ; |
00407177 |. 66:8B48 13 MOV CX,WORD PTR DS:[EAX+13] ; |
0040717B |. 51 PUSH ECX ; |Arg1
0040717C |. E8 08890700 CALL 0047FA89 ; \0047FA89
00407181 |. 83C4 0C ADD ESP,0C
00407184 |. 8BE5 MOV ESP,EBP
00407186 |. 5D POP EBP
00407187 \. C3 RETN
00407188 /$ 55 PUSH EBP
00407189 |. 8BEC MOV EBP,ESP
0040718B |. 51 PUSH ECX
0040718C |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
0040718F |. 68 0F270000 PUSH 270F ; /Arg3 = 0000270F
00407194 |. 6A 02 PUSH 2 ; |/Arg1 = 00000002
00407196 |. 90 NOP ; ||
00407197 |. 90 NOP ; ||
00407198 |. E8 710A0000 CALL 00407C0E ; |\00407C0E
0040719D |. 25 FF000000 AND EAX,0FF ; |
004071A2 |. 50 PUSH EAX ; |Arg2
004071A3 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
004071A6 |. 33C9 XOR ECX,ECX ; |
004071A8 |. 66:8B48 15 MOV CX,WORD PTR DS:[EAX+15] ; |
004071AC |. 51 PUSH ECX ; |Arg1
004071AD |. E8 D7880700 CALL 0047FA89 ; \0047FA89
004071B2 |. 83C4 0C ADD ESP,0C
004071B5 |. 8BE5 MOV ESP,EBP
004071B7 |. 5D POP EBP
004071B8 \. C3 RETN
004071B9 /$ 55 PUSH EBP
004071BA |. 8BEC MOV EBP,ESP
004071BC |. 51 PUSH ECX
004071BD |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
004071C0 |. 68 0F270000 PUSH 270F ; /Arg3 = 0000270F
004071C5 |. 6A 03 PUSH 3 ; |/Arg1 = 00000003
004071C7 |. 90 NOP ; ||
004071C8 |. 90 NOP ; ||
004071C9 |. E8 400A0000 CALL 00407C0E ; |\00407C0E
004071CE |. 25 FF000000 AND EAX,0FF ; |
004071D3 |. 50 PUSH EAX ; |Arg2
004071D4 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
004071D7 |. 33C9 XOR ECX,ECX ; |
004071D9 |. 66:8B48 17 MOV CX,WORD PTR DS:[EAX+17] ; |
004071DD |. 51 PUSH ECX ; |Arg1
004071DE |. E8 A6880700 CALL 0047FA89 ; \0047FA89
004071E3 |. 83C4 0C ADD ESP,0C
004071E6 |. 8BE5 MOV ESP,EBP
004071E8 |. 5D POP EBP
004071E9 \. C3 RETN
004071EA /$ 55 PUSH EBP
004071EB |. 8BEC MOV EBP,ESP
004071ED |. 51 PUSH ECX
004071EE |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
004071F1 |. 68 0F270000 PUSH 270F ; /Arg3 = 0000270F
004071F6 |. 6A 04 PUSH 4 ; |/Arg1 = 00000004
004071F8 |. 90 NOP ; ||
004071F9 |. 90 NOP ; ||
004071FA |. E8 0F0A0000 CALL 00407C0E ; |\00407C0E
004071FF |. 25 FF000000 AND EAX,0FF ; |
00407204 |. 50 PUSH EAX ; |Arg2
00407205 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00407208 |. 33C9 XOR ECX,ECX ; |
0040720A |. 66:8B48 19 MOV CX,WORD PTR DS:[EAX+19] ; |
0040720E |. 51 PUSH ECX ; |Arg1
0040720F |. E8 75880700 CALL 0047FA89 ; \0047FA89
00407214 |. 83C4 0C ADD ESP,0C
00407217 |. 8BE5 MOV ESP,EBP
00407219 |. 5D POP EBP
0040721A \. C3 RETN
0040721B /$ 55 PUSH EBP
0040721C |. 8BEC MOV EBP,ESP
0040721E |. 51 PUSH ECX
0040721F |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
00407222 |. 68 FFFF0000 PUSH 0FFFF ; /Arg3 = 0000FFFF
00407227 |. 6A 05 PUSH 5 ; |/Arg1 = 00000005
00407229 |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4] ; ||
0040722C |. E8 DD090000 CALL 00407C0E ; |\00407C0E
00407231 |. 25 FF000000 AND EAX,0FF ; |
00407236 |. 50 PUSH EAX ; |Arg2
00407237 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
0040723A |. 8B48 1C MOV ECX,DWORD PTR DS:[EAX+1C] ; |
0040723D |. 51 PUSH ECX ; |Arg1
0040723E |. E8 46880700 CALL 0047FA89 ; \0047FA89
00407243 |. 83C4 0C ADD ESP,0C
00407246 |. 8BE5 MOV ESP,EBP
00407248 |. 5D POP EBP
00407249 \. C3 RETN
0040724A /$ 55 PUSH EBP
0040724B |. 8BEC MOV EBP,ESP
0040724D |. 51 PUSH ECX
0040724E |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
00407251 |. 68 FF000000 PUSH 0FF ; /Arg3 = 000000FF
00407256 |. 6A 06 PUSH 6 ; |/Arg1 = 00000006
00407258 |. 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4] ; ||
0040725B |. E8 AE090000 CALL 00407C0E ; |\00407C0E
00407260 |. 25 FF000000 AND EAX,0FF ; |
00407265 |. 50 PUSH EAX ; |Arg2
00407266 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00407269 |. 33C9 XOR ECX,ECX ; |
0040726B |. 8A48 20 MOV CL,BYTE PTR DS:[EAX+20] ; |
0040726E |. 51 PUSH ECX ; |Arg1
0040726F |. E8 15880700 CALL 0047FA89 ; \0047FA89
00407274 |. 83C4 0C ADD ESP,0C
00407277 |. 8BE5 MOV ESP,EBP
00407279 |. 5D POP EBP
0040727A \. C3 RETN
00408CD0 |. 8B4D E8 MOV ECX,DWORD PTR SS:[EBP-18]
00408CD3 |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
00408CD6 |. 33C0 XOR EAX,EAX
00408CD8 |. 8A02 MOV AL,BYTE PTR DS:[EDX]
00408CDA |. 66:8941 11 MOV WORD PTR DS:[ECX+11],AX
00408CDE |. 42 INC EDX
00408CDF |. 8955 0C MOV DWORD PTR SS:[EBP+C],EDX
00408CE2 |. 90 NOP
00408CE3 |. 90 NOP
00408CE4 |. 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
00408CE7 |. 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
00408CEA |. 33C9 XOR ECX,ECX
00408CEC |. 8A08 MOV CL,BYTE PTR DS:[EAX]
00408CEE |. 66:894A 13 MOV WORD PTR DS:[EDX+13],CX
00408CF2 |. 40 INC EAX
00408CF3 |. 8945 0C MOV DWORD PTR SS:[EBP+C],EAX
00408CF6 |. 90 NOP
00408CF7 |. 90 NOP
00408CF8 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
00408CFB |. 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
00408CFE |. 33D2 XOR EDX,EDX
00408D00 |. 8A11 MOV DL,BYTE PTR DS:[ECX]
00408D02 |. 66:8950 15 MOV WORD PTR DS:[EAX+15],DX
00408D06 |. 41 INC ECX
00408D07 |. 894D 0C MOV DWORD PTR SS:[EBP+C],ECX
00408D0A |. 90 NOP
00408D0B |. 90 NOP
00408D0C |. 8B4D E8 MOV ECX,DWORD PTR SS:[EBP-18]
00408D0F |. 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
00408D12 |. 33C0 XOR EAX,EAX
00408D14 |. 8A02 MOV AL,BYTE PTR DS:[EDX]
00408D16 |. 66:8941 17 MOV WORD PTR DS:[ECX+17],AX
00408D1A |. 42 INC EDX
00408D1B |. 8955 0C MOV DWORD PTR SS:[EBP+C],EDX
00408D1E |. 90 NOP
00408D1F |. 90 NOP
00408D20 |. 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18]
00408D23 |. 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
00408D26 |. 33C9 XOR ECX,ECX
00408D28 |. 8A08 MOV CL,BYTE PTR DS:[EAX]
00408D2A |. 66:894A 19 MOV WORD PTR DS:[EDX+19],CX
00408D2E |. 40 INC EAX
00408D2F |. 8945 0C MOV DWORD PTR SS:[EBP+C],EAX
00408D32 |. 90 NOP
00408D33 |. 90 NOP
00408D3A |. 8A51 11 MOV DL,BYTE PTR DS:[ECX+11]
00408D46 |. 8A51 13 MOV DL,BYTE PTR DS:[ECX+13]
00408D52 |. 8A51 15 MOV DL,BYTE PTR DS:[ECX+15]
00408D5E |. 8A51 17 MOV DL,BYTE PTR DS:[ECX+17]
00408F2E /$ 55 PUSH EBP
00408F2F |. 8BEC MOV EBP,ESP
00408F31 |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00408F34 |. 8A51 04 MOV DL,BYTE PTR DS:[ECX+4]
00408F37 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F39 |. 40 INC EAX
00408F3A |. 8A51 05 MOV DL,BYTE PTR DS:[ECX+5]
00408F3D |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F3F |. 40 INC EAX
00408F40 |. 8A51 02 MOV DL,BYTE PTR DS:[ECX+2]
00408F43 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F45 |. 40 INC EAX
00408F46 |. 8A51 2A MOV DL,BYTE PTR DS:[ECX+2A]
00408F49 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F4B |. 40 INC EAX
00408F4C |. 8A51 11 MOV DL,BYTE PTR DS:[ECX+11]
00408F4F |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F51 |. 40 INC EAX
00408F52 |. 8A51 12 MOV DL,BYTE PTR DS:[ECX+12]
00408F55 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F57 |. 40 INC EAX
00408F58 |. 8A51 13 MOV DL,BYTE PTR DS:[ECX+13]
00408F5B |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F5D |. 40 INC EAX
00408F5E |. 8A51 14 MOV DL,BYTE PTR DS:[ECX+14]
00408F61 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F63 |. 40 INC EAX
00408F64 |. 8A51 15 MOV DL,BYTE PTR DS:[ECX+15]
00408F67 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F69 |. 40 INC EAX
00408F6A |. 8A51 16 MOV DL,BYTE PTR DS:[ECX+16]
00408F6D |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F6F |. 40 INC EAX
00408F70 |. 8A51 17 MOV DL,BYTE PTR DS:[ECX+17]
00408F73 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F75 |. 40 INC EAX
00408F76 |. 8A51 18 MOV DL,BYTE PTR DS:[ECX+18]
00408F79 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F7B |. 40 INC EAX
00408F7C |. 8A51 19 MOV DL,BYTE PTR DS:[ECX+19]
00408F7F |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F81 |. 40 INC EAX
00408F82 |. 8A51 1A MOV DL,BYTE PTR DS:[ECX+1A]
00408F85 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F87 |. 40 INC EAX
00408F88 |. 8A51 21 MOV DL,BYTE PTR DS:[ECX+21]
00408F8B |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F8D |. 40 INC EAX
00408F8E |. 8A51 22 MOV DL,BYTE PTR DS:[ECX+22]
00408F91 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F93 |. 40 INC EAX
00408F94 |. 8A51 23 MOV DL,BYTE PTR DS:[ECX+23]
00408F97 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F99 |. 40 INC EAX
00408F9A |. 8A51 24 MOV DL,BYTE PTR DS:[ECX+24]
00408F9D |. 8810 MOV BYTE PTR DS:[EAX],DL
00408F9F |. 40 INC EAX
00408FA0 |. 8A51 25 MOV DL,BYTE PTR DS:[ECX+25]
00408FA3 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FA5 |. 40 INC EAX
00408FA6 |. 8A51 1C MOV DL,BYTE PTR DS:[ECX+1C]
00408FA9 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FAB |. 40 INC EAX
00408FAC |. 8A51 1D MOV DL,BYTE PTR DS:[ECX+1D]
00408FAF |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FB1 |. 40 INC EAX
00408FB2 |. 8A51 20 MOV DL,BYTE PTR DS:[ECX+20]
00408FB5 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FB7 |. 40 INC EAX
00408FB8 |. 8A51 2B MOV DL,BYTE PTR DS:[ECX+2B]
00408FBB |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FBD |. 40 INC EAX
00408FBE |. 8A51 2C MOV DL,BYTE PTR DS:[ECX+2C]
00408FC1 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FC3 |. 40 INC EAX
00408FC4 |. 8A51 2D MOV DL,BYTE PTR DS:[ECX+2D]
00408FC7 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FC9 |. 40 INC EAX
00408FCA |. 8A51 2E MOV DL,BYTE PTR DS:[ECX+2E]
00408FCD |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FCF |. 40 INC EAX
00408FD0 |. 8A51 2F MOV DL,BYTE PTR DS:[ECX+2F]
00408FD3 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FD5 |. 40 INC EAX
00408FD6 |. 8A51 30 MOV DL,BYTE PTR DS:[ECX+30]
00408FD9 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FDB |. 40 INC EAX
00408FDC |. 8A51 31 MOV DL,BYTE PTR DS:[ECX+31]
00408FDF |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FE1 |. 40 INC EAX
00408FE2 |. 8A51 32 MOV DL,BYTE PTR DS:[ECX+32]
00408FE5 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FE7 |. 40 INC EAX
00408FE8 |. 8A51 33 MOV DL,BYTE PTR DS:[ECX+33]
00408FEB |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FED |. 40 INC EAX
00408FEE |. 8A51 34 MOV DL,BYTE PTR DS:[ECX+34]
00408FF1 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FF3 |. 40 INC EAX
00408FF4 |. 8A51 35 MOV DL,BYTE PTR DS:[ECX+35]
00408FF7 |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FF9 |. 40 INC EAX
00408FFA |. 8A51 36 MOV DL,BYTE PTR DS:[ECX+36]
00408FFD |. 8810 MOV BYTE PTR DS:[EAX],DL
00408FFF |. 40 INC EAX
00409000 |. 8A51 27 MOV DL,BYTE PTR DS:[ECX+27]
00409003 |. 8810 MOV BYTE PTR DS:[EAX],DL
00409005 |. 40 INC EAX
00409006 |. 8A51 28 MOV DL,BYTE PTR DS:[ECX+28]
00409009 |. 8810 MOV BYTE PTR DS:[EAX],DL
0040900B |. 40 INC EAX
0040900C |. 8A51 29 MOV DL,BYTE PTR DS:[ECX+29]
0040900F |. 8810 MOV BYTE PTR DS:[EAX],DL
00409011 |. 40 INC EAX
00409012 |. 8BE5 MOV ESP,EBP
00409014 |. 5D POP EBP
00409015 \. C2 0400 RETN 4
00409018 /$ 55 PUSH EBP
00409019 |. 8BEC MOV EBP,ESP
0040901B |. 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0040901E |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409020 |. 8851 04 MOV BYTE PTR DS:[ECX+4],DL
00409023 |. 40 INC EAX
00409024 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409026 |. 8851 05 MOV BYTE PTR DS:[ECX+5],DL
00409029 |. 40 INC EAX
0040902A |. 8A10 MOV DL,BYTE PTR DS:[EAX]
0040902C |. 8851 02 MOV BYTE PTR DS:[ECX+2],DL
0040902F |. 40 INC EAX
00409030 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409032 |. 8851 2A MOV BYTE PTR DS:[ECX+2A],DL
00409035 |. 40 INC EAX
00409036 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409038 |. 8851 11 MOV BYTE PTR DS:[ECX+11],DL
0040903B |. 40 INC EAX
0040903C |. 8A10 MOV DL,BYTE PTR DS:[EAX]
0040903E |. 8851 12 MOV BYTE PTR DS:[ECX+12],DL
00409041 |. 40 INC EAX
00409042 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409044 |. 8851 13 MOV BYTE PTR DS:[ECX+13],DL
00409047 |. 40 INC EAX
00409048 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
0040904A |. 8851 14 MOV BYTE PTR DS:[ECX+14],DL
0040904D |. 40 INC EAX
0040904E |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409050 |. 8851 15 MOV BYTE PTR DS:[ECX+15],DL
00409053 |. 40 INC EAX
00409054 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409056 |. 8851 16 MOV BYTE PTR DS:[ECX+16],DL
00409059 |. 40 INC EAX
0040905A |. 8A10 MOV DL,BYTE PTR DS:[EAX]
0040905C |. 8851 17 MOV BYTE PTR DS:[ECX+17],DL
0040905F |. 40 INC EAX
00409060 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409062 |. 8851 18 MOV BYTE PTR DS:[ECX+18],DL
00409065 |. 40 INC EAX
00409066 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409068 |. 8851 19 MOV BYTE PTR DS:[ECX+19],DL
0040906B |. 40 INC EAX
0040906C |. 8A10 MOV DL,BYTE PTR DS:[EAX]
0040906E |. 8851 1A MOV BYTE PTR DS:[ECX+1A],DL
00409071 |. 40 INC EAX
00409072 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409074 |. 8851 21 MOV BYTE PTR DS:[ECX+21],DL
00409077 |. 40 INC EAX
00409078 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
0040907A |. 8851 22 MOV BYTE PTR DS:[ECX+22],DL
0040907D |. 40 INC EAX
0040907E |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409080 |. 8851 23 MOV BYTE PTR DS:[ECX+23],DL
00409083 |. 40 INC EAX
00409084 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409086 |. 8851 24 MOV BYTE PTR DS:[ECX+24],DL
00409089 |. 40 INC EAX
0040908A |. 8A10 MOV DL,BYTE PTR DS:[EAX]
0040908C |. 8851 25 MOV BYTE PTR DS:[ECX+25],DL
0040908F |. 40 INC EAX
00409090 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409092 |. 8851 1C MOV BYTE PTR DS:[ECX+1C],DL
00409095 |. 40 INC EAX
00409096 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
00409098 |. 8851 1D MOV BYTE PTR DS:[ECX+1D],DL
0040909B |. 40 INC EAX
0040909C |. 8A10 MOV DL,BYTE PTR DS:[EAX]
0040909E |. 8851 20 MOV BYTE PTR DS:[ECX+20],DL
004090A1 |. 40 INC EAX
004090A2 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090A4 |. 8851 2B MOV BYTE PTR DS:[ECX+2B],DL
004090A7 |. 40 INC EAX
004090A8 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090AA |. 8851 2C MOV BYTE PTR DS:[ECX+2C],DL
004090AD |. 40 INC EAX
004090AE |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090B0 |. 8851 2D MOV BYTE PTR DS:[ECX+2D],DL
004090B3 |. 40 INC EAX
004090B4 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090B6 |. 8851 2E MOV BYTE PTR DS:[ECX+2E],DL
004090B9 |. 40 INC EAX
004090BA |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090BC |. 8851 2F MOV BYTE PTR DS:[ECX+2F],DL
004090BF |. 40 INC EAX
004090C0 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090C2 |. 8851 30 MOV BYTE PTR DS:[ECX+30],DL
004090C5 |. 40 INC EAX
004090C6 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090C8 |. 8851 31 MOV BYTE PTR DS:[ECX+31],DL
004090CB |. 40 INC EAX
004090CC |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090CE |. 8851 32 MOV BYTE PTR DS:[ECX+32],DL
004090D1 |. 40 INC EAX
004090D2 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090D4 |. 8851 33 MOV BYTE PTR DS:[ECX+33],DL
004090D7 |. 40 INC EAX
004090D8 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090DA |. 8851 34 MOV BYTE PTR DS:[ECX+34],DL
004090DD |. 40 INC EAX
004090DE |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090E0 |. 8851 35 MOV BYTE PTR DS:[ECX+35],DL
004090E3 |. 40 INC EAX
004090E4 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090E6 |. 8851 36 MOV BYTE PTR DS:[ECX+36],DL
004090E9 |. 40 INC EAX
004090EA |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090EC |. 8851 27 MOV BYTE PTR DS:[ECX+27],DL
004090EF |. 40 INC EAX
004090F0 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090F2 |. 8851 28 MOV BYTE PTR DS:[ECX+28],DL
004090F5 |. 40 INC EAX
004090F6 |. 8A10 MOV DL,BYTE PTR DS:[EAX]
004090F8 |. 8851 29 MOV BYTE PTR DS:[ECX+29],DL
004090FB |. 40 INC EAX
004090FC |. 8BE5 MOV ESP,EBP
004090FE |. 5D POP EBP
004090FF \. C2 0400 RETN 4
0041B01A |. E8 F9DFFEFF CALL 00409018
0041D165 |. 66:8B41 11 MOV AX,WORD PTR DS:[ECX+11]
0041D169 |. 66:8945 EC MOV WORD PTR SS:[EBP-14],AX
0041D19A |. 66:8B41 15 MOV AX,WORD PTR DS:[ECX+15]
0041D19E |. 66:8945 EC MOV WORD PTR SS:[EBP-14],AX
0041D1CF |. 66:8B41 13 MOV AX,WORD PTR DS:[ECX+13]
0041D1D3 |. 66:8945 EC MOV WORD PTR SS:[EBP-14],AX
0041D201 |. 66:8B41 17 MOV AX,WORD PTR DS:[ECX+17]
0041D205 |. 66:8945 EC MOV WORD PTR SS:[EBP-14],AX
0041D233 |. 66:8B41 19 MOV AX,WORD PTR DS:[ECX+19]
0041D237 |. 66:8945 EC MOV WORD PTR SS:[EBP-14],AX
0041D25D |> 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
0041D260 |. 33D2 XOR EDX,EDX
0041D262 |. 8A55 F0 MOV DL,BYTE PTR SS:[EBP-10]
0041D265 |. 03C2 ADD EAX,EDX
0041D267 |. 66:3D 0F27 CMP AX,270F
0041D26B |. 76 04 JBE SHORT 0041D271
0041D26D |. 66:B8 0F27 MOV AX,270F
0041D271 |> 66:8945 EC MOV WORD PTR SS:[EBP-14],AX
0041D2BE |> 66:8B55 EC MOV DX,WORD PTR SS:[EBP-14]
0041D2C2 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
0041D2C5 |. 8B48 10 MOV ECX,DWORD PTR DS:[EAX+10]
0041D2C8 |. 66:8951 11 MOV WORD PTR DS:[ECX+11],DX
0041D2CC |. 90 NOP
0041D2F0 |> 66:8B55 EC MOV DX,WORD PTR SS:[EBP-14]
0041D2F4 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
0041D2F7 |. 8B48 10 MOV ECX,DWORD PTR DS:[EAX+10]
0041D2FA |. 66:8951 15 MOV WORD PTR DS:[ECX+15],DX
0041D2FE |. 90 NOP
0041D322 |> 66:8B55 EC MOV DX,WORD PTR SS:[EBP-14]
0041D326 |. 8B4D E8 MOV ECX,DWORD PTR SS:[EBP-18]
0041D329 |. 8B49 10 MOV ECX,DWORD PTR DS:[ECX+10]
0041D32C |. 66:8951 13 MOV WORD PTR DS:[ECX+13],DX
0041D330 |. 90 NOP
0041D351 |> 66:8B55 EC MOV DX,WORD PTR SS:[EBP-14]
0041D355 |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
0041D358 |. 8B48 10 MOV ECX,DWORD PTR DS:[EAX+10]
0041D35B |. 66:8951 17 MOV WORD PTR DS:[ECX+17],DX
0041D35F |. 90 NOP
0041D380 |> 66:8B55 EC MOV DX,WORD PTR SS:[EBP-14]
0041D384 |. 8B4D E8 MOV ECX,DWORD PTR SS:[EBP-18]
0041D387 |. 8B49 10 MOV ECX,DWORD PTR DS:[ECX+10]
0041D38A |. 66:8951 19 MOV WORD PTR DS:[ECX+19],DX
0041D38E |. 90 NOP
0043F52D |. 817D FC 0F270000 CMP DWORD PTR SS:[EBP-4],270F
0043F53E |> C745 F4 0F270000 MOV DWORD PTR SS:[EBP-C],270F
0043F5C4 |. 817D FC 0F270000 CMP DWORD PTR SS:[EBP-4],270F
0043F5D5 |> C745 F4 0F270000 MOV DWORD PTR SS:[EBP-C],270F
0043F612 |. 817D FC 0F270000 CMP DWORD PTR SS:[EBP-4],270F
0043F623 |> C745 F4 0F270000 MOV DWORD PTR SS:[EBP-C],270F
0043F660 |. 817D FC 0F270000 CMP DWORD PTR SS:[EBP-4],270F
0043F671 |> C745 F4 0F270000 MOV DWORD PTR SS:[EBP-C],270F
0043F6AE |. 817D FC 0F270000 CMP DWORD PTR SS:[EBP-4],270F
0043F6BF |> C745 F4 0F270000 MOV DWORD PTR SS:[EBP-C],270F
[color=Silver][[i] 本帖最后由 godtype 于 2009-10-29 22:32 编辑 [/i]][/color]
2009-7-30 19:29
godtype
头像状态设置
[font=宋体]先看一张图,这是20武将头像状态设置的全部项目,其中有一项曹彰头像改变的没有在剧本编辑器中显示出来,另外最后一条复制多了:q(+。
[img]http://home.procivi.net/attachment/200912/9/419_12603248431QHN.gif[/img]
接着的这张图是用UE类工具来打开上面的这个测试剧本所显示的代码。
[img]http://home.procivi.net/attachment/200912/9/419_1260324851u5uc.gif[/img]
四种颜色代表四个有头像状态改变的人物:曹操(红)、独眼(蓝)、曹丕(黄)、孔明(绿),曹彰在后面的反汇编代码里面说明。
上面的代码中,共通的是“20 00 4A 00”部分4个字节,后面的2个字节代表这几种不同的头像状态。
00-03是曹操四种状态
04是独眼蒙眼状态
10是孔明邪恶
20是曹丕称帝
40是没有出现过的曹彰另一状态
80是独眼的独眼状态
FF是孔明的正常状态
以上是基本的知识,接下来看反汇编代码
004075A7 /$ 55 PUSH EBP
004075A8 |. 8BEC MOV EBP,ESP
004075AA |. 83EC 18 SUB ESP,18
004075AD |. 894D F0 MOV DWORD PTR SS:[EBP-10],ECX
004075B0 |. 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
004075B3 |. E8 481F0000 CALL 00409500
004075B8 |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
上面是取出武将编号存放在[EBP-8]里面
004075BB |. B9 70074B00 MOV ECX,004B0770
004075C0 |. E8 7B1F0000 CALL 00409540
004075C5 |. 8845 FC MOV BYTE PTR SS:[EBP-4],AL
取出保存在4B0770+11位置的武将头像状态代码,并存放在[EBP-4]里面
004075C8 |. 837D F8 00 CMP DWORD PTR SS:[EBP-8],0
004075CC |. 0F85 A3000000 JNZ 00407675
是否0号武将,不是跳到后面
004075D2 |. B9 70074B00 MOV ECX,004B0770
004075D7 |. E8 841F0000 CALL 00409560
004075DC |. 25 FF000000 AND EAX,0FF
004075E1 |. 83F8 02 CMP EAX,2
确定当前是第几章,大于等于2(即第3章)跳到后面
004075E4 |. 7D 45 JGE SHORT 0040762B
004075E6 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004075E9 |. 25 FF000000 AND EAX,0FF
004075EE |. 24 0F AND AL,0F
004075F0 |. 8945 EC MOV DWORD PTR SS:[EBP-14],EAX
004075F3 |. 837D EC 01 CMP DWORD PTR SS:[EBP-14],1
004075F7 |. 74 0E JE SHORT 00407607
004075F9 |. 837D EC 02 CMP DWORD PTR SS:[EBP-14],2
004075FD |. 74 11 JE SHORT 00407610
004075FF |. 837D EC 03 CMP DWORD PTR SS:[EBP-14],3
00407603 |. 74 14 JE SHORT 00407619
00407605 |. EB 1B JMP SHORT 00407622
00407607 |> C745 F4 01000000 MOV DWORD PTR SS:[EBP-C],1
0040760E |. EB 19 JMP SHORT 00407629
00407610 |> C745 F4 02000000 MOV DWORD PTR SS:[EBP-C],2
00407617 |. EB 10 JMP SHORT 00407629
00407619 |> C745 F4 03000000 MOV DWORD PTR SS:[EBP-C],3
00407620 |. EB 07 JMP SHORT 00407629
00407622 |> C745 F4 00000000 MOV DWORD PTR SS:[EBP-C],0
00407629 |> EB 45 JMP SHORT 00407670
上面这几行就是0号武将在前2章中4种不同的头像状态,[EBP-14]的值分别是0-3,即本楼最前面第二张图中提到的红色的取值,[EBP-C]是输出用的,0-3就是RV中的1-4号头像。
0040762B |> 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4]
0040762E |. 81E1 FF000000 AND ECX,0FF
00407634 |. 80E1 0F AND CL,0F
00407637 |. 894D E8 MOV DWORD PTR SS:[EBP-18],ECX
0040763A |. 837D E8 01 CMP DWORD PTR SS:[EBP-18],1
0040763E |. 74 0E JE SHORT 0040764E
00407640 |. 837D E8 02 CMP DWORD PTR SS:[EBP-18],2
00407644 |. 74 11 JE SHORT 00407657
00407646 |. 837D E8 03 CMP DWORD PTR SS:[EBP-18],3
0040764A |. 74 14 JE SHORT 00407660
0040764C |. EB 1B JMP SHORT 00407669
0040764E |> C745 F4 05000000 MOV DWORD PTR SS:[EBP-C],5
00407655 |. EB 19 JMP SHORT 00407670
00407657 |> C745 F4 06000000 MOV DWORD PTR SS:[EBP-C],6
0040765E |. EB 10 JMP SHORT 00407670
00407660 |> C745 F4 07000000 MOV DWORD PTR SS:[EBP-C],7
00407667 |. EB 07 JMP SHORT 00407670
00407669 |> C745 F4 04000000 MOV DWORD PTR SS:[EBP-C],4
00407670 |> E9 DB000000 JMP 00407750
上面这几行就是0号武将在第3章后4种不同的头像状态,[EBP-18]跟上面的[EBP-14]作用一样,4-7就是RV中的5-8号头像。
00407675 |> 837D F8 01 CMP DWORD PTR SS:[EBP-8],1
00407679 |. 75 45 JNZ SHORT 004076C0
是否1号武将,不是跳到后面
0040767B |. 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0040767E |. 81E2 FF000000 AND EDX,0FF
00407684 |. 80E2 0F AND DL,0F
00407687 |. 83FA 04 CMP EDX,4
0040768A |. 75 09 JNZ SHORT 00407695
0040768C |. C745 F4 E0000000 MOV DWORD PTR SS:[EBP-C],0E0
00407693 |. EB 26 JMP SHORT 004076BB
判断头像状态是否04,是04所以输出图片编号是E0,即RV中的225号头像。
00407695 |> 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00407698 |. 25 FF000000 AND EAX,0FF
0040769D |. 25 80000000 AND EAX,80
004076A2 |. 85C0 TEST EAX,EAX
004076A4 |. 75 09 JNZ SHORT 004076AF
004076A6 |. C745 F4 DF000000 MOV DWORD PTR SS:[EBP-C],0DF
004076AD |. EB 0C JMP SHORT 004076BB
判断头像状态是否80,不是80所以输出图片编号是DF,即RV中的224号头像。
004076AF |> 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
004076B2 |. 8B51 04 MOV EDX,DWORD PTR DS:[ECX+4]
004076B5 |. 83C2 07 ADD EDX,7
004076B8 |. 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
004076BB |> E9 90000000 JMP 00407750
头像状态是80,所以头像输出图片编号是DATA设定的头像号+7。
以上的就是为什么制作MOD的时候,1号武将的头像要用RV的224号头像图片的原因了,去掉这几行即可。
004076C0 |> 837D F8 23 CMP DWORD PTR SS:[EBP-8],23
004076C4 |. 75 26 JNZ SHORT 004076EC
是否35号武将,不是跳到后面
004076C6 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004076C9 |. 25 FF000000 AND EAX,0FF
004076CE |. 83E0 10 AND EAX,10
004076D1 |. 85C0 TEST EAX,EAX
004076D3 |. 74 09 JE SHORT 004076DE
004076D5 |. C745 F4 D6000000 MOV DWORD PTR SS:[EBP-C],0D6
004076DC |. EB 0C JMP SHORT 004076EA
判断头像状态是否10,是10所以输出图片编号是D6,即RV中的215号头像。
004076DE |> 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
004076E1 |. 8B51 04 MOV EDX,DWORD PTR DS:[ECX+4]
004076E4 |. 83C2 07 ADD EDX,7
004076E7 |. 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
004076EA |> EB 64 JMP SHORT 00407750
头像状态不是10,所以头像输出图片编号是DATA设定的头像号+7。
004076EC |> 837D F8 08 CMP DWORD PTR SS:[EBP-8],8
004076F0 |. 75 26 JNZ SHORT 00407718
是否8号武将,不是跳到后面
004076F2 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004076F5 |. 25 FF000000 AND EAX,0FF
004076FA |. 83E0 20 AND EAX,20
004076FD |. 85C0 TEST EAX,EAX
004076FF |. 74 09 JE SHORT 0040770A
00407701 |. C745 F4 E2000000 MOV DWORD PTR SS:[EBP-C],0E2
00407708 |. EB 0C JMP SHORT 00407716
判断头像状态是否20,是20所以输出图片编号是E2,即RV中的227号头像。
0040770A |> 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
0040770D |. 8B51 04 MOV EDX,DWORD PTR DS:[ECX+4]
00407710 |. 83C2 07 ADD EDX,7
00407713 |. 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
00407716 |> EB 38 JMP SHORT 00407750
头像状态不是20,所以头像输出图片编号是DATA设定的头像号+7。
00407718 |> 837D F8 04 CMP DWORD PTR SS:[EBP-8],4
0040771C |. 75 26 JNZ SHORT 00407744
是否4号武将,不是跳到后面
0040771E |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00407721 |. 25 FF000000 AND EAX,0FF
00407726 |. 83E0 40 AND EAX,40
00407729 |. 85C0 TEST EAX,EAX
0040772B |. 74 09 JE SHORT 00407736
0040772D |. C745 F4 E3000000 MOV DWORD PTR SS:[EBP-C],0E3
00407734 |. EB 0C JMP SHORT 00407742
判断头像状态是否40,是40所以输出图片编号是E3,即RV中的228号头像。
00407736 |> 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10]
00407739 |. 8B51 04 MOV EDX,DWORD PTR DS:[ECX+4]
0040773C |. 83C2 07 ADD EDX,7
0040773F |. 8955 F4 MOV DWORD PTR SS:[EBP-C],EDX
00407742 |> EB 0C JMP SHORT 00407750
头像状态不是40,所以头像输出图片编号是DATA设定的头像号+7。
这一段就是在原版中没有出现过的曹彰头像改变代码(连剧本编辑器也没有为他准备,有需要时只能用UE来指定,真可怜。)
00407744 |> 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
00407747 |. 8B48 04 MOV ECX,DWORD PTR DS:[EAX+4]
0040774A |. 83C1 07 ADD ECX,7
0040774D |. 894D F4 MOV DWORD PTR SS:[EBP-C],ECX
其他编号的武将,头像输出图片编号都是DATA设定的头像号+7。
00407750 |> 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00407753 |. 8BE5 MOV ESP,EBP
00407755 |. 5D POP EBP
00407756 \. C3 RETN
结束,将[EBP-C]的值作为EAX输出。
值得注意的是,头像状态改变的代码除了00-03,其余的是以叠加的形式来存放的在4B0770+11的位置,例如这位置的值是30,那么8号武将和35号将的头像都会使用在上面的代码中指定的头像图片,而不是DATA设定的头像。至于孔明正常的FF,是恢复成DATA设定用的,但是会不会让其他的都恢复DATA设定,还没有详细测试过。[/font]
[color=Silver][[i] 本帖最后由 godtype 于 2009-12-9 13:00 编辑 [/i]][/color]