反编译-重新打包

反编译工具:

解压apk文件后发现classes.dex文件CMD到该目录下执行

d2j-dex2jar classes.dex

会生成classes-dex2jar.jar文件,用jd-gui打开即可看到反编译后的代码

反编译资源文件CMD执行:

apktool d Demo.apk

可以看到各个资源文件和smail文件,smail文件是主要的java文件,语法类似于汇编语言,是Android虚拟机所使用的寄存器语言

对反编译后的文件重新打包:

apktool b Demo -o New_Demo.apk

重新签名:

SHA1withRSA -digestalg SHA1 -keystore 签名文件名 -storepass 签名密码 待签名的APK文件名 签名的别名

签名之后的APK文件现在已经可以安装到手机上了,不过在此之前Android还极度建议我们对签名后的APK文件进行一次对齐操作,因为这样可以使得我们的程序在Android系统中运行得更快。对齐操作使用的是zipalign工具,该工具存放于<Android SDK>/build-tools/<version>目录下,将这个目录配置到系统环境变量当中就可以在任何位置执行此命令了。命令格式如下:

zipalign 4 New_Demo.apk New_Demo_aligned.apk

反编译:

@echo off
set FILE=%1
set EX=%FILE:~-4%
if "%EX%"==".apk" (goto work) else (echo 这不是apk文件&pause)
pause
:work
java -jar apktool.jar d %1 %2 %3 %4 %5 %6

打包:

@echo off
java -jar apktool.jar b %1 %2 %3 %4 %5 %6

打包并签名:

@echo off
set IN_DIR=%1
set FILE=%IN_DIR%_new.apk
java -jar apktool.jar b "%IN_DIR%" %2 %3 %4 %5 %6
for /f "delims=" %%i in ('dir /b /s /od "%IN_DIR%\dist\*.apk"') do (set IN_FILE=%%i&goto work)
echo 没有找到apk文件,打包失败
exit
:work
echo 复制apk
copy /Y "%IN_FILE%" "%FILE%"
call 签名 "%FILE%"
pause




















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值