Apk文件Hack试验

试验1:反编译dex文件并查看
(1)将Apk文件作为zip文件解压缩得到classes.dex
(2)使用dex2jar(http://code.google.com/p/dex2jar/ )工具将dex文件转为jar文件
(3)使用jd-gui(http://java.decompiler.free.fr/?q=jdgui )工具查看得到的jar包

试验2: 修改apk文件的图标或者文本
1)使用android-apktool(http://code.google.com/p/android-apktool/ )工具解包apk。
    apktool d apk文件 输出目录
(2)编辑res目录下面有图片文件以及保存有文本的xml文件
(3)编辑smali目录下的代码文件,有些文本可能是直接写到代码中的,比如文件路径。
    smali是一种汇编形式的dex代码,具体参见http://code.google.com/p/smali/
(4)重新打包生成apk
    apktool b apk文件 输入目录
(5)签名并发布
    生成签名库,生成的签名库可以重复使用。
    keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore
    -alias 后面跟的是别名这里是 asaiAndroid.store
    -keyalg 是加密方式这里是RSA
    -validity 是有效期 这里是20000
    -keystore 就是要生成的keystore的名称 这里是asiAndroid.keystore
    然后按回车键
    按回车后首先会提示你输入的密码:这个在签名时要用的,要记住
    然后会再确认你的密码。
    之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码 (CN)等。
(6)签名
    jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk    asaiAndroid.keystore
    -keystore: keystore的名称
    LotteryOnline_signed.apk: 签名后的APK
    LotteryOnline.apk: 签名前的APK
    asaiAndroid.keystore要使用的key条目名称,一个keystore中可能有多个key条目。如果忘记了可以用keytool -list -keysotre store的路径 来查看
    如何判断一个apk是否已经签名?
    jarsigner.exe -verify android_assistant.apk

你可能感兴趣的:(android)