首页
社区
课程
招聘
[[求助]OD枚举模块,和使程序暂停所用的API?
发表于: 2008-12-25 13:50 10408

[[求助]OD枚举模块,和使程序暂停所用的API?

2008-12-25 13:50
10408
小弟最近调试某驱动保护软件...TesS***.sys
已经绕过其所保护的
nt!NtReadVirtualMemory
nt!NtWriteVirtualMemory
nt!KiAttachProcess
nt!ObOpenObjectByPointer
.......等重要的函数....
用 OD 可以顺利的附加
目前的问题是  OD 附加进去后 不能使目标程序暂停下来.....不得得到 模块信息.....
高手指教.....让程序暂停 会使用什么 API??????????

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 424
活跃值: (992)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
附加 目标程序的 LOG

Log data
地址      消息
          OllyDbg v1.10
            点阵字体 'MS Sans Serif' 已被替换为 '宋体'
          Asm2Clipboard PlugIn v0.1
            Written by FaTmiKE 2oo4
            I used code snippets from ExtraCopy PlugIn v1.0 by Regon
            ...so thanks to Regon for his great job!
          Bookmarks sample plugin v1.06 (plugin demo)
            Copyright (C) 2001, 2002 Oleh Yuschuk
          CleanupEx v1.12.108  by Gigapede
          CommandBar v3.00.108
            Originary Written by Oleh Yuschuk  Modified by Gigapede  Contributors:TBD Wayne psyCK0 mfn

          GODUP ver 1.2 by godfather+ - Delphi edition

          自动添加注释插件 v0.04
              版权归红尘岁月所有
          ODbgScript v1.65.2 chinese version by hnhuqiong
            http://bbs.pediy.com or http://www.unpack.cn
          OllyDump v3.00.110  by Gigapede
          OllyMachine v0.20
            Written by Luo Cong
            Compiled on Dec  7 2004 14:32:15
          StrongOD v0.20
            Written by 海风月影[CUG][RCT]
            Compiled on Nov  6 2008 18:19:42
          Fix PeBug In 0x5C671
          Fix PeBug In 0x5D827
          Fix PeBug In 0x5D8B7
          Fix PeBug In 0xC870A
          Fix FindFileOffset In 0x45DF58
          KernelMode Enable!
          HookSSDT Successful!
          Ultra String Reference v0.11
            Written by Luo Cong
            Compiled on Sep 20 2005 15:33:30
          WatchMan v1.00  by Gigapede
                        数据格式转换 plugin v1.1
          该插件可以将内存里的二进制数据转换为相应的编译语言数据格式
                  Copyright (C) 2006 by zhanshen[DFCG][RCT]
          正在扫描导入库 '.\LIB\MFC42.Lib'
            已解析出 6384 个序号
          正在扫描导入库 '.\LIB\mfc71.Lib'
            已解析出 6442 个序号
          文件 'E:\Game\DNF\DNF.exe'
          ID 0000167C 的新进程已创建
          ID 00001088 的主线程已创建
7C810659  ID 000011D8 的新线程已创建
7C810659  ID 000015A8 的新线程已创建
7C810659  ID 000010A0 的新线程已创建
7C810659  ID 000012FC 的新线程已创建
7C810659  ID 00000AE4 的新线程已创建
7C810659  ID 000005E0 的新线程已创建
7C810659  ID 00001300 的新线程已创建
7C810659  ID 00001108 的新线程已创建
7C810659  ID 00001264 的新线程已创建
7C810659  ID 000007F0 的新线程已创建
7C810659  ID 00001704 的新线程已创建
7C810659  ID 000015F0 的新线程已创建
7C810659  ID 000011B0 的新线程已创建
7C810659  ID 00000C8C 的新线程已创建
7C810659  ID 00000D74 的新线程已创建
7C810659  ID 000014A8 的新线程已创建
7C810659  ID 000013B8 的新线程已创建
7C810659  ID 000010AC 的新线程已创建
2008-12-25 14:24
0
雪    币: 424
活跃值: (992)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
附加正常程序的日志

           正在扫描导入库 '.\LIB\MFC42.Lib'
             已解析出 6384 个序号
           正在扫描导入库 '.\LIB\mfc71.Lib'
             已解析出 6442 个序号
           文件 'D:\mdb.exe'
           ID 00001508 的新进程已创建
           ID 00001138 的主线程已创建
7C97077B   ID 000012B0 的新线程已创建
00400000   模块 D:\mdb.exe
             导入函数的查找表超过了.idata的范围
10000000   模块 D:\Program Files\360safe\safemon\safemon.dll
20000000   模块 C:\WINDOWS\system32\odbcint.dll
5ADC0000   模块 C:\WINDOWS\system32\uxtheme.dll
5D170000   模块 C:\WINDOWS\system32\comctl32.dll
61BE0000   模块 C:\WINDOWS\system32\mfc42loc.dll
62C20000   模块 C:\WINDOWS\system32\lpk.dll
63000000   模块 C:\WINDOWS\system32\SynTPFcs.dll
73540000   模块 C:\WINDOWS\system32\odbc32.dll
73640000   模块 C:\WINDOWS\system32\MSCTFIME.IME
73D30000   模块 C:\WINDOWS\system32\mfc42.dll
73FA0000   模块 C:\WINDOWS\system32\usp10.dll
74680000   模块 C:\WINDOWS\system32\msctf.dll
76300000   模块 C:\WINDOWS\system32\imm32.dll
76320000   模块 C:\WINDOWS\system32\comdlg32.dll
76990000   模块 C:\WINDOWS\system32\ole32.dll
76BC0000   模块 C:\WINDOWS\system32\psapi.dll
770F0000   模块 C:\WINDOWS\system32\oleaut32.dll
77180000   模块 C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll
77BD0000   模块 C:\WINDOWS\system32\version.dll
77BE0000   模块 C:\WINDOWS\system32\msvcrt.dll
77D10000   模块 C:\WINDOWS\system32\user32.dll
77DA0000   模块 C:\WINDOWS\system32\advapi32.dll
77E50000   模块 C:\WINDOWS\system32\rpcrt4.dll
77EF0000   模块 C:\WINDOWS\system32\gdi32.dll
77F40000   模块 C:\WINDOWS\system32\shlwapi.dll
77FC0000   模块 C:\WINDOWS\system32\secur32.dll
7C800000   模块 C:\WINDOWS\system32\kernel32.dll
7C920000   模块 C:\WINDOWS\system32\ntdll.dll
7D590000   模块 C:\WINDOWS\system32\shell32.dll
7C921230   附加的进程暂停于 ntdll.DbgBreakPoint
2008-12-25 14:25
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
暂停是,Dbgbreakpoint()
可能被Hook了,就停不下来了

枚举模块就是普通的API
2008-12-25 15:18
0
雪    币: 424
活跃值: (992)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
多谢楼上回复..
2008-12-25 18:27
0
雪    币: 424
活跃值: (992)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
经测试...不是 nt!Dbgbreakpoint 的问题.....
2008-12-25 22:01
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
7
Win32调试API不支持暂停程序这一功能,是通过向进程注入一个线程,让这个线程触发断点而实现的。

虽然Windows XP以上多了一个DebugBreakProcess()函数,不过根据OpenRCE上的技术文章,这个函数通过调用原生API函数DbgUiIssueRemoteBreakin()来实现,而该原生API函数实际上也是向进程注入一个线程并让这个线程来触发断点异常来实现的。

原文链接(注:原文3部分,下面给出其中一部分):

http://www.openrce.org/articles/full_view/25
2008-12-25 22:31
0
雪    币: 22
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
[QUOTE=;]...[/QUOTE]
这不是shoooo写的?
2008-12-26 01:14
0
雪    币: 217
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
就是普通的NtSuspendThread,和NtSuspendProcess
2008-12-26 08:58
0
雪    币: 424
活跃值: (992)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
多谢牛人回复哈....我在想  可能是因为没到得到主模块...而导致没能向模块内注入线程导致
一会儿试下..
2008-12-26 10:49
0
雪    币: 240
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
EPROCESS->DebugPort被清0了,所以你的OD不能调试,继续搞吧
2009-2-15 20:35
0
雪    币: 6
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
TS 就是 把 EPROCESS->DebugPort 清0 了, OD 收不到信息
2009-2-17 00:43
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
13
直接OpenProcess实现调试功能
2009-2-17 02:27
0
游客
登录 | 注册 方可回帖
返回
//