Android逆向常用工具介绍及优化

Android逆向工程常用工具
-. jadx https://github.com/skylot/jadx
-, apktool https://github.com/iBotPeaches/Apktool
-. idea 最新版本6.8绿色版本百度云下载 https://pan.baidu.com/s/1kUQx8Zt

本文主要介绍这三种最常用的工具的使用及优化

一.jadx

官网的套路写的十分清楚,大致分为三步走

git clone https://github.com/skylot/jadx.git
cd jadx
./gradlew dist

克隆编译之后可以在build之后进行使用反编译apk中的dex文件
这里贴一篇详细介绍 http://blog.csdn.net/sp6645597/article/details/51319413
类似的使用的例子很多,想必大家也都知道
这里关于jadx介绍介绍一种新手头疼的问题:java.lang.OutOfMemoryError
反编译稍微大一点的apk都会卡死在半路,点击没反应,关也关闭不了
然后google一下 http://blog.zhaiyifan.cn/2016/02/09/android-reverse-1/
在这里发现了结果,但是按照上面所说的并不能修改成功
原因是 windows和linux的平台语法并不一样,虽然都是脚本启动,但一个是bat脚本方式的启动,一个是shell方式的启动
解决问题的具体原因在这里:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
感觉上面画的还是挺全面的,在jadx中作者其实已经为我们预留出了解决此问题的配置选项 DEFAULT_JVM_OPTS 我们只需要配置这个选项即可
linux (修改build后的文件  /build/bin目录下的jadx和jadx-gui)如下

# Add default JVM options here. You can also use JAVA_OPTS and JADX_GUI_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS="-server -Xms2048m -Xmx8192m -XX:PermSize=1024m -XX:MaxPermSize=2048m"

windows(修改build后的文件  /build/bin目录下的jadx.bat和 jadx-gui.bat))如下:

@rem Add default JVM options here. You can also use JAVA_OPTS and JADX_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=-server -Xms2048m -Xmx8192m -XX:PermSize=1024m -XX:MaxPermSize=2048m

当然我这里配置的适中,如果感觉电脑的配置比较好的情况下可以配置的更好一点

二.apktool

https://github.com/iBotPeaches/Apktool
apk官网也写的十分清楚,编译apktool源码只需要简单的几步

Requirements
JDK (7 or 8). No OpenJDK
git
Build Steps
We use gradle to build. It’s pretty easy. First clone the repository.
git clone git://github.com/iBotPeaches/Apktool.git
cd Apktool
For steps 3-5 use ./gradlew for unix based systems or gradlew.bat for windows.
[./gradlew][gradlew.bat] build fatJar - Builds Apktool, including final binary.
Optional (You may build a Proguard jar) [./gradlew][gradlew.bat] build fatJar proguard
After build completes you should have a jar file at: ./brut.apktool/apktool-cli/build/libs/apktool-xxxxx.jar

这里apktool的各种任务都已经为大家写好了,导入as或者idea中即可编译源码,很多时候我们都需要去修改源码来达到我们去壳的目的:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,750评论 2 45
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,034评论 25 709
  • 我长这么大只喝醉过两次而已。 第一次是在大二的时候,那次是因为健美操比赛得了第一名,导员为了庆祝请我们一些学生和老...
    芒茶阅读 6,630评论 0 0
  • Glide作为开发常用的图片加载库,有许多实用而且强大的功能,那么,今天就来总结一番,这次把比较常见的都写出来,但...
    QM阅读 6,428评论 0 52
  • 【原文】远思扬祖宗之德,近思盖父母之愆;上思报国之恩,下思造家之福;外思济人之急,内思闲己之邪。务要日日知非,日日...
    人力资源管理中心阅读 4,225评论 0 0

友情链接更多精彩内容