一般来说现在通用的翻墙姿势有两种,一种是在windows上使用XX-NET,这个工具最好在有ipv6的网络中使用,需要申请自己的一个GAE AppID,然后设置服务端
使用Android studio进行smali动态调试
针对某投资APP的协议逆向过程,smali动态调试步骤参考Android Studio动态调试安卓app教程,但是一开始没用他那个繁琐的baksmali.jar,直接用的apktool最新版反编译apk,然后将项目导入Android studio即可(命令java -jar apktool_2.3.2.jar d myapp.apk -o ./projects/myapp/src),手机最好用开发版或者安装xposed插件BDopener,这样就不用再反编译加debug=true重打包了。
抓包
第四届省赛逆向writeup
第一题:
题目拖进IDA提示已经加壳,PEID查壳,upx的壳,熟悉这种壳的可以用OD手动转到OEP,原理就是利用ESP平衡,在pushad指令后下硬件断点,然后运行就会暂停在popad指令后。再后面的就是JMP OEP指令了,最好使用LoadPE+ImportREC进行脱壳修复,这里因为是upx这种最简单的壳,直接使用ollydump脱掉壳就好了。
使用upx 自带解压功能:
smali全局注入探测App流程
说在前面的话,此方法弊端需要重打包,在今天这个APP防护原来越严的时代,本文方法基本已经过时了,只能应对一些小型APP,因此有一定的局限性。
工具转自 Android应用逆向——分析反编译代码之大神器
我个人觉得逆向主要分为两大方面,定位关键函数和分析算法,这也是实际项目和CTF竞赛的区别:前者是因为业务逻辑的复杂程度,导致代码定位逻辑变得复杂,后者则是将算法变形,考验逆向者的算法分析能力。当静态分析无法解决问题的时候,往往需要使用动态手段,本文评测了一下非虫大佬书中几种动态分析方法。栈跟踪法基本和采用AndroidStudio查看调用栈是一致的,基本只能分析局部函数的调用,粒度太粗。methodfiling方法输出简直惨不忍睹,充斥了大量的系统函数。于是有了本文采用smali注入的方法:
使用IDA进行so库动态调试
对某APP进行抓包并使用IDA调试so库签名生成过程。顺便安利一下四哥的博客,学习Android逆向很好的资料。
Android逆向之旅之IDA调试so源码
蒸米大哥的乌云经典之作 安卓动态调试七种武器之孔雀翎 – Ida Pro
新开始
之前那个byllin.cn过期了,重新在GitHub上搭了一个,首先去jekyllthemes网站找到了一个叫Next的主题,然后直接fork到自己的仓库下并改成la0s.github.io,然后再按照官方文档进行配置,上传图片到screen文件夹,最后就可以在posts里写文章了,然后又加上了搜索功能和gitalk评论系统,总之一切还算顺利!