动态加载DLL文件在NtDll内部的流程

本文解析了传奇游戏使用动态DLL文件的过程,详细介绍了从LoadLibrary到DLLMain的调用路径及反调试技巧,对于理解游戏客户端的安全机制具有一定参考价值。

 

    最近在弄传奇3的动态DLL文件的时候很恼火~~盛大的游戏的登陆之前会接受

一段代码,这段代码边解密边执行,中间不过是搜索KERNEL32的GetMoudleHandle、GetProcAddress、和LoadLibraryEx、SetUnhandleExceptionFilter(这个之后没怎么用到),找到这几个函数之后,进行动态加载。

如果在DLL加载进入游戏之后的话,调试会不起作用,可能觉得里面有ANTI的代码,但是确定没有调用DLL里面的函数。可能在DLLMAIN里面就已经执行了,跟了一下加载过程,得到一些流程。

 LoadLibrary----->LoadLibraryEx-------->BasepLoadLibraryAsDateFile--------------->NtMapViewofSection

之后到达这里。

7C921193    55              push    ebp
7C921194    8BEC            mov     ebp, esp
7C921196    56              push    esi
7C921197    57              push    edi
7C921198    53              push    ebx
7C921199    8BF4            mov     esi, esp
7C92119B    FF75 14         push    dword ptr [ebp+14]
7C92119E    FF75 10         push    dword ptr [ebp+10]
7C9211A1    FF75 0C         push    dword ptr [ebp+C]
7C9211A4    FF55 08         call    dword ptr [ebp+8]                ; 执行DLL MAIN
7C9211A7    8BE6            mov     esp, esi
7C9211A9    5B              pop     ebx
7C9211AA    5F              pop     edi
7C9211AB    5E              pop     esi
7C9211AC    5D              pop     ebp

0x7C9211A4 进去就能跟到DLLMAIN了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值