随笔分类 - 安卓逆向
安卓逆向方面的知识,玩过的东东要记起来。
摘要:朋友发来一个apk,需要分析其中的一些算法,分析过程涉及到了重新打包apk,打包后的apk运行失败,估计是apk内部有检验是否被篡改的代码。检验apk是否被篡改,简单的方法是直接校验签名,如果apk签名和预先设置的签名不同,则可以判定apk被篡改了。 获取签名函数: getPackageInfo 尝试在代码里查找此函数,找到好几处,每个地方都查看了一下,最后定位到如下代码: public st...
阅读全文
摘要:一、dex和odex dex是安卓dalvik虚拟机的可执行文件,可以在导出的apk文件里用解压缩软件直接打开。odex是经过优化过的dex。odex一种是从apk程序中提取出来的,与apk文件存放在同一目录,文件后缀为odex,这类odex文件多是Android ROM的系统程序;另一种缓存文件,这类odex仍以dex为后缀,存放在cache/dalvik-cache目录下。存放文件名格式为“...
阅读全文
摘要:同系列文章: 使用Cydia Substrate 从Native Hook Android Java世界 使用Cydia Substrate Hook Android Java世界 一、建立工程 手机端配置见之前文章,强调一句,手机必须root。 本文展示如何hook libc里的删除文件函数remove。建立工程同使用Cydia Substrate 从Native Hook Android Ja...
阅读全文
摘要:这里介绍了如何使用Cydia Substrate Hook安卓Java世界。这篇文章介绍如何从Native中Hook 安卓Java世界。 手机端配置见之前文章。 一、建立工程 建立一个Android工程。不需要创建默认的Activity。修改AndroidManifest.xml如下: uses-permission必须添加。这告诉Cydia_Su...
阅读全文
摘要:从来没接触过Android的HOOK,在看雪上找到了一篇HOOK 的文章,但是太复杂了,应该是本地环境问题,测试不成功。 后来搜到Cydia Substrate,看了几篇文章,进入官网查看了一下文档,简直是神器,HOOK过程简洁,总共就几个关键API,使用起来特别方便。 于是在blog记录一下。 一、手机端配置 1.手机必须Root,我这里使用的是模拟器。(安利一波Genymotion模拟器,太好...
阅读全文
摘要:修改apk里的dex并且修复后重新打包进apk里,使用signapk.jar签名后安装仍然出现INSTALL_PARSE_FAILED_NO_CERTIFICATES,搜了很久,使用了多种方法签名仍然安装不上,最后在网上搜到了答案,详见这里。 原因是之前apk内已经有一个签名文件了,就在apk压缩包的META-INF路径下,后缀为RSA和SF的文件,如果再次签名,就会在META-INF又新增一个R...
阅读全文
摘要:电脑端抓包一般图方便就用浏览器自带的,最近需要分析安卓一个APP的HTTP请求,尝试了wireshark(功能太强大了,然而我并不会用),tcpdump(用起来还是比较麻烦),网上搜了一下,还是使用Fiddler,Fiddler使用起来比较方便,但是只能抓http和https的包,不能抓使用socket的流量包。 一、安装与配置 从https://www.telerik.com/download/...
阅读全文
摘要:1. 所需工具 1. 所需工具 IDA Pro 6.6. 安卓SDK工具 2. 模拟器设置 将ida所在目录的dbgsrv文件夹内的android_server文件push到模拟器中。 设置777属性 启动调试服务器 新开一个命令行,进行端口转发。 打开模拟器中需要调试的应用。 3. PC端配置 3
阅读全文
摘要:1. 所需工具 1. 所需工具 Eclipse. Apktool v2.0.6. 安卓SDK工具. 2. 重编译APK apktool d -d -o test test.apk 此时当前test目录下就是apktool解压后的所有文件。 apktool b -d test 此时test\dist目
阅读全文
浙公网安备 33010602011771号