Android OS现在非常流行,恶意APK层出不穷,相信看到这篇文章的同志们肯定多多少少是对apk的逆向有所了解,本人在这里利用其它大神已经写好的工具,实现了apk自动化解包与压包的过程.
package cugNewAir;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import brut.androlib.AndrolibException;
import brut.androlib.ApkDecoder;
import brut.common.BrutException;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ApkDecoder decoder = new ApkDecoder();
File apk = new File("HelloWorld.apk");
decoder.setApkFile(apk);
File out = new File("HelloWorld");
try {
decoder.setOutDir(out);
} catch (AndrolibException e) {
e.printStackTrace();
}
try {
decoder.decode();
} catch (AndrolibException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Decoder Done!");
Androlib_V2 androlib = new Androlib_V2();
HashMap<String, Boolean> flags = new HashMap<String, Boolean>();
flags.put("forceBuildAll", true);
flags.put("debug", false);
flags.put("verbose", false);
flags.put("injectOriginal", false);
flags.put("framework", false);
flags.put("update", false);
File reapk = new File("Hello.apk");
try {
androlib.build(out, reapk, flags, null, "aapt.exe");
} catch (BrutException e) {
e.printStackTrace();
}
System.out.println("Repackage Done!");
}
}
主要就是decoder函数和bulid函数,并不难,最后赠送大家一份apktool源码生成的说明文档,利用doxygen生成.
最后赠送大家一份apktool源码的说明文档,doxygen生成.
源码链接:http://yunpan.cn/QIIjijQwHicLK
apktool说明文档链接:http://yunpan.cn/QIIwsPkUCfwC4