File tree Expand file tree Collapse file tree
RunPE-In-Memory/RunPEinMemory Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -29,6 +29,16 @@ bool fixIAT(PVOID modulePtr)
2929 {
3030 IMAGE_THUNK_DATA32* fieldThunk = (IMAGE_THUNK_DATA32*)(DWORD (modulePtr) + offsetField + call_via);
3131 IMAGE_THUNK_DATA32* orginThunk = (IMAGE_THUNK_DATA32*)(DWORD (modulePtr) + offsetThunk + thunk_addr);
32+ PIMAGE_THUNK_DATA import_Int = (PIMAGE_THUNK_DATA)(lib_desc->OriginalFirstThunk + DWORD (modulePtr));
33+
34+ if (import_Int->u1 .Ordinal & 0x80000000 ) {
35+ // Find Ordinal Id
36+ DWORD addr = (DWORD)GetProcAddress (LoadLibraryA (lib_name), (char *)(orginThunk->u1 .Ordinal & 0xFFFF ));
37+ PRINTF (" [V] API %x at %x\n " , orginThunk->u1 .Ordinal , addr);
38+ fieldThunk->u1 .Function = addr;
39+ break ;
40+ }
41+
3242 if (fieldThunk->u1 .Function == NULL ) break ;
3343
3444 if (fieldThunk->u1 .Function == orginThunk->u1 .Function ) {
@@ -46,4 +56,4 @@ bool fixIAT(PVOID modulePtr)
4656 }
4757 }
4858 return true ;
49- }
59+ }
You can’t perform that action at this time.
0 commit comments