Joel F Real men use unique_ptr | bien voila un extrait d'un code assembleur :
Code :
- 6F701204 33C0 XOR EAX,EAX
- 6F701206 BB FFFFFFFF MOV EBX,-1
- 6F70120B C70424 04707B6F MOV [DWORD SS:ESP],6F7B7004 ; ASCII "StringData"
- 6F701212 C74424 04 01000000 MOV [DWORD SS:ESP+4],1
- 6F70121A C74424 08 09000000 MOV [DWORD SS:ESP+8],9
- 6F701222 894424 0C MOV [DWORD SS:ESP+C],EAX
- 6F701226 894424 10 MOV [DWORD SS:ESP+10],EAX
- 6F70122A C74424 14 0F707B6F MOV [DWORD SS:ESP+14],6F7B700F ; ASCII "DwordData"
- 6F701232 C74424 18 02000000 MOV [DWORD SS:ESP+18],2
- 6F70123A 894424 1C MOV [DWORD SS:ESP+1C],EAX
- 6F70123E C74424 20 09000000 MOV [DWORD SS:ESP+20],9
- 6F701246 894424 24 MOV [DWORD SS:ESP+24],EAX
- 6F70124A C74424 28 19707B6F MOV [DWORD SS:ESP+28],6F7B7019 ; ASCII "WordData"
- 6F701252 C74424 2C 03000000 MOV [DWORD SS:ESP+2C],3
- 6F70125A 894424 30 MOV [DWORD SS:ESP+30],EAX
- 6F70125E C74424 34 0D000000 MOV [DWORD SS:ESP+34],0D
- 6F701266 894424 38 MOV [DWORD SS:ESP+38],EAX
- 6F70126A C74424 3C 22707B6F MOV [DWORD SS:ESP+3C],6F7B7022 ; ASCII "ByteData"
- 6F701272 C74424 40 04000000 MOV [DWORD SS:ESP+40],4
- 6F70127A 894424 44 MOV [DWORD SS:ESP+44],EAX
- 6F70127E C74424 48 0F000000 MOV [DWORD SS:ESP+48],0F
- 6F701286 894424 4C MOV [DWORD SS:ESP+4C],EAX
- 6F70128A C74424 50 2B707B6F MOV [DWORD SS:ESP+50],6F7B702B ; ASCII "TLCData"
- 6F701292 C74424 54 09000000 MOV [DWORD SS:ESP+54],9
- 6F70129A 894424 58 MOV [DWORD SS:ESP+58],EAX
- 6F70129E C74424 5C 10000000 MOV [DWORD SS:ESP+5C],10
- 6F7012A6 894424 60 MOV [DWORD SS:ESP+60],EAX
- 6F7012AA C74424 64 33707B6F MOV [DWORD SS:ESP+64],6F7B7033 ; ASCII "FLCData"
- 6F7012B2 C74424 68 09000000 MOV [DWORD SS:ESP+68],9
- 6F7012BA 894424 6C MOV [DWORD SS:ESP+6C],EAX
- 6F7012BE C74424 70 14000000 MOV [DWORD SS:ESP+70],14
- 6F7012C6 894424 74 MOV [DWORD SS:ESP+74],EAX
- 6F7012CA C74424 78 3B707B6F MOV [DWORD SS:ESP+78],6F7B703B ; ASCII "End"
- 6F7012D2 894424 7C MOV [DWORD SS:ESP+7C],EAX
- 6F7012D6 898424 80000000 MOV [DWORD SS:ESP+80],EAX
- 6F7012DD 898424 84000000 MOV [DWORD SS:ESP+84],EAX
- 6F7012E4 898424 88000000 MOV [DWORD SS:ESP+88],EAX
- 6F7012EB 6A 18 PUSH 18
- 6F7012ED 68 50707B6F PUSH 6F7B7050
- 6F7012F2 8D5C24 08 LEA EBX,[DWORD SS:ESP+8]
- 6F7012F6 53 PUSH EBX
- 6F7012F7 68 3F707B6F PUSH 6F7B703F ; ASCII "TestTable"
- 6F7012FC 50 PUSH EAX
- 6F7012FD E8 0CDD0A00 CALL 6F7515DD
- 6F701302 A3 00707B6F MOV [DWORD DS:6F7B7000],EAX
|
Mon probleme est de retrouver le prototype de la fonction C ou C++ ayant amenée à ce code assembleur.
La fonction est appellé par CALL 6F7515DD et sa valeur de retour (un pointeur) ets récupéré par MOV [DWORD DS:6F7B7000],EAX.
J'ai beau essayé tout et npkoi ( fastcall,stdcall, fonction a argument variables ...) je n'arrive pas a reproduire ce code ...
Si quelqu'un a une idée ... Merci |