CrackMe001
abexcm5
![](https://i-blog.csdnimg.cn/blog_migrate/75b468b95e7dbff3dbd42779921a7f64.png)
爆破分析
利用智能搜索寻找关键字符串
![](https://i-blog.csdnimg.cn/blog_migrate/4786b3201d5492afa24812e88733987d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/65c69899026d7b8c511b4dcc3fdab73b.png)
双击进入关键的地址后,我们可以看到这里有一处跳转
(如果跳转了就是对了,没跳转就是错了)
![](https://i-blog.csdnimg.cn/blog_migrate/e679ddb4a86644bfdd0e92bf41e56c2e.png)
知道了这个 只要让程序强制跳转就好了,将je改成jmp强制跳转,或者
改成jne让序列号错了才跳转
算法分析
通过暴力爆破我们已经知道程序的关键点在哪里
往上翻我们可以发现到GetDlgItemTextA函数 用于检测我们输入的序列号
我们从这里分析
![](https://i-blog.csdnimg.cn/blog_migrate/c1e478438a3b610219692930c527c83f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1a628014668cbed1609bdd93c401d4c2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/83582694d43a56e426e039d3e8478879.png)
GetVolumeInformationA函数 用于获取该程序所在磁盘位置的名字
同时发现字符4562 ABEX
lstecatA函数 将一个字符串追加到另一个字符串
![](https://i-blog.csdnimg.cn/blog_migrate/635e4a05ad4478ba541a23f0bf017887.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e308a9f4476402cc4e307890120a4275.png)
![](https://i-blog.csdnimg.cn/blog_migrate/19a86bb4e23c9a3bb3d98499f81682d3.png)
程序继续运行可以发现程序将字符串合并
![](https://i-blog.csdnimg.cn/blog_migrate/7fe0e1472af6f84481b88697b69f6713.png)