专栏首页上善若水s001android逆向安全初级篇之apk逆向常用工具及简单使用一览

s001android逆向安全初级篇之apk逆向常用工具及简单使用一览

关于apk 逆向中的一些工具的使用,看了不少文章,也使用过有很长一段时间了,今天对此做一总结:

几种文件之间的转换命令:

  1. odex -> smali java -jar baksmali.jar -a <api_level> -x <odex_file> -d <framework_dir>
  2. smali ->dex java -Xmax512M -jar samli-2.0.jar <smali_dir> -o classes.dex
  3. dex ->odex 在android平台下使用命令dexopt-wrapper实现: dexopt-wrapper 123.apk 123.odex
  4. 对odex的签名,用于对修改后的odex文件,使用源文件的一部分文件头: busybox dd if=android.policy.odex.bak of=android.policy.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
  5. 对apk的签名 使用专门的签名工具: java -jar signapk.jar platform.x509.pem platform.pk8 input.apk output.apk
  6. Apktools的使用

Apktool 是apk的逆向分析工具,可用于对apk的打包 解包。 APKtool 软件包有 2 个程序组成:apktool.jar 和 aapt 运行 apktools.jar 需要 java 环境(1.6.0 版本以上)。

apktool.jar 用于解包,apktool.jar 和 aapt.exe 联合用于打包。

java -jar /data/dtgy.package/bin/apktool.jar d -f -s --keep-broken-res $APK_FILE $APK_DIR

For additional info, see: http://code.google.com/p/android-apktool/

  1. AXMLPrinter2.jar java -jar AXMLPrinter2.jar AndroidManifest.xml #解开在apk 中的 AndroidManifest.xml
  2. dex2jar 一个工具集,可用来反编译dex文件到class等,然后结合jd-gui查看java代码 示例: ./dex2jar-2.0/d2j-dex2jar.sh classes.dex -o 1.zip

下载链接

  1. Apktool工具下载链接
  2. smali 工具
  3. dexopt-wrapper 源码
  4. 工具下载链接:
  5. dex2jar

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 0x01缓存基本概念一览

    它的主要实现思想是:在程序和数据源之间引入一个中间层即Cache,访问cache的时间成本肯定远低于数据源。

    上善若水.夏
  • 016 进程内缓存和进程外缓存的对比

    在java应用中,对于访问频率比较高,又不怎么变化的数据,常用的解决方案是把这些数据加入缓存。相比DB,缓存的读取效率快好不少。java应用缓存一般分两种,一是...

    上善若水.夏
  • 005互联网网络技术之国内外DNS服务器地址列表

    DNS(Domain Name System)是域名解析服务器的意思,它在互联网的作用是把域名转换成为网络可以识别的IP地址。   通常来说,香港、韩国、日本...

    上善若水.夏
  • Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法

    原文转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html

    用户1171305
  • Maven中使用本地JAR包

    system scope引入的包,在使用jar-with-dependencies打包时将不会被包含,可以使用resources将本地包打进jar-with-d...

    九州暮云
  • 缓存穿透了怎么办?

    在缓存命中率低的情况下,大量查询请求会穿透缓存到数据库,因为数据库对于并发的承受能力有限,一旦数据库承受不了大量查询任务,就会导致查询变慢,导致大量的请求阻塞在...

    王小明_HIT
  • Redis系列 | 缓存穿透、击穿、雪崩、预热、更新、降级

    Redis是高性能的分布式内存数据库,对于内存数据库经常会出现下面几种情况,也经常会出现在Redis面试题中:缓存穿透、缓存击穿、缓存雪崩、缓存预热、缓存更新、...

    王知无
  • 质量保障的方法和实践

    传统的质量保证通常需要在进行任何测试之前进行大量的准备工作和脚本编写。这导致在接近deadline日期时发现软件中的更多错误。从敏捷测试开始,更多的质量保证涉及...

    FunTester
  • Java Agent入门实战(三)-JVM Attach原理与使用

    之前的permain方法只能在java程序启动之前执行,并不能程序启动之后再执行,但是在实际的很多的情况下,我们没有办法在虚拟机启动之时就为其设定代理,这样实际...

    蒋老湿
  • 制作可自运行的jar可执行文件

    今天看到有人把Java的jar包制作成一个可执行文件,于是乎我也试了一把,确实也挺简单的,记录一下。

    kongxx

扫码关注云+社区

领取腾讯云代金券