乐固加固后windows下实现给apk签名
遇到了这样一个问题:我们已经在centos下签名生成好的apk,拿到腾讯乐固上加固以后,签名没有了,就需要重新签名,我乐滋滋的想,既然原来是在centos下签名的,那再去centos上签名一次就好了,可以并没有那么简单,一直报错jarsigner不能打开我的apk,如下:
jarsigner: unable to open jar file: my.apk
后面想了下,我之前的签名是先使用apktool.jar反编译apk,删除里面的META-INF文件夹,然后再编译生成新的apk,然后才签名的,我也尝试了这种方式,发现报错,反编译失败,查了资料,发现腾讯乐固加固有一项就是为了防止apk反编译的,所以我反编译失败是解释的通的。
觉得centos不行,那我再windows下试试,同样的签名命令,windows下在git bash下可以!!! 目前不清楚为啥,不知道是不是不同系统的jdk不一样。
在ftp上我们指定了路径给签名apk使用,比如是\\192.168.1.3\ftp\sign_apk
用到了两个脚本,一个bat,一个shell,所以需要在windows上安装下git bash,话不多说,直接看下脚本,
bat脚本:sign_apk.bat
@echo on
setlocal ENABLEDELAYEDEXPANSION
set apk_path="\\192.168.1.3\ftp\sign_apk"
set local_sign_path=C:\build_bat\sign_apk
::当前路径
set cur_path=%cd%
::复制key文件
echo cur_path=%cur_path% and ftp_path=%apk_path%
copy %local_sign_path%\mirror_aw.key .\
xcopy %apk_path%\* .\
md target
::查找当前目录下的所有apk文件,并调用shell脚本签名
for /F %%h in ( 'dir /B %cur_path%\ ^|findstr ".apk" ' ) do (
set apk_name=%%h
echo apk_name=!apk_name!
call %local_sign_path%\sign_tool.sh !apk_name!
)
::等shell执行结束后,将签名后的apk回收到ftp上
ping 127.0.0.1
xcopy target\* %apk_path%
shell脚本:sign_tool.sh
#!/bin/bash
echo ==========sign $apk_name=====================
time_now=`date "+%Y%m%d%H%M"`
jarsigner -verbose -digestalg SHA1 -sigalg SHA1withRSA -keystore mirror.key -signedjar target/"$time_now"_signed_"$apk_name" $apk_name $key_alise -storepass $passwd
两个脚本放在同一个目录下,同级目录下还有个key文件,加密时使用
最后直接执行bat脚本就可以了,执行结束后,会在你的ftp路径下看到以“时间_signed”标志开始的apk,就是已经签名了的apk
乐固加固后windows下实现给apk签名的更多相关文章
- Windows下文件加固
今天学到一种Windows下简单的文件加固方法,可以防止文件被(普通)删除. CMD找到要加固的文件. 例:C盘下有个 1516.txt 文本文件需要加固. 然后 copy 该文件.(注意:这里并非普 ...
- Windows下MySQL配置及安全加固总结
Windows下MySQL配置及安全加固总结 在网管的实际使用过程中,MySQL数据库在安装后的配置及安全加固内容,在客户中逐渐要求越来越高.从反馈的问题看,一般都是由第三方软件公司的软件扫描整个系统 ...
- MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法
MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...
- React Native在Windows下修改js代码后reload无效
iOS下因为有watchman这个插件,所以启动很快(npm start),而Windows下则非常慢,最要命的是遇到了修改js文件后,点击reload居然一直是请求的缓存bundle,泪崩... 后 ...
- Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法
Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法 最近自己下载了最新版本的Pycharm,运行程序过程中发现,在运行一段时间后(比如10几分钟),Py ...
- vim 编辑 windows下的文本时出现乱码, 修改配置后 已解决
最近用VIM 查看一个 WINDOWS下的文本,打开以后发现出现乱码,具体如上图. 最后在网上找到了一个解决方法: 原文地址: https://www.zhihu.com/question/22363 ...
- 解决Windows下编辑脚本上传到Linux后遇到^M的方法
Windows下编辑脚本上传到Linux后遇到^M,导致脚本无法执行,原因是因为Linux与Windows对 "回车键" 编码不同 解决方法如下: 在使用UE->文件-> ...
- windows下elasticsearch安装ik分词器后无法启动
windows下elasticsearch安装ik分词器后启动报如下图错误: 然后百度说是elasticsearch路径有空格,一看果然我的路径有空格,然后重新换个路径就好了.
- Windows下升级Python3.7.7后(原Python3.6.2版本)如何切换Python版本
笔者:风起怨江南 出处:https://www.cnblogs.com/mengjinxiang 笔者原创,文章欢迎转载,如果喜欢请点赞+关注,谢谢! 问题:window系统下,如果升级了最新的Pyt ...
随机推荐
- 10.20stark组件已经完工
2018-10-20 19:37:31 stark组件已经做完!基本上和Django的admin一样! 放上github连接:https://github.com/TrueNewBee/pythonD ...
- 7.17python
1.事件: # !/usr/bin/env python # !--*--coding:utf-8 --*-- # !@Time :2018/7/17 10:38 # !@Author TrueNew ...
- day08 服务
pasting ]注册电话的监听 tm.listen(new MyPhoneStateListener(), PhoneStateListener.LISTEN_CALL_STATE); [4 ...
- ThinkPHP框架 【 AJAX方法返回 】 例子:简单添加一条数据 和 查询一个表里的数据
注:thinkphp使用ajax和之前使用ajax的方法一样,不同点在于之前的ajax中的url指向了一个页面,而thinkphp里面的url需要指向一个操作方法. 在模块控制器Controller文 ...
- RabbitMQ----整理
------------------------------------------------------------------RabbitMQ-------------------------- ...
- 二分图最大匹配|UOJ#78|匈牙利算法|边表|Elena
#78. 二分图最大匹配 从前一个和谐的班级,有 nlnl 个是男生,有 nrnr 个是女生.编号分别为 1,…,nl1,…,nl 和 1,…,nr1,…,nr. 有若干个这样的条件:第 vv 个男生 ...
- sqlServer自动代码提示功能
第一种方法: 首先确认 自己的sqlServer2008自身的提示功能有没有被屏蔽了! 打开sqlserver2008 -- 工具 -- 选项 -- 文本编辑器 -- 所有语言 -- 勾选 语句结束 ...
- FutureTask的用法及两种常用的使用场景
FutureTask可用于异步获取执行结果或取消执行任务的场景.通过传入Runnable或者Callable的任务给FutureTask,直接调用其run方法或者放入线程池执行,之后可以在外部通过Fu ...
- ASP_NET实现界面无刷新的DropdownList两级联动效果
所谓DropdownList联动,也就是在选一个DropdownList的时候使另外一个DropdownList的内容更新(如选省份时显示所属城市),按常规的方法那就是在第一个DropdownList ...
- flash cs4 如何新增自定义控件
1. 新增控件脚本* import gfx.controls.CoreList; import gfx.core.UIComponent; import gfx.controls.CheckBox; ...