什么都只会一点 发表于 2019-3-20 21:38

安卓逆向分析笔记---006

本帖最后由 什么都只会一点 于 2019-3-30 18:05 编辑

这次是去除弹窗,还带签名验证~


【所需工具】ApkIDE、Unicode工具


【用例下载链接】链接:https://pan.baidu.com/s/1Le5kYoT-pZ4K9PtmKpAf1w 提取码:le7c


【开始操作】
要求是将弹窗去掉且保证里面的功能正常,进去的时候看到了,弹窗是一开始就显示的
将APK拖入ApkIDE,反编译完成后点开AndroidManifest.xml,找到第一启动类,打开Java看源码(具体找法看前面几个笔记)

可以看到弹窗的文件,通过smali找到同样的位置

我们可以看到下面三个很明显的方法,然后可以看到上面的Unicode码,因为ApkIDE没有翻译的功能,我只能借助Unicode工具翻译一下

将Unicode工具的分隔符和进制设置一下,然后将Unicode码粘贴到右边,如图所示,左边已经出现汉汉字了,证明是这里,破解要求里面只要求去除弹窗,所以将弹窗函数删了就可以了,也就是将下图红框内容全删了就可以了

改完之后,安装测试,闪退,重新检查一下Java源码,如下

原来有签名验证,本人对签名验证的了解也不深,直接暴力破解,如下图修改


搞完打包安装,闪退,这个方法不行,emmmmmm,重新浏览下Java源码,我的注意力又注意到了这里

根据我安卓开发的经验,这里是关闭当前页面的意思,所以直接将这方法删掉,就可以不会关闭这个界面,会不会就算检测到签名不对也不会退出了呢?说做就做


Ctrl+F查找,我搜到了两条,将这两条删掉,应该就不会闪退了,签名打包试试看




修改成功!不过布局排版炸了,下次处理吧!
目前的问题就是没有找到验证的地方,暂时先到这里吧!

总结:在安卓开发中startActivity方法是打开新的窗口,finish方法是关闭当前窗口


手机端的CM不算太好找,而且本人最近在学OD、IDA和dnSpy等工具,后面可能会出这些工具使用的笔记,smali分析以后继续补充,暂且就这样吧。


--------------------------------------------------------------------

安卓逆向分析笔记---007:https://www.52pojie.cn/thread-916087-1-1.html

什么都只会一点 发表于 2019-3-21 13:05

ciprian 发表于 2019-3-21 09:57
这个签名验证还是弱爆了,应该把签名校验用C++实现,直接在底层关闭APP

这种才更好理解,针对大部分签名验证还是hook更实用,但学习不是

什么都只会一点 发表于 2019-3-21 07:54

堂前燕 发表于 2019-3-20 21:55
关注下if判断语句内的equal,this.pm应该是获取的当前签名,equal内为原签名值。(以上都是我猜的,哈哈哈 ...

这个不知道,不过可以试下

ABADJane 发表于 2019-3-20 21:50


谢谢分享

_小白 发表于 2019-3-20 21:53

支持一下

堂前燕 发表于 2019-3-20 21:55

关注下if判断语句内的equal,this.pm应该是获取的当前签名,equal内为原签名值。(以上都是我猜的,哈哈哈)

thetch 发表于 2019-3-20 23:22

感謝分享

keyyan 发表于 2019-3-20 23:37

感恩分享优秀的帖子

linsiyu1 发表于 2019-3-21 00:48

不明觉厉,哈哈,收藏一下

飞天蜗牛 发表于 2019-3-21 00:56

感谢分享,学习学习

odayjbx 发表于 2019-3-21 08:27


谢谢分享
页: [1] 2 3 4
查看完整版本: 安卓逆向分析笔记---006