逆向分析 160个CrackMe之Andrénalin.2
逆向Andrénalin.2打开Andrénalin.2,查看如何使用及是否有相关信息。**** Hidden Message *****将代码往上拉,就能够找到注册成功的提示信息以及关键跳的位置。关键跳上有个call,定位到这个call可以发现是假码与真码进行比较,但是此时真码已经计算出来,说明这里不是我们要找的位置。
我们继续往上拉代码,来分析是如何通过用户名计算出正确的注册码。第一步就是将用户名的各个字节全部转化为ASCII码并进行相加。这里需要知道相关的VB函数,例如rtcMidCharVar函数是获取字符,rtcAnsiValueBstr函数是转化为ASCII码等。
第二步将相加后的值与499602D2(1234567890的十六进制)相乘,所得结果用十进制数表示,并用-字符替换第四跟第九位的字符。这里需要注意的是:VB函数使用变体类型函数,第三个dword才是数据或者存放数据的地址。前面两个字节则表示的数据类型,在数据跟随的过程中,有整型数据,有浮点数据,若是不能根据类型转换数据窗口数据格式,就很难跟踪下去。
输入计算所得的真码,我们就逆向成功了。
感谢楼主的分享 {:5_188:}学习了 看看楼主的思路,学习一下! 学习去了{:6_225:}
感谢楼主的分享{:5_116:} 很好,谢谢 同时打开两个人的,送错了不好意思啊 感谢分享,学习一下