首页
社区
课程
招聘
[原创]全新的反调试CM
发表于: 2014-4-28 15:48 15205

[原创]全新的反调试CM

2014-4-28 15:48
15205



一种全新的反调试思路.
程序主要参考了 tmd和超时代 的思路.

反strongod插件以及所有的动态调试器都反..

程序运行起来后.点那个按钮,会触发 MessageBoxA  断点.
如果你能在ollydbg中断下来, 那么,你就搞掂了,如果你搞掂了,记得分享一下过程  :)


更新说明: 14/04/28  15:46
刚刚有朋友反映说无网的情况下,进程会结束.
我之前程序里面msg的内容是从网上获取的.
我是直接用的 cstdiofile 操作类的.对这个类不怎么了解.
现在改成,无需网络的,直接 msg 内容.

更新说明: 14/04/28  22:17
发现代码bug, 原来反调试没有加进去.现在更正..

更新说明: 14/04/29  11:46
有朋友和我说程序加壳了,现在放一个无壳的程序.代码无任何处理.无壳程序新增了一个异常.

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (33)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
先抢八爷沙发。 再足危
2014-4-28 15:49
0
雪    币: 2664
活跃值: (3401)
能力值: ( LV13,RANK:1760 )
在线值:
发帖
回帖
粉丝
3
顶八两...
2014-4-28 15:50
0
雪    币: 1737
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
顶八哥,记得到时候出教程啊。。。
2014-4-28 15:52
0
雪    币: 295
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
ls几位怎么都不下载啊?
2014-4-28 15:54
0
雪    币: 370
活跃值: (52)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
6
是我电脑问题吗 xp sp3 你这个exe文件 peid 双击 winhex 我这都打不开
一会儿就被系统删除了 还没见过这样的exe文件 是特殊构造的文件格式吗
安全软件关了的
2014-4-28 16:28
0
雪    币: 1559
活跃值: (1795)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wbs
7
shadow api吗!内核重载还想也可以的!
2014-4-28 16:33
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
8
我vmware xp x86
物理机 win7 x64
测试都是没有问题的.

你方便我远程看一下吗?
2014-4-28 16:34
0
雪    币: 16420
活跃值: (1680)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
顶上这位就是大名鼎鼎的教程先生~~~,业界知名人物啊~~~
大家赶紧组团围观啊~~
2014-4-28 16:46
0
雪    币: 70
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
已经有新技术了
2014-4-28 16:57
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
11
还有种新的方式检测硬件中断的,不知道八两兄有没注意过,不通过常规手段获取硬件中断信息.

跟VXK被这个检测搞蛋疼了!

调试进程之 自己调试!

把自己创建一个挂起子进程 然后附加  然后那个BUTTN是个坑

00000000`0040150a cc              int     3
00000000`0040150b 5f              pop     edi
00000000`0040150c c20400          ret     4

触发异常后

处理完这些后面还有坑....
好坑  感觉不会再爱了!
2014-4-28 17:39
0
雪    币: 459
活跃值: (398)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
12
估计shadow了,下载看一下
2014-4-28 17:50
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
表示正在纠结 超时代
2014-4-28 17:51
0
雪    币: 135
活跃值: (63)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
14
占座,学习,只听说tmd的反调试是线程有ThreadHideFromDebugger,就不给DebugPort发消息了。
2014-4-28 17:56
0
雪    币: 341
活跃值: (143)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
15
我是来捡肥皂的
2014-4-28 19:06
0
雪    币: 166
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
好邪恶,里面那层还加了VMP的壳,难怪有点慢。
2014-4-28 19:20
0
雪    币: 6
活跃值: (1509)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
晕死  我以为是 源码  立马删除
2014-4-28 19:45
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
18
现在知道原因了,应该是你断网的问题.现在更新了不需要网络了.
2014-4-28 23:24
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
19
内存校验的代码被VM了,移除有些困难啊,只能用猥琐的方法,可能有些违规。步骤如下:
1:运行CM程序
2:开启OD,附加标题为“反调试”的程序。此程序主调试监控进程。断点:ContinueDebugEvent ,F9
3:点击CM程序 XXX按钮,此时会断在ContinueDebugEvent.接着F9,一共按5次。第五次按完后,记录栈中的参数,进程PID和线程TID 。(这里是断在了第二个线程创建的事件上,该线程负责运行MessageBoxA)
4:用你喜欢的方挂起上边记录的TID 线程,并在ContinueDebugEvent的返回地址处下断,F9 ,中断在返回地址处。
5:在OD窗口中,用你喜欢的方式调用 DebugActiveProcessStop( PID ),我是直接编辑内存并调整EIP直接调用的。调用完成后,可以退出OD了。此时CM程序不会退出,原因是调试进程已经被我们分离了。
6:OD附加CM进程(此时只有一个CM进程了),附加进去之后,在MessageBoxA的首字节设置硬件读取断点(1字节)(这个感觉有些违规了,没办法了,呵呵)。F9.
7:打开线程窗口,恢复被我们之挂起的线程,此时刚刚设置的硬件读取断点(1字节)会命中。命中之后 bp MessageBoxA ,F9  成功断在 MessageBoxA
2014-4-29 06:46
0
雪    币: 92
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
膜拜一下
2014-4-29 08:26
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
21
你前面说的1-5步,都是为了detach.
最后的2步. 其实也算是一种方法.不过这是显示的知道了调用msg函数.如果是调用UI没有明显变化的函数.那你用此招,好像就没有办法了.
你的方法可以说是争对性的,只争对 msg.

如果你有兴趣的话,我可以发你个无壳版的,这样就能更方便分析了.
2014-4-29 09:54
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
22
而且我看你下载的好像是之前老版本的.
老版本的是没有加入我说的反调试技术的.
现在更新的版本才加入了反调试技术.

如果是老版本的话,你直接attach 子进程.然后直接NOP掉 int 3 然后 f9 .
你会发现,就能运行了.
2014-4-29 10:02
0
雪    币: 1689
活跃值: (379)
能力值: ( LV15,RANK:440 )
在线值:
发帖
回帖
粉丝
23
方法是昨天晚上想出来的,今天早上看你更新了,就又下载了,同样测试了,方法有效。不过这不是个好方法,呵呵。确实针对性太强了,只针对Msg。不过,Crack的时候有针对性的猜测断点是很关键的,如果UI无明显变化,即使是正常程序,又该如何寻找关键代码,消息断点一类?然后接着各种VM,总之,一件很蛋疼的事情。
2014-4-29 11:09
0
雪    币: 223
活跃值: (516)
能力值: ( LV13,RANK:520 )
在线值:
发帖
回帖
粉丝
24
上传了无壳版本的了.
2014-4-29 11:54
0
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
25
我爱简单,我爱粗暴。
无壳版教程:
第一步,用Lordpe把资源“BIN”下面的那个129号资源dump下来,取名xxx.exe。
第二步,用Winhex打开这个xxx.exe
第三步,修改文件偏移0x145a处的cc为90,修改0x1468处的33C1为eb05。
第四步,保存文件。
随便对xxx.exe下断点吧,它就是本体。反正IDA自带的调试器都可以随便搞了……
2014-4-29 14:08
0
游客
登录 | 注册 方可回帖
返回
//