android逆向,反编译,加壳

1,android逆向你要懂,apktool可以配置到系统变量path上,可全局使用,也可以在文件内使用

apktool工具进行反编译,apktool  d  -f d:\test.apk   -o  d:\test

然后反编译得到的是

这些文件都能进行修改, smali文件就是和java文件对应的;

删除original签名,删除res里values的public.xml文件,该文件二次打包的时候会生成

res里values的id.xml文件就是资源id文件,变化的id需在上面修改,多了无碍,少了二次打包会提示错误找不到资源

替换smali文件的时候要注意包名和之前保持一致,被引用的方法名,属性值,返回值不能变;

apktool工具进行反编译,apktool  b  -f   d:\test  -o  d:\test.apk二次打包

然后使用apksign进行签名


配置apktool环境  环境变量path
apktool  d  test.apk -o c:\test 
apktool  d -f c:\test.apk -o c:\test 命令,把 test.apk 反编译,反编译后的文件放入 c 盘下的 test 文件中


 jarsigner -verbose -keystore debug.keystore -signedjar test2.apk tap_unsign1.apk timdong

jarsigner -keystore gm88keystore -storepass 123456 -signedjar dist.apk -digestalg SHA1 -sigalg MD5withRSA  $1 gm88

gradlew app:dependencies   as命令分析架包冲突

keytool -genkeypair -v -keyalg DSA -keysize 1024 -sigalg SHA1withDSA -validity 20000 -keystore D:\jiangwei.keystore -alias jiangwei -keypass jiangwei -storepass jiangwei
在用jarsigner工具进行签名

jarsigner -verbose -sigalg SHA1withDSA -digestalg SHA1 -keystore D:\jiangwei.keystore -storepass jiangwei D:\123.apk jiangwei

查看签名文件jks信息  
keytool -list -v -keystore C:\Users\GM88\Desktop\jz_key.jks
输入密钥库口令:

jarsigner -digestalg SHA1 -sigalg SHA1withRSA(或SHA1withDSA) -verbose -keystore xxx.jks -storepass jz1234(密码)  -signedjar xxx.apk(签名后的apk名字) xxx.apk(需要签名的apk) xxx(keystore别名)

示例;

jarsigner -digestalg SHA1 -sigalg SHA1withRSA    -verbose -keystore jz_key.jks  -storepass jz1234  -signedjar sign_ok.apk 123.apk  jzkey

smali2java和java2smali工具的合理使用,就是smali和java文件的相互转换

一般签名使用的是v1和v2同时使用,为了兼容手机

zipalign压缩对齐apk

jadx-gui-0.9.0查看apk

jdgui 查看jar

使用7-Zip能对jar替换删除里面的class文件

发布了77 篇原创文章 · 获赞 3 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/haiyang497661292/article/details/88411844