吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1971|回复: 14
收起左侧

[CrackMe] 反调试CM

  [复制链接]
ICEY 发表于 2023-3-13 22:32
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。

仿照一个面试题的CM做的,应该算是弱化版吧。

成功条件:

调试器运行或附加的情况下,成功运行(调试),点击测试按钮 弹出以下消息框。


CM下载:




随便带上源码吧哈哈哈,没思路就可以参考一下源码:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

点评

想要面试题,哈哈。  发表于 2023-3-14 19:33

免费评分

参与人数 1热心值 +1 收起 理由
chengang5301 + 1 谢谢@Thanks!

查看全部评分

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

nug 发表于 2023-4-7 23:42
最近想学习反调试,正好看到楼主这个帖子,对于想入门又找不到门的我非常合适,很感谢楼主的整理,因为菜鸡一个,看的过程中有些疑问,不是很理解
  疑点1. DbgPrompt 的反调试原理是什么,如果ring3会抛异常,那调试器也属于ring3啊。难到也和debugport有关系吗?
  疑点2. NtSetInformationThread(GetCurrentThread(), 17, NULL, 0);//ThreadHideFromDebugger 设置隐藏调试 ,让调试器无法接受断点,可以这么理解吗?
  疑点3. NtQueryInformationThread(GetCurrentThread(), 0x11, &out1, 1, NULL);通过out判断,out=1,没有调试,out=0,有调试,这个不是很理解,
  疑点4:刚开始就设置PEBBase[2]=0xf5,感觉有点反反调试了


最后对于楼主的
  从内核角度认识反调试基本原理
  https://www.52pojie.cn/thread-1681048-1-1.html
  (出处: 吾爱破解论坛)
甚是震惊,到现在很多地方都没看懂,再接再厉

最后 再次感谢楼主的分享~~~~

随风起舞 发表于 2023-3-14 02:32
好像没有反调试吧,我用普通版的都能了。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
 楼主| ICEY 发表于 2023-3-14 08:21
随风起舞 发表于 2023-3-14 02:32
好像没有反调试吧,我用普通版的都能了。。。

是这样的啦,检测走的都是常规的系统函数调用,整个稍微强一点的插件都能过了。
qrmq136 发表于 2023-3-14 13:05
不错,学习了,。感谢

免费评分

参与人数 1吾爱币 -15 违规 +1 收起 理由
RS水果 -15 + 1 本版块禁止回复与主题无关非技术内容,违者重罚!

查看全部评分

cxor 发表于 2023-3-14 17:50
可以的 跟大佬多多学习

免费评分

参与人数 1吾爱币 -15 违规 +1 收起 理由
RS水果 -15 + 1 本版块禁止回复与主题无关非技术内容,违者重罚!

查看全部评分

嘟囔嘟囔 发表于 2023-3-14 21:24
自己写自己破   壳网上有一堆直接加
110120130 发表于 2023-3-15 13:08
学习学习

免费评分

参与人数 1吾爱币 -15 违规 +1 收起 理由
RS水果 -15 + 1 本版块禁止回复与主题无关非技术内容,违者重罚!

查看全部评分

DSJ6278099 发表于 2023-3-15 13:50
支持 一定要坚持

免费评分

参与人数 1吾爱币 -15 违规 +1 收起 理由
RS水果 -15 + 1 本版块禁止回复与主题无关非技术内容,违者重罚!

查看全部评分

 楼主| ICEY 发表于 2023-4-8 00:51
nug 发表于 2023-4-7 23:42
最近想学习反调试,正好看到楼主这个帖子,对于想入门又找不到门的我非常合适,很感谢楼主的整理,因为菜鸡 ...

好问题哈哈哈
1.DbgPrompt 触发 int 0x2d 这个中断能让KdIsThisAKdTrap返回1。将异常强制发往内核调试器(如果有内核调试器的话)这样就可以检测内核调试器(看我这篇帖子https://www.52pojie.cn/thread-1663524-1-1.html)。能检测用户调试器是因为,触发 int0x2d时,CPU执行环境是x64,不是x32,我们平常使用的调试器是 x32dbg,Od之类的,只能拿到x32的异常,拿到x64的异常时,就默认直接返回异常已经处理,所以就能检测到调试器啦。
2.是的,设置调试隐藏后,这个线程的异常就不发往调试器了(https://www.52pojie.cn/thread-1681048-1-1.html 这篇帖子最下面有写)
3.这个检测是和你第二个问题对应。检测线程的调试隐藏是否被恢复。
4.被你发现了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 10:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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