安卓逆向分析笔记---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
ciprian 发表于 2019-3-21 09:57
这个签名验证还是弱爆了,应该把签名校验用C++实现,直接在底层关闭APP
这种才更好理解,针对大部分签名验证还是hook更实用,但学习不是 堂前燕 发表于 2019-3-20 21:55
关注下if判断语句内的equal,this.pm应该是获取的当前签名,equal内为原签名值。(以上都是我猜的,哈哈哈 ...
这个不知道,不过可以试下
谢谢分享 支持一下 关注下if判断语句内的equal,this.pm应该是获取的当前签名,equal内为原签名值。(以上都是我猜的,哈哈哈) 感謝分享 感恩分享优秀的帖子 不明觉厉,哈哈,收藏一下 感谢分享,学习学习
谢谢分享