初步分析
上次我们分析得到第三次校验的绕过方法是:
Image2 的 ID 就是 0x2DC
Image3 的 ID 就是 0x2E0也就是性相近
- 观察
性相近图片出现 - 出现时
鼠标从右下角划入
![图片[1]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/5ab9e54b1e0be4c6b37b296b9eba6ab36a88d5ee9c94f54f42d662832b5ef8ed291502a626014c845b7dc16f94a6474c?pictype=scale&from=30013&version=3.3.3.3&fname=1%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
同理我们可以得知下面的逻辑也是划入某图片
推测a4 < 23 && a5 > 300也就是x < 23 && y > 300
可以得知这次要求我们从左下角划入
当性本善出来的时候,程序断下来
![图片[2]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/7b7e011f2ec3a5719d15419fcba525df46f1105147560d1e086e28094c8d7062ba33a39f16e4aabd6dd70e7213031b8a?pictype=scale&from=30013&version=3.3.3.3&fname=2%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
所以我们得知:
Image2 的 ID 就是 0x2DC也就是 性本善
总结初步校验
如果要绕过校验,需要满足以下条件:
- 第三次校验已经绕过,可实现
*(a1 + 0x310) == 0x10 性本善图片Image2出现,ID 是0x2DC鼠标从左下角划入
![图片[3]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/28e6a5f817af3f6e360bc8a6d199f5c116bf25c08becc9886e38dc6723d1d425c3594715ce7fa577fa06e173986aa8fd?pictype=scale&from=30013&version=3.3.3.3&fname=3%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
分析该层额外校验
要求*(a1 + 0x30C) != 9
此时我们回忆一下,第一次校验的时候
该位置已经被赋值为 9,要想满足不等于 9,除非另有别处写入新的数据
![图片[4]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/680d1dc8575110d753c77e0a961c52506d0f66f84e3dfbc8d0d0b26e12a8cfb1c739d5db8b9d08f132398f1b279b2d13?pictype=scale&from=30013&version=3.3.3.3&fname=4%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
分析偏移 0x30C
这里大家要注意,我们并非只能查找右边的 9,还可以查找偏移值
查找右边的 9 没有意义,因为我们要找的是谁改变了 ebx + 0x30C里面的数据
![图片[5]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/41b14daf8d12a63bafea7ba7e2b57d76a2e96cb9dbf2c3a38c98dcd2907708b3b290dbc256210b629a62e70fc5a79d3b?pictype=scale&from=30013&version=3.3.3.3&fname=5%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
由此我们得到一个函数
![图片[6]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/af373632dba6911ff682a26949938e85b31c99c6a1815e0c1fdca6a0216cc60b2a9fcbadeb2b416d6c0cefd90c5b8c51?pictype=scale&from=30013&version=3.3.3.3&fname=6%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
![图片[7]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/081390ad0cdeb93e526df8702bc135e28cbee8154d71153f27466116cd463032e4c188de8c8e88b3b7791621552847bf?pictype=scale&from=30013&version=3.3.3.3&fname=7%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
![图片[8]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/ab39f6e125914bbd37d8e1d446f70b0445192dee9da4762999267733aa7339580406be3409bd46a96e5ff00e1f635970?pictype=scale&from=30013&version=3.3.3.3&fname=8%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
下断调试分析TForm1_Edit2DblClick
![图片[9]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/cf55c12edd1e67841347953386349381e80ee757f712349b4be925bc5c5c1d5af4537250795c41853857ca9c070210bc?pictype=scale&from=30013&version=3.3.3.3&fname=9%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
![图片[10]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/8a76946e1ac1914ec2033afc8d83ee2c2a86a68b22a615cd26769349bedf3f3645b8478fe25e31b0a638e23489afa30d?pictype=scale&from=30013&version=3.3.3.3&fname=10%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
当我们在函数头部打下断点,然后双击Edit2 的时候发现断不下来
注:其中 Edit2 是谁我们也可以通过 Darkde4 工具分析得到
![图片[11]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/03ef0839c6d10344e9924da956997d860e739dd9a89cc794d4415cf6957601507c8b17ccc9c9b703be51d51c2c0325e4?pictype=scale&from=30013&version=3.3.3.3&fname=11%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
分析原因
- 当前
Edit2编辑框处于一种禁用状态,根本无法捕获双击的消息,所以也就无法触发下面的代码 - 要想触发,我们就必须解除
Edit2编辑框禁用状态的代码
![图片[12]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/84c2ccb46eccf7d1f221707d3148bb70d56094ef552c6a72f320148d14ac293205a64db66da4ab4ba7e1758e1ed11bc9?pictype=scale&from=30013&version=3.3.3.3&fname=12%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
如何找到禁用Edit2编辑框的代码
同理,也是搜索常量,这次我们可以搜索 ID:0x2F0
![图片[13]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/ea432669191fa3efa2ca360e403890ded1bd37d77673908c96d4ad65e71f6ab7242675efd4e230a0ba4890d9c49f53f6?pictype=scale&from=30013&version=3.3.3.3&fname=13%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
通过分析我们发现TForm1_Panel1DblClick是关键
![图片[14]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/3de39949ea396815eaaa9b1e5b0d71741226af78affd80e8f1bfec43abf800ab89a19f120d3a90d80e872dc00d17c2fd?pictype=scale&from=30013&version=3.3.3.3&fname=14%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
![图片[15]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/2b4813c82530eef816d13786a7077eb07f9058f78300f3f50d511895c134a81c64931c90a61581b13d01d4c22cd41230?pictype=scale&from=30013&version=3.3.3.3&fname=15%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
分析该处代码
此时我们发现如果要想解除禁用状态,比如满足 *(result + 0x308) == 0x29D
![图片[16]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/f5be1f67b9cc795fbaafef0d1d8d14d7a5c88374e4c9f5d1037db1a447c672189482b1671fbf864b685e2050b5017187?pictype=scale&from=30013&version=3.3.3.3&fname=16%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
找寻 0x29D 写入的位置
发现没有,只有比较
说明存在运算导致 0x308 偏移位置的数据变动
![图片[17]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/fbd961fc79f7c2ab5eb84ca2f793a6d4312f8e7c5cfc5df2f3bbc6208073b050d66e9cf0b26a2458b3c889f5c9730487?pictype=scale&from=30013&version=3.3.3.3&fname=17%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
找寻操作 0x308 偏移的位置
我们发现在此处,存在代码对 0x308 偏移的数据进行运算
并且我们发现窗体创建的时候,数据是 0x28E
![图片[18]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/65bd02cf581c3c4481cb98703ddecf3ce566de31cd3f426c3c0ba2ed419402009b34152934cb1ec252356e9a5c837add?pictype=scale&from=30013&version=3.3.3.3&fname=18%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
要想满足初始化值为 0x28E 增加为 0x29D,且每次增加 3
共计需要增加 :
0x28E + 3 = 0x291
0x291 + 3 = 0x294
0x294 + 3 = 0x297
0x297 + 3 = 0x29A
0x29A + 3 = 0x29D
得知总共需要增加 5 次
同时我们知道add dword ptr [eax+308h], 3代码是在TForm1_Button1MouseDown 函数中的,并且结合我们160crackme之005(02):分析二次校验的分析,所以我们要鼠标右键点击按钮5 次就可以满足按钮解禁
![图片[19]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/7e7d1471756abc8dffc982487d69eca1354325cf0508a8e193a485fc11f61d87c62d2d4d873eb0f6d91d7b3f8423afca?pictype=scale&from=30013&version=3.3.3.3&fname=19%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
总结破解四次校验
前提
- 观察
性相近图片出现 - 出现时
鼠标从右下角划入
进阶
鼠标右键点击按钮5 次(本次分析得知)–>满足 0x29D 的要求-
![图片[20]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/f5be1f67b9cc795fbaafef0d1d8d14d7a5c88374e4c9f5d1037db1a447c672189482b1671fbf864b685e2050b5017187?pictype=scale&from=30013&version=3.3.3.3&fname=20%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
双击
Panel1框,解除Edit2的禁用状态 - 双击
Edit2编辑框 –> 满足*(a1 + 0x30C) != 9![图片[21]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/bdcf15e5494e5f3508d0c54b15195e7d86cafd4fdd3908d61eb8fcdbdf783745269b65cd06213e7095c0170b11746d3e?pictype=scale&from=30013&version=3.3.3.3&fname=21%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
-
观察
性本善图片Image2出现 - 出现时
鼠标从左下角划入
剩下的问题
实际上,编辑框双击后,要想*(a1 + 0x30C)被赋值并非易事
在其上面还有四层校验等着我们
且听下回分晓
![图片[22]-53.逆向破解分析实战20:160crackme之005(04):分析四次校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/a0e1d66ad8ff6746ab1dbd18f97fa5061ee1e3a17a1098acacd1c887fec89f1cb4c16fdcdeec4062ab68a72539ef0a32?pictype=scale&from=30013&version=3.3.3.3&fname=22%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)



没有回复内容