信息安全兴趣小组 – Android 基本架构

0x00 Android逆向前期准备

  • Android 设备:模拟器、真机均可,推荐Google系列手机。没有就算了, 没必要特意去买,不建议在日常使⽤的⼿机上操作。
  • Android 设备ROM:建议使⽤基于AOSP(Android Open Source Project) 的ROM,也就是所谓的原生安卓,比如LineageOS、CyanogenMod、Mokee、OnePlus H2OS和 O2OS等。
  • 需要取得Android 的ROOT权限,推荐Android 版本为Android 5.0 – Android 7.1.1,安装Xposed。
  • 电脑:推荐使用macOS或Linux,Windows也可。

继续阅读“信息安全兴趣小组 – Android 基本架构”

旅行青蛙(旅かえる)逆向笔记

温馨提示:阅读本文你的电脑需要安装好apktool、signapk、.NET Reflector、dnSpy。他们都可以在github或吾爱云盘上获取。

一、APK结构

  • 旅行青蛙是个Unity的游戏。简单说下Unity:Unity是一个用于制作3D游戏的C#框架,可以跨平台。也就是说旅行青蛙的核心游戏逻辑在Android和iOS上面是一样的代码。显然Android更容易让我们分析,本文先从APK的结构开始。
  • 使用apktool反编译APK,发现Unity游戏的smali代码并没有太多的信息,基本都是调用Google的Ad接口之类的,或者是Google Play的应用内购买,就不需要太关心了。
  • lib文件夹中主要都是Unity、Mono等的支持动态库so文件,也不是我们关心的对象。
  • 经查阅资料可以得知,Unity游戏的主要逻辑代码存放于assets/bin/Data/Managed下的Assembly-CSharp.dll动态库文件中,C#的dll文件不难分析,我们使用.NET Reflector和dnSpy进行分析和修改。

继续阅读“旅行青蛙(旅かえる)逆向笔记”