新手破解练习Crackme160之027 - Cosh.1

  1. 暴力破解, 打开OD搜索界面找到关键字定位到成功分支0040148B, 向上找到关键跳0040138C, 改为jmp保存搞定

  2. 正常破解, 执行到0040134F处时, 如果是本地硬盘会返回3则跳过, 所以需要有一个非硬盘的存储, 虽然作者的程序是写验证CD, 按这句理解, 只要不是硬盘就行, U盘果断也是行的, 插入一个U盘, 创建一个cd_check.dat文件, 不需要内容,
    执行到00401374时程序报错了"ERROR_INVALID_PARAMETER (00000057)", 程序打开文件失败又跳转到失败分支去了, 这个应该是作者的问题, 我们手动来修正代码, 既然是报参数错误, 那我们就看各个参数都分别是什么才知道是哪个参数有问题,
    00401368 . 53 push ebx ; /hTemplateFile = NULL
    00401369 53 push ebx ; dwFlagsAndAttributes = NULL
    0040136A 53 push ebx ; dwCreationDisposition = NULL
    0040136B 53 push ebx ; lpSecurityAttributes = NULL
    0040136C 6A 01 push 0x1 ; dwShareMode = NULL
    0040136E . 68 00000080 push 0x80000000 ; |Access = GENERIC_READ
    00401373 . 50 push eax ; |FileName = "I:\CD_CHECK.DAT"

百度查看C语言中的这个方法CreateFileA入参情况, 发现dwCreationDisposition这个值不可以传NULL值, 所以改掉试下, 查看OD右边寄存器的值当前EDX=3, EBX=0, 0不行, 那我们试下传3行不行, 把0040136A改成push EDX, 发现对应的值53变成52了, 我们直接用UE打开exe, 搜索找到53 53 53 53连续4个53的地方把第三个改成52保存即可
运行测试, 看到了程序正确运行到了成功分支~ 庆祝一下破解完成~

这是160个软件part1
这是160个软件part2

1~160每个破解过程,在吾爱破解论坛都有高手破解过了,也有整理好现成的, 我这边主要就是自己动手操作的过程,与他们的不太一样
附上高手们的连接: 点击前往查看
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

新人入门教程"玩玩破解,写给新人看" 点击前往查看
我就是从这里开始的,对我这样的小白感觉超级友好~

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-05-10 15:16  hankerstudio  阅读(59)  评论(0)    收藏  举报