安卓逆向——AliCrackme_1.apk

解法一:

在这里插入图片描述
随便输入一段数字

在这里插入图片描述
在这里插入图片描述

DDMS抓取到的数据
enPassword应该是我们刚才输入的字符串
刚才输入的:84848585
enPassword:弓门弓门弓义弓义
pw应该是正确的密码
那么我们输入0123456789

在这里插入图片描述

输入:0123456789
enPassword:丸么广亡门义之尸弓己
pw:义弓么丸广之
也就是说
义 对应 5
弓 对应 8
么 对应 1
丸 对应 0
广 对应 2
之 对应 6
正确密码是:581026

在这里插入图片描述

在这里插入图片描述

解法二:

先用Android Killer反编译

在这里插入图片描述

在Notepad++中搜索“密码不对,请继续破解”

在这里插入图片描述

在这里插入图片描述

搜name “dialog_error_tips”

在这里插入图片描述
在这里插入图片描述

搜id “0x7f0a0011”

在这里插入图片描述
在这里插入图片描述

v6的值就是“密码不对,请继续破解”
而v6在cond_0代码块中
这个代码块是从上面三个if判断语句处调转的(截图少截了一个)
如果我们改掉判断后
程序将执行.55行而不是跳转到cond_0代码块
那我们看看access$1是什么
用android Killer打开

在这里插入图片描述

查看方法

在这里插入图片描述

再去看一下showDialog是什么
发现0x7f0a0012
它对应的是解密成功

在这里插入图片描述

所以我们只要修改之前的三个判断语句那里
把三个判断都删除
直接执行.55行就行了

在这里插入图片描述

修改后保存
Android Killer编译
安装到模拟器中
随便输入一个密码
哪怕是不输入
直接点击登录也是返回破解成功

在这里插入图片描述

解法三:

在这里插入图片描述

Log.i是打印日志的函数
因为有他所以才能在DDMS中看到pw、table
但是通过查询getTableGromPic和getPwdFromPic
发现他是对assets目录下的logo.png图片进行计算得到返回值

在这里插入图片描述

下面的pw和table是上面方法的返回值

在这里插入图片描述
往下翻
发现是解密的方法

在这里插入图片描述

现在手里有密码 “pw”
有密码表 “table”
有解密方法
复制出来
写个java去执行

在这里插入图片描述
在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>