echo_col() {
echo -e "\n\033[33;40m- $1 -\033[0m\n"
}
echo_ero() {
echo -e "\n\033[31;40m- $1 -\033[0m\n"
}
pak_info() {
date '+%Y-%m-%d %H:%M:%S' -d @$(stat -c %Y $1)
}
set_env() {
baksmali=bin/baksmali.jar
apktool=bin/apktool.jar
smali=bin/smali.jar
zipalign=bin/zipalign.exe
zip=bin/zip.exe
unzip=bin/unzip.exe
}
apk_unpack() {
echo_col "正在使用 Apktool 反编译 $1 当前文件时间戳:$(pak_info $1)"
java -jar $apktool d -r -o ${1%.*} $1 -f
[[ "$?" == "1" ]] && {
echo_ero "Apktool 反编译失败 正在尝试使用 baksmali 反编译"
rm -rf ${1%.*}
$unzip -j $1 "class*.dex" -d ${1%.*}
find ${1%.*} -maxdepth 1 -type f -name "classes*.dex" | while read file; do
echo_col "正在使用 baksmali 反编译 ${file%*/} 当前文件时间戳:$(pak_info $1)"
java -jar $baksmali d -o ${file%.*} $file
done
}
[[ -f ${1%.*}/apktool.yml || -s ${1%.*}/class*.dex ]] && (echo_col "反编译 $1 完成 按任意键返回" && read) || return 1
}
apk_pack() {
echo_col "正在使用 Apktool 回编译 $1 当前文件时间戳:$(pak_info $1)"
java -jar $apktool b -o ${1%.*}.zip -c ${1%.*} -f
[[ "$?" == "1" ]] && {
echo_ero "Apktool 回编译失败 正在尝试使用 smali 回编译"
rm -rf ${1%.*}.zip
find ${1%.*} -maxdepth 1 -type d -name "classes*" -o -name "smali*" | while read file; do
echo_col "正在使用 smali 回编译 ${file%*/}.dex 当前文件时间戳:$(pak_info $1)"
java -jar $smali a -o $file.dex $file
done
[[ -s ${1%.*}/class*.dex ]] || return 1
cp $1 ${1%.*}.zip
$zip -ju ${1%.*}.zip ${1%.*}/*.dex
}
[[ -s ${1%.*}.zip ]] || return 1
echo_col "回编译 $1 完成 新的文件时间戳:$(pak_info $1)"
echo_col "正在使用 zipalign 进行4字节对齐优化 按任意键返回" && read
[[ -f $1 ]] && mv $1 $1.old
$zipalign -p -f -v 4 ${1%.*}.zip $1 >/dev/null 2>&1
rm -rf ${1%.*}.zip
}
apk_zipa() {
cp $1 ${1%.*}.zip
$zip -ju ${1%.*}.zip ${1%.*}/*.dex
echo_col "回编译 $1 完成 新的文件时间戳:$(pak_info $1) 按任意键返回" && read
echo_col "正在使用 zipalign 进行4字节对齐优化"
[[ -f $1 ]] && mv $1 $1.old
$zipalign -p -f -v 4 ${1%.*}.zip $1 >/dev/null 2>&1
rm -rf ${1%.*}.zip
}
echo_menu1() {
echo_col "反编译文件 - - 回编译文件"
ls *.apk *.jar 2>/dev/null | while read file; do
local num=$((num + 1))
echo -ne "D$num.$file B$num.$file\n"
done
}
D_choice() {
ls *.apk *.jar 2>/dev/null | while read file; do
local num=$((num + 1))
[[ "D$num" == "$choice" ]] && echo "$file" && return
done
}
B_choice() {
ls *.apk *.jar 2>/dev/null | while read file; do
local num=$((num + 1))
[[ "B$num" == "$choice" ]] && echo "$file" && return
done
}
echo_menu2() {
while :; do
clear && echo_menu1
read -p "$(echo -ne "\n请输入序号 [ 55 退出该程序 ]:")" choice
case $choice in
D*)
D_apk=$(D_choice)
[[ ! -n "$D_apk" ]] && (echo_ero "未找到匹配文件" && read && continue 1)
[[ -n "$D_apk" ]] && (apk_unpack $D_apk || (echo_ero "反编译失败" && rm -rf ${D_apk%.*} && read))
continue
;;
B*)
B_apk=$(B_choice)
[[ ! -d "${B_apk%.*}" || ! -n "$B_apk" ]] && echo_ero "未找到匹配文件" && read && continue 1
[[ -n "$B_apk" && -d "${B_apk%.*}" ]] && apk_pack $B_apk || (echo_ero "回编译失败" && read && continue 1)
continue
;;
"55")
break
;;
*)
echo_ero "不存在该选项" && read
continue
;;
esac
done
}
set_env
echo_menu2
安卓机器
- 粉丝: 1w+
- 资源: 825
最新资源
- 红外测距传感器GP2D12与STM32单片机程序,滤波算法,设计步骤和代码流程清晰非常实用 是机器人中最常用的红外测距传感器 程序源码注释详细,非常适合单片机开发人员
- (web安全)逻辑漏洞测试
- 基于二阶锥规划的主动配电网动态最优潮流求解 关键词:配电网优化 二阶锥优化 动态优化 最优潮流 仿真代码:MATLAB YALMIP+CPLEX 优势:代码注释详实,适合参考学习 主要内容:代码主
- 逆变器环流分析,包括Matlab仿真与分析报告
- matlab fft 快速傅里叶变 双边谱,单边谱,相位谱 基于matlab2018b及以上版本实现 对信号做fft,然后绘制其双边谱,单边谱,和对应的相位谱 有详细介绍并附带注释,保证可以运行 附
- 考虑阶梯式碳交易机制与电制氢的综合能源系统热电优化 仿真平台:matlab “双碳”背景下,为提高能源利用率,优化设备的运行灵活性,进一步降低综合能源系统(IES)的碳排放水平,提出一种IES低碳经济
- 蒙特卡洛算法对电动汽车充电负荷模拟 仿真平台:matlab 可自己修改电动汽车数量,lunwen复现 参考lunwen:基于V2G的电动汽车充放电优化调度策略 有注释简单易懂,可随意调整参数
- 非线性观测器,就是磁链观测器,理论上这个比那些估算反电动势的要强得多,也稳定得多 单出Matlab模型(2021b版本),图是直接闭环启动的效果,仿真里面可以做到 在实际硬件中可以做到5%或者更低
- Verilog+PID调节器源码+FPGA+PID自动控制
- COMSOL光学模型:光子晶体线缺陷波导能带分析
- foc滑膜观测器(SMO+PLL)matlab模型,仿真里面是直接0速闭环启动的效果,当然这是仿真,应用到硬件肯定要加开环启动,目前已经在M4的硬件中实现了,效果还不错,现在出这个模型,matlab
- 51单片机开发的直流电机PID 算法控制转速项目,可实现稳定调节设定转速 非常实用的一个项目,包括程序源码和protues 仿真,程序源码注释详细 非常适合单片机开发人员或者电机控制人员
- c#winform WCS上位机控制系统模板 Mysql 数据库 三层架构 wcs仓库控制系统主要用于自动化立体仓库之中,配合wms系统使用,wcs系统协调各种物流设备 如输送机、堆垛机、穿梭车以
- 光伏发电+boost+储能+双向dcdc+并网逆变器控制(低压用户型电能路由器仿真模型)【含个人笔记+建模参考】 包含Boost、Buck-boost双向DCDC、并网逆变器三大控制部分 boost电
- 四层电梯PLC仿真程序 四层简易电梯程序 博途V16版本 【仅供参考学习,请勿商用】
- Bayes-CNN贝叶斯优化卷积神经网络多输入单输出回归预测(Matlab) 1.命令窗口输出MAE、MSE、RMSEP、R^2、RPD和MAPE 2.贝叶斯优化算法优化参数为学习率、批处理样本大小
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈