遇到了这样一个问题:我们已经在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签名的更多相关文章

  1. Windows下文件加固

    今天学到一种Windows下简单的文件加固方法,可以防止文件被(普通)删除. CMD找到要加固的文件. 例:C盘下有个 1516.txt 文本文件需要加固. 然后 copy 该文件.(注意:这里并非普 ...

  2. Windows下MySQL配置及安全加固总结

    Windows下MySQL配置及安全加固总结 在网管的实际使用过程中,MySQL数据库在安装后的配置及安全加固内容,在客户中逐渐要求越来越高.从反馈的问题看,一般都是由第三方软件公司的软件扫描整个系统 ...

  3. MySQL 5.7 Command Line Client输入密码后闪退和windows下mysql忘记root密码的解决办法

    MySQL 5.7 Command Line Client输入密码后闪退的问题: 问题分析: 1.查看mysql command line client默认执行的一些参数.方法:开始->所有程序 ...

  4. React Native在Windows下修改js代码后reload无效

    iOS下因为有watchman这个插件,所以启动很快(npm start),而Windows下则非常慢,最要命的是遇到了修改js文件后,点击reload居然一直是请求的缓存bundle,泪崩... 后 ...

  5. Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法

    Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法 最近自己下载了最新版本的Pycharm,运行程序过程中发现,在运行一段时间后(比如10几分钟),Py ...

  6. vim 编辑 windows下的文本时出现乱码, 修改配置后 已解决

    最近用VIM 查看一个 WINDOWS下的文本,打开以后发现出现乱码,具体如上图. 最后在网上找到了一个解决方法: 原文地址: https://www.zhihu.com/question/22363 ...

  7. 解决Windows下编辑脚本上传到Linux后遇到^M的方法

    Windows下编辑脚本上传到Linux后遇到^M,导致脚本无法执行,原因是因为Linux与Windows对 "回车键" 编码不同 解决方法如下: 在使用UE->文件-> ...

  8. windows下elasticsearch安装ik分词器后无法启动

    windows下elasticsearch安装ik分词器后启动报如下图错误: 然后百度说是elasticsearch路径有空格,一看果然我的路径有空格,然后重新换个路径就好了.

  9. Windows下升级Python3.7.7后(原Python3.6.2版本)如何切换Python版本

    笔者:风起怨江南 出处:https://www.cnblogs.com/mengjinxiang 笔者原创,文章欢迎转载,如果喜欢请点赞+关注,谢谢! 问题:window系统下,如果升级了最新的Pyt ...

随机推荐

  1. 9.24 Django Form组件

    2018-9-23 20:10:04 这两天优化了自己图书管理系统 github 连接:https://github.com/TrueNewBee/pythonDemo 顺便整理了博客,写了好多总结, ...

  2. Thrift IDL

    Thrift类型 Thrift类型系统旨在允许程序员尽可能使用本机类型,无论使用何种编程语言.此信息基于并取代Thrift白皮书中的信息.Thrift IDL为每一种目标语言提供了用于生成代码的类型描 ...

  3. 如何将MP3录音转文字

    相信很多人都有电话录音的习惯,因为这样可以记录下很多重要的信息.那么当我们通过录音将一些重要的信息记录下来后,我们应该怎样将这些录音文件转换成文字进行记录呢?下面我们就一起来看一下吧. 操作步骤: 步 ...

  4. 转发一篇好文:36氪翻译自medium的文章: 读书没有 KPI:为什么坚持“一年读 100 本书”没用?

    你只是为了达成所谓的数量目标而读书. 编者按:读书本是一项安静.缓慢的活动,但随着现代社会节奏的加快,信息技术的广泛普及,读书这一行为模式也开始发生了变化.越来越多的人开始碎片化阅读,并且越来越多的文 ...

  5. ubuntu下安装bin文件

    从Java官网下载的安装文件,有的只有bin文件,没有.tar.gz文件. ①进入设备终端,通过sudo -s或su回车,切换到管理员用户:②输入管理员密码然后回车:③输入sudo chmod +x ...

  6. HDU 5542 - The Battle of Chibi - [离散化+树状数组优化DP]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5542 Problem DescriptionCao Cao made up a big army an ...

  7. [No0000154]详解为什么32位系统只能用4G内存.

    既然是详解, 就从最基础的讲起了. 或者1来存储数据的, 所以Bit实际上可以看成存放1个二进制数字的1个位置.也就是说bit只有2种值, 0 或者 1, 所以1个bit能存放1个布尔类型的值(boo ...

  8. [No0000132]正确使用密码加盐散列[译]

    如果你是一个 web 开发工程师,可能你已经建立了一个用户账户系统.一个用户账户系统最重要的部分是如何保护密码.用户账户数据库经常被黑,如果你的网站曾经被攻击过,你绝对必须做点什么来保护你的用户的密码 ...

  9. linux 之awk

    简介 awk是一个强大的文本分析工具,相对grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格 为默认分隔符将每行切片,切开的部分再 ...

  10. ida pro65

    https://elinux.org/CI20_Dev_Zone#Making_a_bootable_SD_card_from_sources IDAPro65.exe: 下载地址:http://pa ...