测压下某保护壳强度
本帖最后由 忆魂丶天雷 于 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才能正常运行)
第一次本板块发帖,如有违规请版主手下留情。{:301_1008:}
如果成功希望可以给出一定加强保护的意见,或者说下有什么地方可以改进,什么方面让你感受到了压力(如果有{:301_999:})
本帖最后由 成熟的美羊羊 于 2022-7-22 22:13 编辑
##### 程序是动态执行代码的 , 按下按钮
在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 ,溜了溜了 ,
成熟的美羊羊 发表于 2022-1-9 10:09
GetDesktopWindow 返回0就过了 , 插件有SharpOD , 找到了很多反调试的地方
按钮事件断不下来 , 可能在按钮 ...
直接修改api返回值的确可以简单的过掉这个检测,但是主要是为了测试某保护壳保护代码的能力,并不是单纯过掉这个检测。另外图中返回了假,但是计时大大超出了正常范围,这里可以进行二次检测{:301_1003:}可以处理下。
测试程序仅保护了按钮单击事件 和 窗口特征检测()这两个子程序 (如上面截图)其他地方均未进行处理(易语言特征 api hook等)所以测压主要针对这两个地方(即这两个子程序代码段内),程序为易语言编写,并没有抹除易语言特征,之前有大佬通过修改易语言特征码达到过检测(点击按钮 存在窗口特征依旧返回假),但与本次测试原意相违背........所以做出一定限制。 {:301_985:}会有人搭理我吗 楼主,我的电脑运行抹除易语言特征闪退,检测都是真
ttbbs 发表于 2022-1-9 08:50
楼主,我的电脑运行抹除易语言特征闪退,检测都是真
闪退的原因是因为文件名不是检测.exe,如果你想测试抹除特征的需要手动重命名一下。如果没有打开od ce也返回真可能是误检测了 但是这并不影响测压 因为本来就不是为了测试检测 而是测试保护代码的强度。{:301_1009:} ttbbs 发表于 2022-1-9 08:50
楼主,我的电脑运行抹除易语言特征闪退,检测都是真
emmmm 你下一个信息框断点 然后返回调用的代码段就大概知道测压内容了 强拆怎么搞 cbxg1992 发表于 2022-1-9 10:03
强拆怎么搞
{:301_985:}强拆什么 本帖最后由 成熟的美羊羊 于 2022-1-9 10:11 编辑
GetDesktopWindow 返回0就过了 , 插件有SharpOD , 找到了很多反调试的地方
按钮事件断不下来 , 可能在按钮事件的上层被HOOK了
估计以后还会有个时间检测
页:
[1]