Xjun 发表于 2015-5-18 11:39

Ring3 DebugMe!

本帖最后由 Xjun 于 2015-5-18 12:21 编辑

//突发奇想的方法,不知道可不可行

//只写了检测OD调试器代码 论坛里自称"最强" "无视一切"OD的可以试试

//程序不准爆破,强制修改,试试你们的OD有没有被检测到!   

//有BUG跟帖回复

//10楼开源   
                        by:Xjun


Attach:

叶落 发表于 2015-5-18 13:42

本帖最后由 叶落 于 2015-5-18 13:44 编辑


52曾经一个DebugCM也是这么做,HOOK蛮好的,论坛是没有最强的OD的,只有不断的Anti

叶落 发表于 2015-5-18 21:22

不用改动DLL或者是那个EXE的任何一处代码,这种单一的Anti还算好的了,以前见识过,他当时还VM了,搞了好久...
跟某种壳在Tls检测OEP的感觉类似,OD2配置下即可过了,MeDebug可过,X64DBG可过......OD1.01的版本用我以前写着玩的一个插件改变了软中断,虽然BUG很多但还是可以将就用的,海风牛说过自己做调试器的话最好是在OEP处下硬断
膜拜钩子,但R3的话得考虑HIPS,VT同不同意吧...{:6_209:}

月光下の魔术师 发表于 2015-5-18 21:39

SetWindowsHookEx,期待能过的大神分享经验,反正看到HOOK就头大……

Xjun 发表于 2015-5-18 21:51

本帖最后由 Xjun 于 2015-5-18 22:00 编辑

叶落 发表于 2015-5-18 21:22
不用改动DLL或者是那个EXE的任何一处代码,这种单一的Anti还算好的了,以前见识过,他当时还VM了,搞了好久 ...
非常给力哦,赞,因为程序是临时写的,没有加密,而且只对OD1.01做了检测代码,其他调试器都是可以过的。

但是这个貌似和软中断没关系,我在EXE添加了输入表,当你程序到OEP时候,必须得加载DLL,加载DLL就已经运行了DllMain函数了,如果用VT技术OD1.01版本也是一样会被Anti,因为全局钩子,你OD启动时候就被Anti了。

梦幻岛主 发表于 2015-5-18 22:07

{:5_116:}Xjun我爱你 加油

叶落 发表于 2015-5-18 23:54

Xjun 发表于 2015-5-18 21:51
非常给力哦,赞,因为程序是临时写的,没有加密,而且只对OD1.01做了检测代码,其他调试器都是可以过的。 ...

我看了一下,似乎也是判断OEP的前几个字节,怎么会跟软中断无关呢,你用HOOK我也能用HOOK,OD会在入口点那里下CC断点,只要你写个插件替换这CC软件断点为硬件断点或者手动的话,就可以骗过DLL中的检测了,我已测试过,暂时可以过。因为全局钩子,OD可以事先设置中断于新模块,所以我能看到OEP的时候还没加载DLL。
用PCHunter中也可以操作全局钩子,可能还要加多些判断好点吧{:6_225:}

Xjun 发表于 2015-5-19 12:23

叶落 发表于 2015-5-18 23:54
我看了一下,似乎也是判断OEP的前几个字节,怎么会跟软中断无关呢,你用HOOK我也能用HOOK,OD会在入口点 ...

大牛考虑的太多了,有点扯远了。
//软件在OEP下CC断点和硬件断点都没多大关系
//如果你中断于模块是可行的,因为这样没有中断到OEP,这样你可以调试DLL进行修改了
//用XT开卸载全局钩子也可以过检测
//反调试并没有你想的那么复杂, 我手动添加了个导入表,当你程序跑到OEP之前,必会加载DLL,当加载一个DLL时候 DllMain函数必须执行的,我在DllMain里添加了个全局消息钩子,这个时候就已经接管了你的OD窗口消息,这样DLL在判断XXXX地址是否是OD的来判断检测。

腾龙细雨 发表于 2015-5-30 19:00

直接关掉了{:5_191:}

本兮 发表于 2015-6-3 23:48

本帖最后由 本兮 于 2015-6-4 21:48 编辑



十楼了 开源吧{:5_116:}@Xjun
页: [1] 2
查看完整版本: Ring3 DebugMe!