la dll se necesita porque lo pide el exe, como bien sabes todo exe necesita tener sus dll para ejecutar o ver algo
yo lo baje de :
http://es.dll-files.com/ijl15.dll.htmlpara desempacar estamos en el entrypoint
0336A001 | 60 | pushad | entrypoint
0336A002 | E8 03 00 00 00 | call client.336A00A |
0336A007 | E9 EB 04 5D 45 | jmp 4893A4F7 |
0336A00C | 55 | push ebp |
0336A00D | C3 | ret |
al finalizar la rutina sabemos que termina con popad (pushad guarda registro, popad restaura)
0336A3AF 61 POPAD
0336A3B0 75 08 JNZ SHORT Client.0336A3BA
0336A3B2 B8 01000000 MOV EAX,1
0336A3B7 C2 0C00 RETN 0C
0336A3BA 68 00000000 PUSH 0
0336A3BF C3 RETN
al ejecutar en ejecución en el salto vemos ahora que cambió
0336A3B0 75 08 JNZ SHORT Client.0336A3BA
0336A3B2 B8 01000000 MOV EAX,1
0336A3B7 C2 0C00 RETN 0C
0336A3BA 68 0F676F00 PUSH Client.006F670F0336A3BF C3 RETN
al ir push+ret =JUMP to place
tenemos el OEP (original entrypoint)
y por lo cual aqui puedes dumpear y reparar como corresponde.
006F670F 6A 58 PUSH 58
006F6711 68 48FD7C00 PUSH Client.007CFD48
006F6716 E8 09460000 CALL Client.006FAD24
006F671B 33F6 XOR ESI,ESI
006F671D 8975 FC MOV DWORD PTR SS:[EBP-4],ESI
006F6720 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68]
006F6723 50 PUSH EAX
006F6724 FF15 48137500 CALL DWORD PTR DS:[751348] ; kernel32.GetStartupInfoA
006F672A 6A FE PUSH -2
006F672C 5F POP EDI
006F672D 897D FC MOV DWORD PTR SS:[EBP-4],EDI
006F6730 B8 4D5A0000 MOV EAX,5A4D
006F6735 66:3905 00004000 CMP WORD PTR DS:[400000],AX
006F673C 75 38 JNZ SHORT Client.006F6776
solo debes rellenar los datos de la iat como corresponde y tendrás tu archivo desempacado, para hacer eso deberás leer el faq