本文收集逆向安全方面的优秀学习资源,和自己的一些安全方面的思考
手机乐园
Android病毒安全分析
主要致力于Android逆向分析、系统安全、应用安全、病毒分析与检测方法研究。
App如何防止被重新打包
试着分析一个app将日志开关打开重新打包,可以安装,微信无法登陆,但是使用手机号可以登陆,为什么呢,因为微信后台签名验证,而接口却没有。
总结:
接口调用,添加签名判断,版本判断,重新打包接口不让调用,安全性进一步提高。
工具
uiautomatorviewer.bat 位置:Android\sdk\tools
smali
本人觉得学习smali 最好的途径就是,拿java 和smail 对比学习
smali语法
Android逆向之smali语法宝典
https://www.jianshu.com/p/ba9b374346dd 作者 (简书风澈vio)
smail工具下载:
smali-2.2.2.jar
java -jar smali-2.1.3.jar -o classes.dex smali
baksmali-2.2.1.jar
smalidea-0.04.zip android studio java转 smail 插件
https://bitbucket.org/JesusFreke/smali/downloads/
android studio调试smali
Android调试系列—使用android studio调试smali代码
https://www.cnblogs.com/gordon0918/p/5570811.html
smalidea 无源码调试 apk
https://www.diycode.cc/topics/419
Android调试系列—使用android studio调试smali代码
https://blog.csdn.net/tabactivity/article/details/80446895
插入debuggable 为true
案例:java -jar AXMLEditor.jar -attr -i application package debuggable true AndroidManifest.xml AndroidManifest_out.xml
application的标签中插入android:debuggable=”true”属性,让程序处于可调式状态
四哥写的工具 https://github.com/fourbrother/AXMLEditor
总结:
1.adb shell am start -D -S -W 包名/要启动的activity名字
2.使用 :adb shell ps 然后查找:
3.ps | 包名
u0_a808 27195 529 1718576 25720 futex_wait 0000000000 S
adb forward tcp:8800 jdwp:27195