-
-
[旧帖] 求助 远程注入DLL 在LoadLibrary函数中调用了FreeLibrary 0.00雪花
-
发表于: 2012-3-10 03:02 7278
-
大家好,最近调试某GAME,想注入个DLL到目标程序,CreateRemoteThread后发现LoadLibrary函数中会调用FreeLibrary,释放掉此次加载的DLL.
首先我在目标程序LoadLibraryA处下断,然后回溯到ExitThread之前
跟进LoadLibraryA后
retn 4 后来到
在73DC88B9 FF15 9462DD73 call dword ptr [<&KERNEL32.FreeLibrar>; kernel32.FreeLibrary这句之前还会调用FreeLibrary卸载掉MFC那两个DLL(我的程序是VC6写的),中间代码繁多,苦与本人菜B就没有跟下去,然后这句过后就会把主DLL卸载掉
我测试注入其他程序都很正常,而且也没有调用FreeLibrary,用XT也没有检测出LoadLibrary被HOOK,也没有内核函数的HOOK,是否LoadLibrary会判断程序的某些设置而调用FreeLibrary,求各路大神指点啊
刚才又测试了下,使用LoadLibraryExA也会执行到73DC8839 8B35 0863DD73 mov esi, dword ptr [<&KERNEL32.SetEr>; kernel32.SetErrorMode
继续测试,往目标内存写入了call LoadLibraryExA后,加上一句call getlasterror,得到〖1114〗-动态链接库 (DLL) 初始化例程失败
发帖的时候没注意自己有200多Kx啊,悬赏涨到100,请高手支招啊!
首先我在目标程序LoadLibraryA处下断,然后回溯到ExitThread之前
7C80B6DC 6A 10 push 10 7C80B6DE 68 20B7807C push 7C80B720 7C80B6E3 E8 EE6DFFFF call 7C8024D6 7C80B6E8 8365 FC 00 and dword ptr [ebp-4], 0 7C80B6EC 64:A1 18000000 mov eax, dword ptr fs:[18] 7C80B6F2 8945 E0 mov dword ptr [ebp-20], eax 7C80B6F5 8178 10 001E000>cmp dword ptr [eax+10], 1E00 7C80B6FC 75 0F jnz short 7C80B70D 7C80B6FE 803D 0850887C 0>cmp byte ptr [7C885008], 0 7C80B705 75 06 jnz short 7C80B70D 7C80B707 FF15 F412807C call dword ptr [<&ntdll.CsrNewThread>>; ntdll.CsrNewThread 7C80B70D FF75 0C push dword ptr [ebp+C] 7C80B710 FF55 08 call dword ptr [ebp+8] ; kernel32.LoadLibraryA 7C80B713 50 push eax 7C80B714 E8 CF090000 call ExitThread
跟进LoadLibraryA后
7C801D7B > 8BFF mov edi, edi ...... 7C801DA3 E8 ABFFFFFF call LoadLibraryExA//执行此处后DLL加载成功 ...... 7C801DAB C2 0400 retn 4
retn 4 后来到
73DC8839 8B35 0863DD73 mov esi, dword ptr [<&KERNEL32.SetEr>; kernel32.SetErrorMode ...... 73DC88AD 68 646ADE73 push 73DE6A64 ; ASCII "MSVCRT.DLL" 73DC88B2 FF15 8C62DD73 call dword ptr [<&KERNEL32.GetModuleH>; kernel32.GetModuleHandleA 73DC88B8 50 push eax 73DC88B9 FF15 9462DD73 call dword ptr [<&KERNEL32.FreeLibrar>; kernel32.FreeLibrary 73DC88BF E8 420A0000 call #AfxTlsRelease_1566 73DC88C4 33C0 xor eax, eax 73DC88C6 40 inc eax 73DC88C7 5E pop esi 73DC88C8 C2 0C00 retn 0C
在73DC88B9 FF15 9462DD73 call dword ptr [<&KERNEL32.FreeLibrar>; kernel32.FreeLibrary这句之前还会调用FreeLibrary卸载掉MFC那两个DLL(我的程序是VC6写的),中间代码繁多,苦与本人菜B就没有跟下去,然后这句过后就会把主DLL卸载掉
我测试注入其他程序都很正常,而且也没有调用FreeLibrary,用XT也没有检测出LoadLibrary被HOOK,也没有内核函数的HOOK,是否LoadLibrary会判断程序的某些设置而调用FreeLibrary,求各路大神指点啊
刚才又测试了下,使用LoadLibraryExA也会执行到73DC8839 8B35 0863DD73 mov esi, dword ptr [<&KERNEL32.SetEr>; kernel32.SetErrorMode
继续测试,往目标内存写入了call LoadLibraryExA后,加上一句call getlasterror,得到〖1114〗-动态链接库 (DLL) 初始化例程失败
发帖的时候没注意自己有200多Kx啊,悬赏涨到100,请高手支招啊!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
看原图
赞赏
雪币:
留言: