Creak160-Creak1 (未完待续)
0x00 前言
初学逆向不知学习方向内容,来看看传说中的creak,顺便将过程记错笔记方便复习使用。
0x01 正文
按照之前学习Android逆向的方法来进行探索和学习,必有所得。
1.特征值观察
首先是一个弹窗。
点击确认之后的页面:
输入内容的页面:
错误提示信息:
2.目标分析
2.1 目标一:暴力**
找到关键判断的地方进行逃过
2.2 目标二:***算法分析
找到对比加密解密的地方,对注册算法进行分析
3. 暴力**
首先载入OD,F9运行,点击确认等,一直到如下界面。
切到OD,F12暂停。然后alt+k打开堆栈界面。
这里可以看到加载了两个消息框。这里可以看到有一个jmp语句。
首先是第一个,在jmp语句上右键显示调用。
然后就到了这里。
在这个MessageBoxA这里其实就是找到了一个调用的位置。
然后在push ebp这里下段。
然后运行程序,点击确定。
然后再次点击Check it Baby,停在断点处。看右下角有一处调用。
右键反汇编跟随,跟随之后看到这个,也看到了加载的一些信息。然后就是我们绕过阶段了。
我们需要注意的就是对比指令。
这里是最早出现的对比指令,所以我们在这里下段。再次进行上述过程,程序停在了这里。
F8单步走到了jge语句,这里ige的语句跳转和SF ZF这两个有关,我们点击右上角进行改变。
改变前
改变后:
然后继续单步到下一个对比的地方,直到正确的地方出现。
这里一直F8搭配jnz出现。
还是修改寄存器,当然nop什么的也是可以的,只是这样比较方便。
过了这里之后F9一路畅通无阻