坑一坑大神.看看有多少小白跟大神.CrackMe
本帖最后由 q2510908331 于 2020-6-30 19:33 编辑Crackme不大 有经验的一下就能破掉
1.输入错误会弹出信息框进行提示
2.输入正确也会弹出信息框.且信息框是无内容的. 标题为错误.下面一会截图给看.
破解要求:
1.此CrackMe 要求追码破解. 请爆破的不要发帖了.
2.此CrackMe 注册码有很多.但要求你最终结果可以让其弹出 正确的信息框即可.
3.加个限制.输入必须是字母加数字. 其它字符不可以了.
此CrackMe 有一点点难度.做过就知道了.
提示一下.此CrackMe 可以爆破的. 看你能找到点吗. 爆破请提交自己代码.
Crack在这
承认自己大神的. 请给热心跟 以及回复. 我就是大神不服来打我
让我看到
输入错误如下
正确结果如下
看来还为了防止搜字符串故意没写成功提示
找到错误提示部分,查看上下文,并没有发现正确提示的MessageBox调用
但是在函数开头有一个将MessageBoxA地址保存到全局变量4212C4中, 很可疑
查找该地址,发现在418553处有一个读取,分析参数确定是正确提示
爆破的话直接跳到418553就好,破解密码可以考虑栈溢出,因为scanf没有做长度检测
00418553转为字符串 S匒,不符合数字字母的要求
继续找418553的调用,在00414238处有一个jmp
00414238转为字符串 8BA,加个字符串终止0
堆栈前面还有8字节的局部变量和4字节的ebp,所以8BA前面补全任意12字节的字符即可
https://s1.ax1x.com/2020/07/01/NH3Zd0.png 卡卡超人 发表于 2020-7-1 22:57
看来还为了防止搜字符串故意没写成功提示
找到错误提示部分,查看上下文,并没有发现正确提示的MessageBox ...
对的. 其实剩下时间我完全可以不保存到全局变量中留出接口让找. 完全可以 ShellCode形势来做. 顺便包括你栈溢出之后的12个注册码也做校验.这样就不容易找了. 考虑到很多人不太熟悉这个.我就写个简单例子.让明白栈溢出是啥.遇到这样的题怎么做. 程序很简单.就最后弹框.如果我不留接口. 那么我说的破包有可能实现. 只需要爆破8BA 4字节递增就能爆破了. 第一关,找cm在哪里,我败了 XKQ 发表于 2020-6-30 18:39
第一关,找cm在哪里,我败了
找不到吧,抬下去.下一个.{:1_926:} 白痴路过{:301_998:}https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif tzbzl1 发表于 2020-6-30 19:07
白痴路过
很好玩的.不难.看看就懂. 不然抬下去下一个. 这样可以吧
121212312121S匒 XKQ 发表于 2020-6-30 19:22
这样可以吧
121212312121S匒
可以 不错.发现了点了. 其实 不是最好的. 最好的是字母 输入字母. q2510908331 发表于 2020-6-30 19:32
可以 不错.发现了点了. 其实 不是最好的. 最好的是字母 输入字母.
话说最后一个字符怎么搞到的.能搞到我就不用设计怎么复杂了. q2510908331 发表于 2020-6-30 19:41
话说最后一个字符怎么搞到的.能搞到我就不用设计怎么复杂了.
我看到你的00418553地址有一段调用信息框的地址,而且输入的字符有栈溢出的现象,就直接覆盖过去了,后面的字符就是538541 小白路过。。。