同在研究神将版的绝招说明弹框。参考了圣三的例子,找到了神将版的一些相关编号代码位置,但还是不太明白,水平不够。求毅哥神将版的更多解释。
004BFFFF 008B 4D90E8C0 ADD BYTE PTR DS:[EBX+C0E8904D],CL
004C0005 0A01 OR AL,BYTE PTR DS:[ECX]
004C0007 0083 F8447602 ADD BYTE PTR DS:[EBX+27644F8],AL
004C000D 33C0 XOR EAX,EAX
004C000F 50 PUSH EAX
004C0010 50 PUSH EAX
004C0011 68 02080000 PUSH 802
004C0016 FF75 08 PUSH DWORD PTR SS:[EBP+8]
004C0019 FF15 DC624800 CALL DWORD PTR DS:[<&USER32.GetDlgItem>] ; USER32.GetDlgItem
004C001F 50 PUSH EAX
004C0020 FF15 E8624800 CALL DWORD PTR DS:[<&USER32.EnableWindow>; USER32.EnableWindow
004C0026 58 POP EAX
004C0027 8BD0 MOV EDX,EAX
004C0029 42 INC EDX
004C002A B9 00E04B00 MOV ECX,Ekd5.004BE000
004C002F 8911 MOV DWORD PTR DS:[ECX],EDX
004C0031 8B0C85 A00B4F00 MOV ECX,DWORD PTR DS:[EAX*4+4F0BA0]
004C0038 51 PUSH ECX
004C0039 68 A6050000 PUSH 5A6
004C003E FF75 08 PUSH DWORD PTR SS:[EBP+8]
004C0041 FF15 D8624800 CALL DWORD PTR DS:[<&USER32.SetDlgItemTe>; USER32.SetDlgItemTextA
004C0047 8B4D 90 MOV ECX,DWORD PTR SS:[EBP-70]
004C004A 33D2 XOR EDX,EDX
004C004C - E9 EB87FBFF JMP Ekd5.0047883C
004C0051 90 NOP
004C0052 0000 ADD BYTE PTR DS:[EAX],AL
004C0054 0000 ADD BYTE PTR DS:[EAX],AL
004C0056 0000 ADD BYTE PTR DS:[EAX],AL
004C0058 FF75 08 PUSH DWORD PTR SS:[EBP+8]
004C005B E8 06000000 CALL Ekd5.004C0066
004C0060 - E9 3594FBFF JMP Ekd5.0047949A
004C0066 55 PUSH EBP
004C0067 8BEC MOV EBP,ESP
004C0069 83EC 20 SUB ESP,20
004C006C B9 00E04B00 MOV ECX,Ekd5.004BE000
004C0071 894D E0 MOV DWORD PTR SS:[EBP-20],ECX
004C0074 33C0 XOR EAX,EAX
004C0076 48 DEC EAX
004C0077 8941 06 MOV DWORD PTR DS:[ECX+6],EAX
004C007A 8D4D E4 LEA ECX,DWORD PTR SS:[EBP-1C]
004C007D E8 1EE3F4FF CALL Ekd5.0040E3A0
004C0082 FF75 08 PUSH DWORD PTR SS:[EBP+8]
004C0085 68 92010000 PUSH 192
004C008A 8D4D E4 LEA ECX,DWORD PTR SS:[EBP-1C]
004C008D E8 06D0FAFF CALL Ekd5.0046D098
004C0092 8B4D E0 MOV ECX,DWORD PTR SS:[EBP-20]
004C0095 33C0 XOR EAX,EAX
004C0097 8941 04 MOV DWORD PTR DS:[ECX+4],EAX
004C009A 8941 08 MOV DWORD PTR DS:[ECX+8],EAX
004C009D 8BE5 MOV ESP,EBP
004C009F 5D POP EBP
004C00A0 C2 0400 RETN 4
004C0130 55 PUSH EBP
004C0131 8BEC MOV EBP,ESP
004C0133 81EC D4000000 SUB ESP,0D4
004C0139 B9 00E04B00 MOV ECX,Ekd5.004BE000
004C013E 8B01 MOV EAX,DWORD PTR DS:[ECX]
004C0140 48 DEC EAX
004C0141 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX
004C0144 8B0C85 A00B4F00 MOV ECX,DWORD PTR DS:[EAX*4+4F0BA0]
004C014B 51 PUSH ECX
004C014C 68 03080000 PUSH 803
004C0151 FF75 08 PUSH DWORD PTR SS:[EBP+8]
004C0154 FF15 D8624800 CALL DWORD PTR DS:[<&USER32.SetDlgItemTe>; USER32.SetDlgItemTextA
004C015A 6A 00 PUSH 0
004C015C 68 80000000 PUSH 80
004C0161 6A 03 PUSH 3
004C0163 6A 00 PUSH 0
004C0165 6A 01 PUSH 1
004C0167 68 00000080 PUSH 80000000
004C016C 68 68BB4800 PUSH Ekd5.0048BB68 ; ASCII "IMSG.E5"
004C0171 FF15 18614800 CALL DWORD PTR DS:[<&KERNEL32.CreateFile>; kernel32.CreateFileA
004C0177 83F8 FF CMP EAX,-1
004C017A 75 04 JNZ SHORT Ekd5.004C0180
004C017C EB 7A JMP SHORT Ekd5.004C01F8
004C017E EB 03 JMP SHORT Ekd5.004C0183
004C0180 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
004C0183 6A 02 PUSH 2
004C0185 6A 00 PUSH 0
004C0187 6A 00 PUSH 0
004C0189 FF75 FC PUSH DWORD PTR SS:[EBP-4]
004C018C FF15 04614800 CALL DWORD PTR DS:[<&KERNEL32.SetFilePoi>; kernel32.SetFilePointer
004C0192 3D 50F00500 CMP EAX,5F050
004C0197 75 56 JNZ SHORT Ekd5.004C01EF
004C0199 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
004C019C 90 NOP
004C019D 69C0 C8000000 IMUL EAX,EAX,0C8
004C01A3 05 905F0100 ADD EAX,15F90
004C01A8 6A 00 PUSH 0
004C01AA 6A 00 PUSH 0
004C01AC 50 PUSH EAX
004C01AD FF75 FC PUSH DWORD PTR SS:[EBP-4]
004C01B0 FF15 04614800 CALL DWORD PTR DS:[<&KERNEL32.SetFilePoi>; kernel32.SetFilePointer
004C01B6 6A 00 PUSH 0
004C01B8 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
004C01BB 50 PUSH EAX
004C01BC 68 C8000000 PUSH 0C8
004C01C1 8D85 2CFFFFFF LEA EAX,DWORD PTR SS:[EBP-D4]
004C01C7 50 PUSH EAX
004C01C8 FF75 FC PUSH DWORD PTR SS:[EBP-4]
004C01CB FF15 14614800 CALL DWORD PTR DS:[<&KERNEL32.ReadFile>] ; kernel32.ReadFile
004C01D1 817D F8 C800000>CMP DWORD PTR SS:[EBP-8],0C8
004C01D8 72 15 JB SHORT Ekd5.004C01EF
004C01DA 8D85 2CFFFFFF LEA EAX,DWORD PTR SS:[EBP-D4]
004C01E0 50 PUSH EAX
004C01E1 68 04080000 PUSH 804
004C01E6 FF75 08 PUSH DWORD PTR SS:[EBP+8]
004C01E9 FF15 D8624800 CALL DWORD PTR DS:[<&USER32.SetDlgItemTe>; USER32.SetDlgItemTextA
004C01EF FF75 FC PUSH DWORD PTR SS:[EBP-4]
004C01F2 FF15 08614800 CALL DWORD PTR DS:[<&KERNEL32.CloseHandl>; kernel32.CloseHandle
004C01F8 8BE5 MOV ESP,EBP
004C01FA 5D POP EBP
004C01FB C2 0400 RETN 4
|