吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6561|回复: 0
收起左侧

[分享] 记录一下:ntdll.LdrpCallInitRoutine

[复制链接]
Hmily 发表于 2010-7-29 15:18
7C93C33D     E8 344EFEFF            call ntdll.LdrpCallInitRoutine

7C921176 n>  55                     push ebp
7C921177     8BEC                   mov ebp,esp
7C921179     56                     push esi
7C92117A     57                     push edi
7C92117B     53                     push ebx
7C92117C     8BF4                   mov esi,esp
7C92117E     FF75 14                push dword ptr ss:[ebp+14]
7C921181     FF75 10                push dword ptr ss:[ebp+10]
7C921184     FF75 0C                push dword ptr ss:[ebp+C]
7C921187     FF55 08                call dword ptr ss:[ebp+8]                          ; IMAGEHLP.<ModuleEntryPoint>
7C92118A     8BE6                   mov esp,esi
7C92118C     5B                     pop ebx
7C92118D     5F                     pop edi
7C92118E     5E                     pop esi
7C92118F     5D                     pop ebp
7C921190     C2 1000                retn 10

标 题: Diy OllyDbg's Loaddll.exe
作 者: jingulong
时 间: 2005-08-13,13:02:49
链 接: http://bbs.pediy.com/showthread.php?t=16140

目的:用OllDbg中断在dll的入口
一、编写plugin :
1.  DllEntryPoint如图:

2.ODBG_Plugininit如图:新启一个线程,由此线程的函数WinMain创建一个(隐藏)窗口。

3.窗口回调函数如图:

至此,plugin设计完成,它所起的作用是:
1.  当得到WM_USER消息时返回dll入口地址(在MyLdrpCallInitRoutine中)
2.  当得到WM_USER+1消息时在wParam指示的地址(就是你调试点dll入口点)设置临时断点(Tempbreakpoint)。

二、  在dll的加载进程中与plugin通讯。
    为此,可以写一个加载程序(就好像DLL_Loader),我这里选择diy llyDbg配套的loaddll.exe,因为只有它可与OD“无缝对接”。用LordPE打开程序看看结构,当看到它的ExportTable时,感觉实在妙!下面是其截图:

    每个导出函数名称叫人看了都如此受用,特别是PatchArea!Oleh Yuschuk为我们考虑得实在周到。Thanks
Diy 过程:
1.  把ImportTable中的GetCommandLineA改成GetProcAddress
2.  Patch

   为:

并在Patcharea(410298)处键入:

以完成原语句的功能。这里程序中原来没有的字符串(如“GetCommandLineA”)等在data区或rsrc区段空白处录入。
3.Patch

为 call  4102B5,并在4102B5开始写入如下代码:



以上代码完成的主要任务是hook dll entrypoint,当程序查到入口处是调试点dll oep 时通知plugin设置断点,使OllyDbg中断在那里,这样我们可以少飞许多手脚。

btw:
Fly说“不是”。这里算是一篇“是”的说明吧。

http://bbs.pediy.com/showthread.php?s=&threadid=16082

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 06:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表