《逆向工程核心原理》学习笔记3 破解abex' crackme #2

《逆向工程核心原理》学习笔记3

破解abex’ crackme #2

这个crackme比前面一个要难得多,因为涉及到VB的函数,加密
而且代码长度也长的多

首先我们打开这个.exe,出现这样的界面
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第1张图片

于是我们随便输入一个字符串在Name栏随便输入一个字符串,REVER
然后Serial也填REVER
点击Check发现显示
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第2张图片
所以说明我们输入的这个字符串不对
为了解其中的原因
我们将这个.exe放入ollydbg
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第3张图片
在代码区右键选择Search for—>All referenced text strings之后,找到弹窗当中的Wrong serial!字符串
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第4张图片
双击,就能找到弹窗的代码
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第5张图片

我们要找到一个条件跳转的函数,这个函数会在判断某两个值相等时跳转,因此我们向上滚动滚动条,发现这个

于是我们在搜索引擎里搜索一下这个_vbaVarTstEq的用处,发现它是判断两个变量值是否相等的
我们按快捷键F4,让程序运行到这,再在交互窗口中随机输入一些字符串,然后点击Check,于是便跳到这个位置
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第6张图片
按快捷键F8跟踪后,发现一个循环,我们猜这是给Name加密的一个过程,于是乎我们在栈中找到了这样的数据
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第7张图片
B6A9BAA9就是REVER所生成的serial
将abex’ crackme #2 打开
向里面输入以下数据就可以破解了
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第8张图片
《逆向工程核心原理》学习笔记3 破解abex' crackme #2_第9张图片
本题的加密算法很简单,就是将每个字符的ASCII的HEX值加上64(10进制)然后循环四次(只要多调试几次就会发现他只循环4次,无论Name有多长)将获得的HEX值连起来就是Serial

你可能感兴趣的:(《逆向工程核心原理》学习笔记3 破解abex' crackme #2)