Artifact
a239d11984a0fc98395256966f5733a9699f7e55:
0000: 2f 2a 0d 0a 66 69 78 5f 62 61 73 69 63 2e 69 6e /*..fix_basic.in
0010: 6c 0d 0a 28 63 29 20 c0 eb e5 ea f1 e0 ed e4 f0 l..(c) .........
0020: 20 ce f0 e5 f4 ea ee e2 0d 0a d4 e0 e9 eb 20 e4 ............. .
0030: eb ff 20 f0 e5 f8 e5 ed e8 ff 20 ef f0 ee e1 eb .. ....... .....
0040: e5 ec fb 20 ef f0 e8 20 ed e5 ee e1 f5 ee e4 e8 ... ... ........
0050: ec ee f1 f2 e8 20 f1 f2 e0 f2 e8 f7 e5 f1 ea ee ..... ..........
0060: e9 20 eb e8 ed ea ee e2 ea e8 0d 0a f1 20 62 61 . ........... ba
0070: 73 69 63 2e 64 6c 6c 20 e2 20 ec ee e4 f3 eb ff sic.dll . ......
0080: f5 2c 20 ea ee f2 ee f0 fb e5 20 e4 ee eb e6 ed ., ....... .....
0090: fb 20 ef ee e4 e3 f0 f3 e6 e0 f2 fc f1 ff 20 ef . ............ .
00a0: f0 e8 20 f1 e0 ec ee ec 20 f1 f2 e0 f0 f2 e5 20 .. ..... ......
00b0: 31 d1 ea e8 2e 0d 0a 09 d1 f3 f2 fc 20 ef f0 ee 1........... ...
00c0: e1 eb e5 ec fb 3a 0d 0a 62 61 73 69 63 2e 64 6c .....:..basic.dl
00d0: 6c 20 e2 20 f1 e2 ee e5 e9 20 ef f0 ee f6 e5 e4 l . ..... ......
00e0: f3 f0 e5 20 44 6c 6c 4d 61 69 6e 20 ef f0 e8 20 ... DllMain ...
00f0: e7 e0 e3 f0 f3 e7 ea e5 20 e2 fb ef ee eb ed ff ........ .......
0100: e5 f2 20 e4 e5 e9 f1 f2 e2 e8 ff 2c 0d 0a f0 e0 .. ........,....
0110: f1 f1 f7 e8 f2 e0 ed ed fb e5 20 ed e0 20 f2 ee .......... .. ..
0120: 2c 20 f7 f2 ee 20 43 57 69 6e 41 70 70 20 e2 20 , ... CWinApp .
0130: 31 63 76 37 2e 65 78 65 20 f3 e6 e5 20 ef f0 ee 1cv7.exe ... ...
0140: e8 ed e8 f6 e0 eb e8 e7 e8 f0 ee e2 e0 ed 2c 0d ..............,.
0150: 0a e0 20 ef f0 e8 20 e2 fb e3 f0 f3 e7 ea e5 20 .. ... ........
0160: 2d 20 ed e0 20 f2 ee 2c 20 f7 f2 ee 20 43 57 69 - .. .., ... CWi
0170: 6e 41 70 70 20 e2 20 31 63 76 37 2e 65 78 65 20 nApp . 1cv7.exe
0180: e5 f9 e5 20 ef f0 ee e8 ed e8 f6 e0 eb e8 e7 e8 ... ............
0190: f0 ee e2 e0 ed 2e 0d 0a cf f0 e8 20 f1 f2 e0 f2 ........... ....
01a0: e8 f7 e5 f1 ea ee e9 20 eb e8 ed ea ee e2 ea e5 ....... ........
01b0: 20 f0 e0 e7 f0 e0 e1 e0 f2 fb e2 e0 e5 ec ee e3 ...............
01c0: ee 20 ec ee e4 f3 eb ff 20 f1 20 62 61 73 69 63 . ...... . basic
01d0: 2e 64 6c 6c 2c 20 ea ee e3 e4 e0 0d 0a ec ee e4 .dll, ..........
01e0: f3 eb fc 20 ef fb f2 e0 e5 f2 f1 ff 20 e7 e0 e3 ... ........ ...
01f0: f0 f3 e7 e8 f2 f1 ff 2c 20 44 6c 6c 4d 61 69 6e ......., DllMain
0200: 20 e2 20 62 61 73 69 63 2e 64 6c 6c 20 e2 ee e7 . basic.dll ...
0210: e2 f0 e0 f9 e0 e5 f2 20 30 2c 0d 0a f2 ea 20 43 ....... 0,.... C
0220: 57 69 6e 41 70 70 20 e5 f9 e5 20 ed e5 20 ef f0 WinApp ... .. ..
0230: ee e8 ed e8 f6 e8 e0 eb e8 e7 e8 f0 ee e2 e0 ed ................
0240: 2c 20 ef ee fd f2 ee ec f3 20 ec ee e4 f3 eb fc , ....... ......
0250: 20 ed e5 20 ec ee e6 e5 f2 20 e7 e0 e3 f0 f3 e7 .. ..... ......
0260: e8 f2 f1 ff 2e 0d 0a 0d 0a 09 d0 e5 f8 e5 ed e8 ................
0270: e5 20 2d 20 ee f2 eb ee e6 e5 ed ed e0 ff 20 eb . - .......... .
0280: e8 ed ea ee e2 ea e0 2c 20 f0 e5 e0 eb e8 e7 f3 ......., .......
0290: e5 ec e0 ff 20 eb e8 ed ea e5 f0 ee ec 20 56 43 .... ........ VC
02a0: 2b 2b 2c 20 e8 20 e4 e0 ed ed fb ec 20 ea ee e4 ++, . ...... ...
02b0: ee ec 20 e2 0d 0a f0 e0 e7 f0 e0 e1 e0 f2 fb e2 .. .............
02c0: e0 e5 ec ee ec 20 ec ee e4 f3 eb e5 2e 20 ca ee ..... ....... ..
02d0: e4 20 eb ee e3 e8 f7 ed e5 e5 20 e2 f1 e5 e3 ee . ........ .....
02e0: 20 ef ee e4 ea eb fe f7 e0 f2 fc 20 ea e0 ea 0d .......... ....
02f0: 0a 0d 0a 23 69 6e 63 6c 75 64 65 20 22 66 69 78 ...#include "fix
0300: 5f 62 61 73 69 63 2e 69 6e 6c 22 0d 0a 0d 0a e2 _basic.inl".....
0310: 20 73 74 64 61 66 78 2e 63 70 70 0d 0a 0d 0a 09 stdafx.cpp.....
0320: c2 ee e7 ec ee e6 ed fb e5 20 ef f0 ee e1 eb e5 ......... ......
0330: ec fb 3a 0d 0a d2 e0 e1 eb e8 f6 e0 20 e8 ec ef ..:......... ...
0340: ee f0 f2 e0 20 e8 e7 20 62 61 73 69 63 2e 64 6c .... .. basic.dl
0350: 6c 20 e8 ed e8 f6 e8 e0 eb e8 e7 e8 f0 f3 e5 f2 l ..............
0360: f1 ff 20 ef f0 e8 20 ef e5 f0 e2 ee ec 20 e2 fb .. ... ...... ..
0370: e7 ee e2 e5 20 eb fe e1 ee e9 0d 0a f4 f3 ed ea .... ...........
0380: f6 e8 e8 20 e8 e7 20 62 61 73 69 63 2e 64 6c 6c ... .. basic.dll
0390: 2e 20 c5 f1 eb e8 20 ef e5 f0 e2 fb ec 20 e2 20 . .... ...... .
03a0: ef f0 ee e3 f0 e0 ec ec e5 20 e1 f3 e4 e5 f2 20 ......... .....
03b0: ee e1 f0 e0 f9 e5 ed e8 e5 20 ed e5 20 ea 20 f4 ......... .. . .
03c0: f3 ed ea f6 e8 e8 2c 0d 0a e0 20 ea 20 e8 ec ef ......,... . ...
03d0: ee f0 f2 e8 f0 f3 e5 ec fb ec 20 e4 e0 ed ed fb .......... .....
03e0: ec 2c 20 f2 ee 20 e2 20 fd f2 ee ec 20 f1 eb f3 ., .. . .... ...
03f0: f7 e0 e5 20 ea ee e4 20 e8 ed e8 f6 e8 e0 eb e8 ... ... ........
0400: e7 e0 f6 e8 e8 20 f2 e0 e1 eb e8 f6 fb 20 e8 ec ..... ....... ..
0410: ef ee f0 f2 e0 0d 0a ed e5 20 e1 f3 e4 e5 f2 20 ......... .....
0420: e2 fb ef ee eb ed e5 ed 2c 20 e0 20 ee e1 f0 e0 ........, . ....
0430: f9 e5 ed e8 e5 20 ea 20 e4 e0 ed ed fb ec 20 e1 ..... . ...... .
0440: f3 e4 e5 f2 20 ed e5 e2 e5 f0 ed fb ec 2e 0d 0a .... ...........
0450: 09 d4 f3 ed ea f6 e8 ff 2d e7 e0 e3 f0 f3 e7 f7 ........-.......
0460: e8 ea 20 e6 e5 f1 f2 ea ee 20 ef f0 ee f8 e8 f2 .. ...... ......
0470: e0 20 ed e0 20 ef f0 e8 e2 ff e7 ea f3 20 ea 20 . .. ........ .
0480: 62 61 73 69 63 2e 64 6c 6c 2e 20 c5 f1 eb e8 20 basic.dll. ....
0490: e2 e0 ec 0d 0a ed e5 ee e1 f5 ee e4 e8 ec ee 20 ...............
04a0: ee f1 f3 f9 e5 f1 f2 e2 eb ff f2 fc 20 ee f2 eb ............ ...
04b0: ee e6 e5 ed ed f3 fe 20 eb e8 ed ea ee e2 ea f3 ....... ........
04c0: 20 e4 f0 f3 e3 e8 f5 20 e1 e8 e1 eb e8 ee f2 e5 ...... ........
04d0: ea 2c 20 ed e5 20 e8 f1 ef ee eb fc e7 f3 e9 f2 ., .. ..........
04e0: e5 0d 0a fd f2 f3 20 f0 e5 e0 eb e8 e7 e0 f6 e8 ...... .........
04f0: fe 2e 20 cf f0 e8 ec e5 ed e8 f2 e5 20 f1 f2 e0 .. ......... ...
0500: ed e4 e0 f0 f2 ed f3 fe 2c 20 eb e8 e1 ee 20 ed ........, .... .
0510: e0 ef e8 f8 e8 f2 e5 20 f1 e2 ee fe 2e 0d 0a ce ....... ........
0520: f1 ed ee e2 ed ee e5 20 ee f2 eb e8 f7 e8 e5 20 ....... .......
0530: fd f2 ee e9 20 f0 e5 e0 eb e8 e7 e0 f6 e8 e8 20 .... ..........
0540: 2d 20 ef f0 e8 20 ef e5 f0 e2 ee ec 20 e2 fb e7 - ... ...... ...
0550: ee e2 e5 20 e4 eb ff 20 e4 e0 ed ed ee e9 20 e4 ... ... ...... .
0560: eb eb 0d 0a e8 ed e8 f6 e8 e0 eb e8 e7 e8 f0 f3 ................
0570: e5 f2 f1 ff 20 e2 f1 ff 20 f2 e0 e1 eb e8 f6 e0 .... ... .......
0580: 20 e8 ec ef ee f0 f2 e0 2c 20 e0 20 ed e5 20 ee ......., . .. .
0590: e4 e8 ed 20 e0 e4 f0 e5 f1 2e 20 c4 eb ff 20 f2 ... ...... ... .
05a0: ee e3 ee 20 f7 f2 ee e1 fb 0d 0a ea ee f0 f0 e5 ... ............
05b0: ea f2 ed ee 20 e2 fb ef ee eb ed ff eb ee f1 fc .... ...........
05c0: 20 ee e1 f0 e0 f9 e5 ed e8 e5 20 ea 20 e8 ec ef ......... . ...
05d0: ee f0 f2 e8 f0 f3 e5 ec fb ec 20 e8 e7 20 e4 eb .......... .. ..
05e0: eb 20 e4 e0 ed ed fb ec 2e 0d 0a ca f0 ee ec e5 . ..............
05f0: 20 f2 ee e3 ee 2c 20 e2 ec e5 f1 f2 ee 20 4c 6f ...., ...... Lo
0600: 61 64 4c 69 62 72 61 72 79 20 ef f0 e8 ec e5 ed adLibrary ......
0610: ff e5 f2 f1 ff 20 47 65 74 4d 6f 64 75 6c 65 48 ..... GetModuleH
0620: 61 6e 64 6c 65 2c 20 e4 eb ff 20 f2 ee e3 ee 2c andle, ... ....,
0630: 0d 0a f7 f2 ee e1 fb 20 ed e5 20 f3 e2 e5 eb e8 ....... .. .....
0640: f7 e8 e2 e0 f2 fc 20 f1 f7 e5 f2 f7 e8 ea 20 e7 ...... ....... .
0650: e0 e3 f0 f3 e7 ee ea 20 e4 eb eb 2c 20 e8 ed e0 ....... ..., ...
0660: f7 e5 20 ee ed e0 20 ed e5 20 e1 f3 e4 e5 f2 20 .. ... .. .....
0670: e2 fb e3 f0 f3 e6 e0 f2 fc f1 ff 0d 0a e2 ee e2 ................
0680: f0 e5 ec ff 2c 20 f7 f2 ee 20 ef f0 e8 e2 ee e4 ...., ... ......
0690: e8 f2 20 ea 20 ef e0 e4 e5 ed e8 ff ec 20 ef f0 .. . ........ ..
06a0: e8 20 e2 fb f5 ee e4 e5 20 e8 e7 20 ef f0 ee e3 . ...... .. ....
06b0: f0 e0 ec ec fb 2e 20 d2 e0 ea e8 ec 20 ee e1 f0 ...... ..... ...
06c0: e0 e7 ee ec 2c 0d 0a ed e5 20 ef ee eb f3 f7 e8 ....,.... ......
06d0: f2 f1 ff 20 ee e1 f0 e0 f9 e0 f2 fc f1 ff 20 ea ... .......... .
06e0: 20 ec e5 f2 ee e4 e0 ec 20 62 61 73 69 63 2e 64 ....... basic.d
06f0: 6c 6c 20 e4 ee 20 f2 ee e3 ee 2c 20 ea e0 ea 20 ll .. ...., ...
0700: ee ed e0 20 e1 f3 e4 e5 f2 0d 0a e7 e0 e3 f0 f3 ... ............
0710: e6 e5 ed e0 20 f1 e0 ec ee e9 20 31 d1 2e 0d 0a .... ..... 1....
0720: 2a 2f 0d 0a 0d 0a 23 69 6e 63 6c 75 64 65 20 3c */....#include <
0730: 64 65 6c 61 79 69 6d 70 2e 68 3e 0d 0a 0d 0a 23 delayimp.h>....#
0740: 70 72 61 67 6d 61 20 63 6f 6d 6d 65 6e 74 28 6c pragma comment(l
0750: 69 6e 6b 65 72 2c 20 22 2f 64 65 6c 61 79 6c 6f inker, "/delaylo
0760: 61 64 3a 62 61 73 69 63 2e 64 6c 6c 22 29 0d 0a ad:basic.dll")..
0770: 0d 0a 2f 2f 20 d4 f3 ed ea f6 e8 ff 20 e8 ed e8 ..// ....... ...
0780: f6 e8 e0 eb e8 e7 e0 f6 e8 e8 20 f2 e0 e1 eb e8 .......... .....
0790: f6 fb 20 e8 ec ef ee f0 f2 e0 2e 0d 0a 2f 2f 20 .. ..........//
07a0: d0 e5 e0 eb e8 e7 ee e2 e0 ed e0 20 e2 20 f0 e0 ........... . ..
07b0: f1 f7 e5 f2 e5 20 ed e0 20 ee e4 ed ee ef ee f2 ..... .. .......
07c0: ee f7 ed ee e5 20 ef f0 e8 eb ee e6 e5 ed e8 e5 ..... ..........
07d0: 2e 0d 0a 2f 2f 20 ce f1 ed ee e2 e0 ed e0 20 ed ...// ........ .
07e0: e0 20 ee f0 e8 e3 e8 ed e0 eb fc ed ee ec 20 ea . ............ .
07f0: ee e4 e5 20 4d 53 20 e2 20 56 43 39 38 5c 49 6e ... MS . VC98\In
0800: 63 6c 75 64 65 5c 64 65 6c 61 79 68 6c 70 2e 63 clude\delayhlp.c
0810: 70 70 0d 0a 65 78 74 65 72 6e 20 22 43 22 20 46 pp..extern "C" F
0820: 41 52 50 52 4f 43 20 57 49 4e 41 50 49 20 5f 5f ARPROC WINAPI __
0830: 64 65 6c 61 79 4c 6f 61 64 48 65 6c 70 65 72 28 delayLoadHelper(
0840: 50 43 49 6d 67 44 65 6c 61 79 44 65 73 63 72 20 PCImgDelayDescr
0850: 70 69 64 64 2c 20 46 41 52 50 52 4f 43 20 2a 70 pidd, FARPROC *p
0860: 70 66 6e 49 41 54 45 6e 74 72 79 29 0d 0a 7b 0d pfnIATEntry)..{.
0870: 0a 09 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 ..HINSTANCE hIns
0880: 74 20 3d 20 2a 70 69 64 64 2d 3e 70 68 6d 6f 64 t = *pidd->phmod
0890: 3b 0d 0a 09 69 66 28 21 68 49 6e 73 74 29 0d 0a ;...if(!hInst)..
08a0: 09 7b 0d 0a 09 09 2f 2f 20 cf ee eb f3 f7 e0 e5 .{....// .......
08b0: ec 20 ec ee e4 f3 eb fc 0d 0a 09 09 68 49 6e 73 . ..........hIns
08c0: 74 20 3d 20 47 65 74 4d 6f 64 75 6c 65 48 61 6e t = GetModuleHan
08d0: 64 6c 65 28 70 69 64 64 2d 3e 73 7a 4e 61 6d 65 dle(pidd->szName
08e0: 29 3b 0d 0a 09 09 69 66 28 21 68 49 6e 73 74 29 );....if(!hInst)
08f0: 0d 0a 09 09 7b 0d 0a 09 09 09 4d 65 73 73 61 67 ....{.....Messag
0900: 65 42 6f 78 28 4e 55 4c 4c 2c 20 22 cf ee ef fb eBox(NULL, "....
0910: f2 ea e0 20 ee e1 f0 e0 f9 e5 ed e8 ff 20 ea 20 ... ......... .
0920: 62 61 73 69 63 2e 64 6c 6c 20 e4 ee 20 e5 e5 20 basic.dll .. ..
0930: e7 e0 e3 f0 f3 e7 ea e8 22 2c 20 30 2c 20 30 29 ........", 0, 0)
0940: 3b 0d 0a 09 09 09 72 65 74 75 72 6e 20 4e 55 4c ;.....return NUL
0950: 4c 3b 0d 0a 09 09 7d 0d 0a 09 09 2a 70 69 64 64 L;....}....*pidd
0960: 2d 3e 70 68 6d 6f 64 20 3d 20 68 49 6e 73 74 3b ->phmod = hInst;
0970: 0d 0a 09 09 2f 2f 20 d2 e5 ef e5 f0 fc 20 ed e0 ....// ...... ..
0980: e4 ee 20 e7 e0 ef ee eb ed e8 f2 fc 20 e2 f1 fe .. ......... ...
0990: 20 f2 e0 e1 eb e8 f6 f3 20 e8 ec ef ee f0 f2 e0 ....... .......
09a0: 2e 0d 0a 09 09 2f 2f 20 c5 f1 eb e8 20 e5 f1 f2 .....// .... ...
09b0: fc 20 ef f0 e8 e1 e8 ed e4 e5 ed ed e0 ff 20 f2 . ............ .
09c0: e0 e1 eb e8 f6 e0 2c 20 ef f0 ee f1 f2 ee 20 f1 ......, ...... .
09d0: ea ee ef e8 f0 f3 e5 ec 20 e5 e5 2c 0d 0a 09 09 ........ ..,....
09e0: 2f 2f 20 e0 20 e8 ed e0 f7 e5 20 ef f0 ee e9 e4 // . ..... .....
09f0: e5 ec f1 ff 20 e2 20 f6 e8 ea eb e5 20 ef ee 20 .... . ..... ..
0a00: e2 f1 e5 e9 20 f2 e0 e1 eb e8 f6 e5 2c 20 e2 fb .... ......., ..
0a10: e7 fb e2 e0 ff 20 47 65 74 50 72 6f 63 41 64 64 ..... GetProcAdd
0a20: 72 65 73 73 0d 0a 09 09 44 57 4f 52 44 20 64 77 ress....DWORD dw
0a30: 49 64 78 20 3d 20 49 6e 64 65 78 46 72 6f 6d 50 Idx = IndexFromP
0a40: 49 6d 67 54 68 75 6e 6b 44 61 74 61 28 50 43 49 ImgThunkData(PCI
0a50: 6d 67 54 68 75 6e 6b 44 61 74 61 28 70 70 66 6e mgThunkData(ppfn
0a60: 49 41 54 45 6e 74 72 79 29 2c 20 70 69 64 64 2d IATEntry), pidd-
0a70: 3e 70 49 41 54 29 3b 0d 0a 09 09 44 57 4f 52 44 >pIAT);....DWORD
0a80: 20 64 77 49 6d 70 6f 72 74 73 20 3d 20 43 6f 75 dwImports = Cou
0a90: 6e 74 4f 66 49 6d 70 6f 72 74 73 28 70 69 64 64 ntOfImports(pidd
0aa0: 2d 3e 70 49 41 54 29 3b 0d 0a 09 09 0d 0a 09 09 ->pIAT);........
0ab0: 69 66 28 70 69 64 64 2d 3e 70 42 6f 75 6e 64 49 if(pidd->pBoundI
0ac0: 41 54 20 26 26 20 70 69 64 64 2d 3e 64 77 54 69 AT && pidd->dwTi
0ad0: 6d 65 53 74 61 6d 70 29 0d 0a 09 09 7b 0d 0a 09 meStamp)....{...
0ae0: 09 09 2f 2f 20 62 6f 75 6e 64 20 69 6d 70 6f 72 ..// bound impor
0af0: 74 73 20 65 78 69 73 74 2e 2e 2e 63 68 65 63 6b ts exist...check
0b00: 20 74 68 65 20 74 69 6d 65 73 74 61 6d 70 20 66 the timestamp f
0b10: 72 6f 6d 20 74 68 65 20 74 61 72 67 65 74 20 69 rom the target i
0b20: 6d 61 67 65 0d 0a 09 09 09 50 49 4d 41 47 45 5f mage.....PIMAGE_
0b30: 4e 54 5f 48 45 41 44 45 52 53 20 70 69 6e 68 20 NT_HEADERS pinh
0b40: 3d 20 50 49 4d 41 47 45 5f 4e 54 5f 48 45 41 44 = PIMAGE_NT_HEAD
0b50: 45 52 53 28 50 43 48 41 52 28 68 49 6e 73 74 29 ERS(PCHAR(hInst)
0b60: 20 2b 20 50 49 4d 41 47 45 5f 44 4f 53 5f 48 45 + PIMAGE_DOS_HE
0b70: 41 44 45 52 28 68 49 6e 73 74 29 2d 3e 65 5f 6c ADER(hInst)->e_l
0b80: 66 61 6e 65 77 29 3b 0d 0a 09 09 09 0d 0a 09 09 fanew);.........
0b90: 09 69 66 28 70 69 6e 68 2d 3e 53 69 67 6e 61 74 .if(pinh->Signat
0ba0: 75 72 65 20 3d 3d 20 49 4d 41 47 45 5f 4e 54 5f ure == IMAGE_NT_
0bb0: 53 49 47 4e 41 54 55 52 45 20 26 26 0d 0a 09 09 SIGNATURE &&....
0bc0: 09 09 70 69 6e 68 2d 3e 46 69 6c 65 48 65 61 64 ..pinh->FileHead
0bd0: 65 72 2e 54 69 6d 65 44 61 74 65 53 74 61 6d 70 er.TimeDateStamp
0be0: 20 3d 3d 20 70 69 64 64 2d 3e 64 77 54 69 6d 65 == pidd->dwTime
0bf0: 53 74 61 6d 70 20 26 26 0d 0a 09 09 09 09 44 57 Stamp &&......DW
0c00: 4f 52 44 28 68 49 6e 73 74 29 20 3d 3d 20 70 69 ORD(hInst) == pi
0c10: 6e 68 2d 3e 4f 70 74 69 6f 6e 61 6c 48 65 61 64 nh->OptionalHead
0c20: 65 72 2e 49 6d 61 67 65 42 61 73 65 29 0d 0a 09 er.ImageBase)...
0c30: 09 09 7b 0d 0a 09 09 09 09 6d 65 6d 63 70 79 28 ..{......memcpy(
0c40: 70 69 64 64 2d 3e 70 49 41 54 2c 20 70 69 64 64 pidd->pIAT, pidd
0c50: 2d 3e 70 42 6f 75 6e 64 49 41 54 2c 20 64 77 49 ->pBoundIAT, dwI
0c60: 6d 70 6f 72 74 73 20 2a 20 73 69 7a 65 6f 66 20 mports * sizeof
0c70: 49 4d 41 47 45 5f 54 48 55 4e 4b 5f 44 41 54 41 IMAGE_THUNK_DATA
0c80: 29 3b 0d 0a 09 09 09 09 72 65 74 75 72 6e 20 46 );......return F
0c90: 41 52 50 52 4f 43 28 70 69 64 64 2d 3e 70 49 41 ARPROC(pidd->pIA
0ca0: 54 5b 64 77 49 64 78 5d 2e 75 31 2e 46 75 6e 63 T[dwIdx].u1.Func
0cb0: 74 69 6f 6e 29 3b 0d 0a 09 09 09 7d 0d 0a 09 09 tion);.....}....
0cc0: 7d 0d 0a 09 09 2f 2f 20 cd e5 20 f3 e4 e0 eb ee }....// .. .....
0cd0: f1 fc 20 ef f0 e8 e2 ff e7 e0 f2 f1 ff 20 ea 20 .. .......... .
0ce0: ef f0 e8 e1 e8 ed e4 e5 ed ed ee e9 20 f2 e0 e1 ............ ...
0cf0: eb e8 f6 e5 2e 0d 0a 09 09 2f 2f 20 c1 f3 e4 e5 .........// ....
0d00: ec 20 e7 e2 e0 f2 fc 20 47 65 74 50 72 6f 63 41 . ..... GetProcA
0d10: 64 64 72 65 73 0d 0a 09 09 50 49 6d 67 54 68 75 ddres....PImgThu
0d20: 6e 6b 44 61 74 61 20 70 57 72 69 74 65 20 3d 20 nkData pWrite =
0d30: 70 69 64 64 2d 3e 70 49 41 54 3b 0d 0a 09 09 50 pidd->pIAT;....P
0d40: 43 49 6d 67 54 68 75 6e 6b 44 61 74 61 20 70 52 CImgThunkData pR
0d50: 65 61 64 20 3d 20 70 69 64 64 2d 3e 70 49 4e 54 ead = pidd->pINT
0d60: 3b 0d 0a 09 09 66 6f 72 28 44 57 4f 52 44 20 69 ;....for(DWORD i
0d70: 64 78 20 3d 20 30 3b 20 69 64 78 20 3c 20 64 77 dx = 0; idx < dw
0d80: 49 6d 70 6f 72 74 73 3b 20 69 64 78 2b 2b 29 0d Imports; idx++).
0d90: 0a 09 09 7b 0d 0a 09 09 09 70 57 72 69 74 65 2d ...{.....pWrite-
0da0: 3e 75 31 2e 46 75 6e 63 74 69 6f 6e 20 3d 20 28 >u1.Function = (
0db0: 50 44 57 4f 52 44 29 47 65 74 50 72 6f 63 41 64 PDWORD)GetProcAd
0dc0: 64 72 65 73 73 28 68 49 6e 73 74 2c 0d 0a 09 09 dress(hInst,....
0dd0: 09 09 28 70 52 65 61 64 2d 3e 75 31 2e 4f 72 64 ..(pRead->u1.Ord
0de0: 69 6e 61 6c 20 26 20 49 4d 41 47 45 5f 4f 52 44 inal & IMAGE_ORD
0df0: 49 4e 41 4c 5f 46 4c 41 47 29 20 3f 0d 0a 09 09 INAL_FLAG) ?....
0e00: 09 09 28 4c 50 43 53 54 52 29 20 70 52 65 61 64 ..(LPCSTR) pRead
0e10: 2d 3e 75 31 2e 4f 72 64 69 6e 61 6c 20 3a 0d 0a ->u1.Ordinal :..
0e20: 09 09 09 09 28 4c 50 43 53 54 52 29 20 70 52 65 ....(LPCSTR) pRe
0e30: 61 64 2d 3e 75 31 2e 41 64 64 72 65 73 73 4f 66 ad->u1.AddressOf
0e40: 44 61 74 61 2d 3e 4e 61 6d 65 29 3b 0d 0a 09 09 Data->Name);....
0e50: 09 70 52 65 61 64 2b 2b 2c 20 70 57 72 69 74 65 .pRead++, pWrite
0e60: 2b 2b 3b 0d 0a 09 09 7d 0d 0a 09 09 72 65 74 75 ++;....}....retu
0e70: 72 6e 20 46 41 52 50 52 4f 43 28 70 69 64 64 2d rn FARPROC(pidd-
0e80: 3e 70 49 41 54 5b 64 77 49 64 78 5d 2e 75 31 2e >pIAT[dwIdx].u1.
0e90: 46 75 6e 63 74 69 6f 6e 29 3b 0d 0a 09 7d 0d 0a Function);...}..
0ea0: 09 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 0d 0a 7d .return NULL;..}
0eb0: 0d 0a ..