cpujazz 发表于 2021-9-20 23:45

试一试这个CrackMe?

本帖最后由 cpujazz 于 2021-9-23 17:21 编辑

新手试试找出真码,老手试试爆破?
/////// ↓ 实在破解不了可以试试刮刮乐 : ) ↓ ////////
反调试
00403150    C3            retn
CRC校验
00404710      C3            retn
返回真码(记录12次真码就出来了)
00404790   $55            push ebp
vCmp 比较密码
00405C20/$55            push ebp
vJcc 计算返回地址
00407A70/$55            push ebp
信息框
00405FE0    55            push ebp




是否被调试标志位
005D2A34    0000            add byte ptr ds:,al


是否比较了12次
005DB2C0    0C 00         or al,0x0


(破解)
eflags置246(ZF=1)
00405DEF|.2BC3          sub eax,ebx

/////// ↑ 实在破解不了可以试试刮刮乐 : ) ↑ ////////







成熟的美羊羊 发表于 2021-9-21 09:55

本帖最后由 成熟的美羊羊 于 2021-9-21 12:35 编辑

第一个反调试 ,在403150 ret

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/091957512-1.png)

CRC校验

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/091933290-1.png)

改成这样 , 或直接在404600ret

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/092033718-1.png)

407C00 按钮事件

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/092116452-1.png)

往下跟 , 在407C2B看到了花指令 ,和反调试的标志位

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/092757000-1.png)

发现了获取编辑框内容

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/093023754-1.png)

密码长度需要12位,且不能为空 , 这个设计有点奇怪,明明密码只能>=12,还要判断是否为空

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/093053973-1.png)

407CF7可能是关键跳

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/093311646-1.png)

原来是暗装 ,保存补丁,数据,重新加载程序

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/093402392-1.png)

不让他跳 , 反而弹出了Faild,在MessageBoxA下断点

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/093756590-1.png)

发现断不下来 , 反而从ntclose走了出来 , 这怎么能行 , 这肯定是自己构造的弹窗函数,封装的程度大概率没有系统的API高 , 看堆栈 , 看看有没有有用的信息

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/093852104-1.png)

看样子是找到了 , 但是下面有个407A50 , 407A33也是Faild , 都下上断点

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/094030542-1.png)

程序断下来了 , 是下面的那个407A50

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/094153804-1.png)

Ctrl+R , 找到了两处调用 , 这是第一个 , 很简单的VM_CALL(自我理解) , 让我们打上标签

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/094238738-1.png)

这下子就舒服了 , 上面的404495是反调试 , 不管他, 反正反调试我们都干掉了 , 时间有限 , 我们修改407A50 ,使其跳转到407A20

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/094403477-1.png)

5DB2C0需要置为C , 但是我也不知道他能干啥 , 不管他了 , 直接NOP

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/095114092-1.png)

搞定

!(https://gitee.com/cRaCkSheep/images/raw/master/pic/20210921/095156822-1.png)

楼主能说下5DB2C0这个标志位是什么吗 (似乎是字符串的长度)

Tsihen 发表于 2021-10-16 17:02

本帖最后由 Tsihen 于 2021-10-16 17:04 编辑

成功了,改得有点多,有几处不需要改
反调试和CRC都是在另外一个线程上(吧),直接结束线程就可以了




ynsc133 发表于 2021-9-21 09:26

谢谢分享!谢谢!

weikun444 发表于 2021-9-21 10:13

光退出就把人整疯了,感兴趣的可以下断点00407C49跟跟,无奈,万恶的算法!最后,附上一个直接可以F9的,我只能帮大家到这儿啦!{:1_909:}

cpujazz 发表于 2021-9-21 11:02

本帖最后由 cpujazz 于 2021-9-21 11:07 编辑

成熟的美羊羊 发表于 2021-9-21 09:55
第一个反调试 ,在403150 ret

!()

有点取巧的嫌疑,试试找下vJcc爆破,或者找下真码

lzujohn007 发表于 2021-9-21 13:27

成熟的美羊羊 发表于 2021-9-21 14:26

cpujazz 发表于 2021-9-21 11:02
有点取巧的嫌疑,试试找下vJcc爆破,或者找下真码

学业繁忙, 下周有机会再试{:301_1004:}

Very_good 发表于 2021-9-22 11:43

00407D9F    E8 7CDEFFFF   call    00405C20   根据key计算出eax值返回地址
00407DA4    83C4 08         add   esp, 0x8
00407DA7    8945 EC         mov   dword ptr , eax                     ; 赋值给变量
00407DAA    E8 00000000   call    00407DAF
00407DAF    FF75 EC         push    dword ptr     变量入栈返回
00407DB2    36:834424 04 0A add   dword ptr , 0xA
00407DB8    C3            retn                                                    ; 返回


jy04468108 发表于 2021-9-22 12:39

搞了十分钟,反调试都过不了。。。果然我还是太菜了。。。

a767421378 发表于 2021-9-22 13:48

我要下载试试手
页: [1] 2
查看完整版本: 试一试这个CrackMe?