吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2409|回复: 9
收起左侧

[CrackMe] 测压下某保护壳强度

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

本帖最后由 忆魂丶天雷 于 2022-1-9 00:42 编辑


查毒截图:

关键代码截图:
打码部分为某保护壳保护标志


检测成功状态:


检测失败状态:



相关要求:
1.注意:文件不能改名 必须为“检测.exe”,否则点击按钮会异常。
2.打开后点击按钮会检测OD CE窗口特征 标题名称和类名(包括目录名称)。成功则返回真,失败则返回假+耗时。
3.主要是测试某保护壳保护代码能力强度,比如说测试下能不能把点击按钮后的检测ret,或者直接按钮单击事件ret,并且生成出检测_破解.exe
4.测试程序仅保护了按钮单击事件 和 窗口特征检测()这两个子程序 (如上面截图)其他地方均未进行处理(易语言特征 api hook等)所以测压主要针对这两个地方(即这两个子程序代码段内),程序为易语言编写,并没有抹除易语言特征,之前有大佬通过修改易语言特征码达到过检测(点击按钮 存在窗口特征依旧返回假),但与本次测试原意相违背........所以做出一定限制。

源文件地址:https://wwi.lanzouy.com/i4I6xyjg99c
论坛下载:

提供两个版本:
1.检测.exe(原版,仅添加了需要测压的保护壳)
2.检测[抹除易语言特征版本].exe(原版的基础上利用加强版vmp抹除了部分易语言特征,无其他保护)(如果需要正常测试,也需要改名检测.exe才能正常运行)

第一次本板块发帖,如有违规请版主手下留情。

如果成功希望可以给出一定加强保护的意见,或者说下有什么地方可以改进,什么方面让你感受到了压力(如果有

本帖子中包含更多资源

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

x

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
wdq1813506091 + 1 + 1 谢谢@Thanks!
yixi + 1 + 1 谢谢@Thanks!

查看全部评分

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

成熟的美羊羊 发表于 2022-1-9 13:44
本帖最后由 成熟的美羊羊 于 2022-7-22 22:13 编辑

[md]##### 程序是动态执行代码的 , 按下按钮

在VirtualAlloc中下断点 , 运行到ret处 , 添加内存写入断点



下上内存执行断点



F9运行后 , F7几次 , 就到了我们的函数入口了


X96Dbg打开跟踪



进行单步跟踪



跟的很慢 , 大概跟到了这个地方 , 应该是在解码要运行的代码 , 既然是在解码 , 应该还要再分配一段内存 , F9



程序果然断下 , 重复上面的操作 , 不要下内存执行断点(程序会崩溃) , 下内存写入断点



我们到了这个动态运行代码的核心地址 , 修复重定位 , 巴拉巴拉的操作



我们到他的函数头上下上断点 , 注意我们的堆栈



上方 , 就是我们分配内存的代码



给他打上标签



我们跳出调用核心函数的循环 ,修复完成后 , 我们给分配的地址002D0000(这个地址不准确)下上内存执行断点



F9 , 运行到了真正要执行的函数 , 一直F7



就到了这里 , 调用函数里的函数 , 即 调用反调试函数 , F9几下观察堆栈



被检测到了 , 函数执行了4次 , 那么我们在第3次开始跟踪 (可能执行了3次 , 我的Dbg有点问题)



出现了一堆窗口检测的字符串 , F7跟踪看看

跟踪了20万步左右 , 到了这个地方 , 很诡异对吧 , 往上翻翻



原来是窗口检测反调试 , 在函数头打上标签


Ctrl+9运行到Ret , F8出CALL , 到了动态执行代码段 , 将eax写0


看 , 反调试过掉了!


很简单对吧 , 如果是修改系统函数的话 , 我的SharpOD全开 , 然后HOOK GetDesktopWindow返回0就过了 , 补丁两周后回来写 , 或者修改窗口检测函数,  让他返回0 ,溜了溜了 ,


免费评分

参与人数 3吾爱币 +4 热心值 +2 收起 理由
忆魂丶天雷 + 2 + 1 用心讨论,共获提升!
tail88 + 1 + 1 我很赞同!
Myitmx + 1 我很赞同!

查看全部评分

 楼主| 忆魂丶天雷 发表于 2022-1-9 10:14
成熟的美羊羊 发表于 2022-1-9 10:09
GetDesktopWindow 返回0就过了 , 插件有SharpOD , 找到了很多反调试的地方
按钮事件断不下来 , 可能在按钮 ...

直接修改api返回值的确可以简单的过掉这个检测,但是主要是为了测试某保护壳保护代码的能力,并不是单纯过掉这个检测。另外图中返回了假,但是计时大大超出了正常范围,这里可以进行二次检测可以处理下。

测试程序仅保护了按钮单击事件 和 窗口特征检测()这两个子程序 (如上面截图)其他地方均未进行处理(易语言特征 api hook等)所以测压主要针对这两个地方(即这两个子程序代码段内),程序为易语言编写,并没有抹除易语言特征,之前有大佬通过修改易语言特征码达到过检测(点击按钮 存在窗口特征依旧返回假),但与本次测试原意相违背........所以做出一定限制。
 楼主| 忆魂丶天雷 发表于 2022-1-9 00:37
ttbbs 发表于 2022-1-9 08:50
楼主,我的电脑运行抹除易语言特征闪退,检测都是真

本帖子中包含更多资源

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

x

免费评分

参与人数 1热心值 +1 收起 理由
忆魂丶天雷 + 1 热心回复!

查看全部评分

 楼主| 忆魂丶天雷 发表于 2022-1-9 09:40
ttbbs 发表于 2022-1-9 08:50
楼主,我的电脑运行抹除易语言特征闪退,检测都是真

闪退的原因是因为文件名不是检测.exe,如果你想测试抹除特征的需要手动重命名一下。如果没有打开od ce也返回真可能是误检测了 但是这并不影响测压 因为本来就不是为了测试检测 而是测试保护代码的强度。
 楼主| 忆魂丶天雷 发表于 2022-1-9 10:00
ttbbs 发表于 2022-1-9 08:50
楼主,我的电脑运行抹除易语言特征闪退,检测都是真

emmmm 你下一个信息框断点 然后返回调用的代码段就大概知道测压内容了
cbxg1992 发表于 2022-1-9 10:03
强拆怎么搞
 楼主| 忆魂丶天雷 发表于 2022-1-9 10:05

强拆什么
成熟的美羊羊 发表于 2022-1-9 10:09
本帖最后由 成熟的美羊羊 于 2022-1-9 10:11 编辑

GetDesktopWindow 返回0就过了 , 插件有SharpOD , 找到了很多反调试的地方
按钮事件断不下来 , 可能在按钮事件的上层被HOOK了
估计以后还会有个时间检测

本帖子中包含更多资源

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

x

免费评分

参与人数 1热心值 +1 收起 理由
忆魂丶天雷 + 1 热心回复!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 12:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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