安卓逆向教程
参考:
教我兄弟学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
遇到的问题
解决 Gradle 无法正常下载 的错误(Android Studio)
新版android studio无法新建java源码工程解决
解决 Android studio 第一次创建项目卡在下载东西、加载过慢的问题
项目默认用的kotlin和build.gradle.kt文件,想配置个阿里云仓库总是不成功,改成java和build.gradle后遇到问题更好百度
逆向
- jeb
- apktool
jeb只能查看代码,不能修改。不仅可以查看smali,还能直接看源码
apktool可以反编译,可以修改smali,然后重新打包