Hi,
also es geht darum das ich eine function/procedure von einem anderen programm(spiel) hooken möchte bzw. erst einmal per
DLL selber benutzen (die function/procedure schreibt text in den chat des spiels).
So weit so gut nun gibt es aber mehrere probleme...
1. vermutlich das größte problem ich bin mir nicht sicher ob ich das richtige offset(von der function/procedure) im debugger gefunden habe(0063E800)
2. wenn Punkt 1 nicht zutrifft weiss ich nicht genau mit welchen parametern ich die function/procedure aufrufen soll und ob ich stdcall oder cdecl oder oder oder nehmen soll und halt ob es eine function oder procedure ist
3. Meine assembler kenntnisse sind leider nicht die besten
Hier mal ein aufruf der function/procedure, die ich hooken möchte, vom eigenen programm(das spiel)
Zitat:
00650E17 68 74AEB800 PUSH 00B8AE74 ;
UNICODE "UIIT_STT_STARTING_MSG"
00650E1C B9 D88AC700 MOV ECX,00C78AD8
00650E21 E8 BA2C0F00 CALL 00743AE0
00650E26 8378 18 08 CMP DWORD PTR DS:[EAX+18],8
00650E2A 72 05 JB SHORT 00650E31
00650E2C 8B40 04 MOV EAX,DWORD PTR DS:[EAX+4]
00650E2F EB 03 JMP SHORT 00650E34
00650E31 83C0 04 ADD EAX,4
00650E34 50 PUSH EAX
00650E35 6A 01 PUSH 1
00650E37 68 9BC9DBFF PUSH FFDBC99B
00650E3C 68 FF000000 PUSH 0FF
00650E41 57 PUSH EDI
00650E42 E8 B9D9FEFF CALL 0063E800
Und hier die function/procedure selber
Zitat:
0063E800 81EC 04080000 SUB ESP,804
0063E806 A1 E038C600 MOV EAX,DWORD PTR DS:[C638E0]
0063E80B 33C4 XOR EAX,ESP
0063E80D 898424 00080000 MOV DWORD PTR SS:[ESP+800],EAX
0063E814 8B8C24 18080000 MOV ECX,DWORD PTR SS:[ESP+818]
0063E81B 56 PUSH ESI
0063E81C 8BB424 0C080000 MOV ESI,DWORD PTR SS:[ESP+80C]
0063E823 8D8424 20080000 LEA EAX,DWORD PTR SS:[ESP+820]
0063E82A 50 PUSH EAX
0063E82B 51 PUSH ECX
0063E82C 8D5424 0C LEA EDX,DWORD PTR SS:[ESP+C]
0063E830 68 00040000 PUSH 400
0063E835 52 PUSH EDX
0063E836 E8 ED7A3200 CALL 00966328
0063E83B 8B8424 28080000 MOV EAX,DWORD PTR SS:[ESP+828]
0063E842 8B9424 24080000 MOV EDX,DWORD PTR SS:[ESP+824]
0063E849 83C4 10 ADD ESP,10
0063E84C 50 PUSH EAX
0063E84D 8B8424 14080000 MOV EAX,DWORD PTR SS:[ESP+814]
0063E854 6A 00 PUSH 0
0063E856 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
0063E85A 51 PUSH ECX
0063E85B 52 PUSH EDX
0063E85C 50 PUSH EAX
0063E85D 6A 01 PUSH 1
0063E85F 6A 01 PUSH 1
0063E861 8D8E 3C030000 LEA ECX,DWORD PTR DS:[ESI+33C]
0063E867 E8 14420F00 CALL 00732A80
0063E86C 8BC8 MOV ECX,EAX
0063E86E E8 ADD30200 CALL 0066BC20
0063E873 8B8C24 04080000 MOV ECX,DWORD PTR SS:[ESP+804]
0063E87A 5E POP ESI
0063E87B 33CC XOR ECX,ESP
0063E87D E8 98643200 CALL 00964D1A
0063E882 81C4 04080000 ADD ESP,804
0063E888 C3 RETN
P.S. ich hoff ich hab alle wichtigen infos gepostet...
schon mal danke im voraus
MfG Carlo