Lo que realmente me extraña, es que no haya un programa que se attachee a un ejecutable, vea todas las Calls y logee todos los parámetros pasados a las mismas...
Ya saqué la mayoría de las funciones que necesito, pero me falta aún una.
Bueno, estuve analizando un poco, y aki tienen un pedacito de código de la call y del inicio de la función:
Se que se le pasan 3 parámetros y que se reservan 392 bytes de memoria local.
Estas son las primeras líneas de la función.
Código
100128C0 > 81EC 88010000 SUB ESP,188 100128C6 53 PUSH EBX 100128C7 56 PUSH ESI 100128C8 57 PUSH EDI 100128C9 6A 01 PUSH 1
Y estas son unas líneas antes de la CALL.
Código
0051F630 . 53 PUSH EBX 0051F631 . 56 PUSH ESI 0051F632 . 8BF1 MOV ESI,ECX 0051F634 . 57 PUSH EDI 0051F635 . 8B06 MOV EAX,DWORD PTR DS:[ESI] 0051F637 . FF90 98000000 CALL DWORD PTR DS:[EAX+98] 0051F63D . 85C0 TEST EAX,EAX ;Esto debe dejar la flag "Z" en 0. A menos que haya un error. 0051F63F . 75 0F JNZ SHORT Exe.0051F650 ;Entonces esto no se ejecuta. 0051F641 . 8A4E 40 MOV CL,BYTE PTR DS:[ESI+40] 0051F644 . 51 PUSH ECX 0051F645 . E8 EA8B0100 CALL <JMP.&DLL.#2> 0051F64A . 8BF8 MOV EDI,EAX 0051F64C . 85FF TEST EDI,EDI 0051F64E . 7C 2D JL SHORT Exe.0051F67D 0051F650 > 8B5C24 10 MOV EBX,DWORD PTR SS:[ESP+10] ;Parametro??? 0051F654 . 6A 00 PUSH 0 0051F656 . 53 PUSH EBX 0051F657 . C703 94000000 MOV DWORD PTR DS:[EBX],94 ;Parametro??? 0051F65D . 8A56 40 MOV DL,BYTE PTR DS:[ESI+40] ;Parametro???. 0051F660 . 52 PUSH EDX 0051F661 . E8 C88B0100 CALL <JMP.&DLL.#1> ;Esta es la intermodular call a la funcian en cuestion.
Si alguien me puede hechar un poco de claridad en esto, me encontré con un callejón sin salida y no se como continuar, también si alguien postea la respuesta, por favor expliquen como llegaron hasta ahi, así lo tengo presente para futuras situaciones.
Muchas gracias!!!