Skip to content
当前页

安卓逆向教程

参考:

教我兄弟学Android逆向01 编写第一个Android程序

《安卓逆向这档事》二、初识APK文件结构、双开、汉化、基础修

先编写一个简易安卓程序

  • 下载安卓专用IDE
  • 编写程序,build生成apk
  • 使用工具逆向
  • 修改
  • 重新打包
  • 重新签名
  • 安装查看效果

反编译、修改smali、打包、对齐签名并安装

反编译:根据AndroidManifest.xml文件找到app入口,修改对应的smali文件

shell
apktool -r -f d test.apk

重新打包

shell
apktool b myapp -o newapp.apk

对齐:先对齐, 不对齐有可能安装不成功, zipalign是android sdk里面自带的

shell
zipalign -v 4 source.apk source_4KB_PBS.apk

创建密钥:使用java sdk自带的keytool创建密钥,或者使用已有的密钥

shell
keytool -genkeypair -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 -keystore my-release-key.jks -storepass 123456 -keypass 123456

签名:使用android sdk自带的apksigner签名

shell
apksigner sign --ks my-release-key.jks source_4KB_PBS.apk

安装:使用android studio安装目录里面的adb.exe安装到手机

shell
adb install source_4KB_PBS.apk

如何安装 apksigner

使用apksigner为apk签名

遇到的问题

解决 Gradle 无法正常下载 的错误(Android Studio)

新版android studio无法新建java源码工程解决

解决 Android studio 第一次创建项目卡在下载东西、加载过慢的问题

Apktool 打包失败解决办法

项目默认用的kotlin和build.gradle.kt文件,想配置个阿里云仓库总是不成功,改成java和build.gradle后遇到问题更好百度

逆向

  • jeb
  • apktool

下载运行JEB

jeb只能查看代码,不能修改。不仅可以查看smali,还能直接看源码

apktool可以反编译,可以修改smali,然后重新打包