首页
社区
课程
招聘
[旧帖] [求助]请教CreateRemoteThread如何调试 0.00雪花
发表于: 2009-3-23 15:10 4889

[旧帖] [求助]请教CreateRemoteThread如何调试 0.00雪花

2009-3-23 15:10
4889
搜了一下只有一篇文章说线程开头int3

还是没搞懂。

哪位老大能将详细一点么?

我做过如下试验

1. 在要注入的函数中加上
asm{
int3
}
编译没成功 囧~
2. 在要注入函数中加入特征字符串"some string only for debug"
然后在CreateRemoteThread之前到od里去被注入进程查找这个特征字符串

没找到

3.直接在要注入函数中写些垃圾代码造成异常。

结果是ok了,提示出错,让我debug,但进入debug看到的不是我写的代码。



哪位大大点拨一下俺吧

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 83
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
2
断在BaseThreadStart上边.
2009-3-23 15:18
0
雪    币: 235
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
太帅了,楼上的兄弟
请留步!

遇上另外一个问题。
我的代码里有错误,用你的办法停下了。
但如果我代码没错,为什么就不会停了呢。。
2009-3-23 15:48
0
雪    币: 83
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
假设环境:Inject.exe,Target.exe
我的方法是:在Inject.exe的CreateRemoteThread处下断.在Target.exe的BaseThreadStart下断.
然后运行CreateRemoteThread.则Target.exe必定会断在BaseThreadStart处.
2009-3-23 15:51
0
雪    币: 235
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
不对不对,貌似还是由于我程序错误的异常造成od停下来的
2009-3-23 15:53
0
雪    币: 83
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
不应该会出现这种情况.按我的理解.在目标进程中创建一个新的线程,必定要经过BaseThreadStart这个函数调用新线程的入口函数.具体你可以参考一下张银奎先生的<<软件调试>>.
2009-3-23 15:55
0
雪    币: 235
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
你说的inject.exe和Target.exe都是在od里是吧

我试试。

我就是一个最简单的 网上的例子

给NotePad远程注入跳一个对话框

想看看如何调试
2009-3-23 15:55
0
雪    币: 83
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
inject.exe的是指你的注入进程.target.exe是被注入进程.两者都可以是在od,windbg,vc debugger或者其他任何ring3调试器中.
2009-3-23 15:59
0
雪    币: 83
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
http://bbs.pediy.com/showthread.php?t=78032
可以参考一下我以前发的一个帖子.
2009-3-23 16:04
0
雪    币: 235
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
奇怪,请帮我看一下我步骤有啥不对的
1.用od打开notepad
2.输入bpx BaseThreadStart
3.F9运行起来

4.执行inject
5.在inject的CreateRemoteThread后调用MessageBox,防止执行到此后的VirtualFreeEx等清理工作
2009-3-23 16:07
0
雪    币: 83
活跃值: (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
11
嗯。就是这个步骤。
2009-3-23 16:13
0
游客
登录 | 注册 方可回帖
返回
//