下面介绍两个反编译工具
对于so文件的逆向工具选择
Objection是一款移动设备运行时漏洞利用工具,该工具由Frida驱动,可以帮助研究人员访问移动端应用程序,并在无需越狱或root操作的情况下对移动端应用程序的安全进行评估检查。
安装命令
pip3 install objection
frida是一款便携的、自由的、支持全平台的hook框架,可以通过编写JavaScript、Python代码来和frida_server端进行交互
frida的安装可以参考:https://www.jianshu.com/p/60cfd3f6afde
1、AndroidManifest文件格式解析
2、头部信息
3、String Chunk
1、ChunkType:StringChunk的类型,固定四个字节:0x001C0001
2、ChunkSize:StringChunk的大小,四个字节
3、StringCount:StringChunk中字符串的个数,四个字节
4、StyleCount:StringChunk中样式的个数,四个字节,但是在实际解析过程中,这个值一直是0x00000000
5、Unknown:位置区域,四个字节,在解析的过程中,这里需要略过四个字节
6、StringPoolOffset:字符串池的偏移值,四个字节,这个偏移值是相对于StringChunk的头部位置
7、StylePoolOffset:样式池的偏移值,四个字节,这里没有Style,所以这个字段可忽略
8、StringOffsets:每个字符串的偏移值,所以他的大小应该是:StringCount*4个字节
9、SytleOffsets:每个样式的偏移值,所以他的大小应该是SytleCount*4个字节
1、jadx-gui
使用jadx-gui打开apk文件,发现【AndroidManifest.xml】文件反编译报错了
把下载的 APK 文件后缀的【.apk】改成【.zip】然后用压缩软件打开,就可以解压出来了,提取到AndroidManifest。
修改异常格式有两处改为
改好文件后拖进压缩包然后覆盖原文件,在把后缀改回【.apk】然后再反编译下。
得到flag:8d6efd232c63b7d2