冥界3大法王 发表于 2021-11-11 09:35

论坛上小魔仙的【CrackMe - 无花指令版】的简单


这是论坛同学编的一个,这个的亮点是有一定的反调试
最近用熟练了x32dbg,所以就用这个了
命令隐藏调试器,结果发现不行

一运行就退出进程了
字串里看看发现以下情报

很显然 "ZwSetInformationThread" 这个看着十分不顺眼
来到此处

段首下断,重启,果然断下return掉,接下来就能进入调试分析了。

接下来,你有多种搞法
1.通过api下断 <user32.dll.GetWindowTextA>
2.易特征码按钮事件
3.易特征汇编语句
4.字符串定位
无论哪种均能斩获

后面就没什么难度了。你可以采取两头凑的方法。
GetWindowTextA断后不久来到


00402AE | 0F84 | je crackme - 无花指令版.402B1B ==================》这是最后一次跳转!看到这里没? 我们准备大跳修改了!
成功的代码在 00402AE ;    那我们就jmp 00402AE

00402AE | 68 0 | push 80000004 ====>注意看这里!
00402AF | 6A 0 | push 0                           |
00402AF | 68 C | push crackme - 无花指令版.4A03CB      | 4A03CB:"\r\n密钥:密钥正确"
00402AF | 68 0 | push 10005                     |
00402AF | 68 F | push 160100F7                  |
00402B0 | 68 F | push 520100F6                  |
00402B0 | 68 0 | push 2                           |
00402B0 | BB E | mov ebx,<crackme - 无花指令版.sub_403 |
00402B1 | E8 2 | call <crackme - 无花指令版.sub_402E3D |

前面有一堆第X次字符错误,你可以从下向上标JCC ,然后全改成JMP即可成功爆破
======================================
我们下面说的是另一种玩法:
0040232 | 0F84 | je crackme - 无花指令版.4023A8      | 我们向下跟,直到达到此处!

0040233 | 6A 0 | push 0                           |
0040233 | 68 0 | push crackme - 无花指令版.49FC0C      |
0040233 | 6A F | push FFFFFFFF                  |
0040233 | 6A 0 | push A                           |
0040233 | 68 0 | push 16010004                  |
0040234 | 68 0 | push 52010001                  |
0040234 | E8 F | call <crackme - 无花指令版.sub_402E49 |
0040234 | 83C4 | add esp,18                     |
0040234 | 68 0 | push 10001                     |
0040235 | 68 F | push 60100F5                     |
0040235 | 68 F | push 520100F6                  |
0040235 | 68 0 | push 1                           |
0040236 | BB 9 | mov ebx,<crackme - 无花指令版.sub_403 | ebx:&"99"
0040236 | E8 D | call <crackme - 无花指令版.sub_402E3D |
0040236 | 83C4 | add esp,10                     |
0040236 | 85C0 | test eax,eax                     |
0040237 | 0F84 | je crackme - 无花指令版.4023A3      |
0040237 | 68 0 | push 80000004                  |
0040237 | 6A 0 | push 0                           |
0040237 | 68 A | push crackme - 无花指令版.49FFA5      | 49FFA5:"\r\n密钥:长度错误"


但是执行到 00402B13 这句时 按理说该弹出正确的提示了,但会说,数组超出范围,然后就退出了。

也就是说004021F5 这句出的错,所以F7跟进去再修改掉就行了。
找对了正确的流程就成功了8成。

zhzhch335 发表于 2021-11-11 10:07

哈哈哈 高手过招了属于是

刘样andholiday 发表于 2021-11-11 12:44

优化是肯定能优化,代码就要增加很多

loner4 发表于 2021-11-11 12:53

厉害!!

dragonjelly 发表于 2021-11-11 22:39

学到了,感谢大佬分享

aroundoft 发表于 2021-11-12 10:32

学习到了,感谢大佬分享

rogxo 发表于 2021-11-12 23:22

学习到了!!!,感谢大佬分享!!

Exia2021 发表于 2021-11-13 00:28

学习到了,感谢大佬分享

武帝熊 发表于 2021-11-13 01:00

感谢大佬的分享{:301_993:}

偶尔平凡 发表于 2021-11-13 09:29

页: [1] 2
查看完整版本: 论坛上小魔仙的【CrackMe - 无花指令版】的简单