一个比较jar包差异的脚本(解压+反编译+diff)

因为要hack别人的jar包,搞完打出新jar包,总是有不放心,
于是写了这个脚本。

还真让我发现原始的jar包,好有些ajc增强的东西,也是醉了。。。

。。不过,看来这脚本挺有用的。

于是分享出来,欢迎拍砖。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash

if [ $# -lt 2 ] ; then
echo "USAGE: $0 \$leftJar \$rightJar"
exit 1
fi

leftJar=$1
rightJar=$2

DATETIME=`date +%Y%m%d%H%M%S`

function preProcess(){
targetJar=$1
unzipDir=$2
echo "Unzip $targetJar to $unzipDir now."
unzip -qq -o $targetJar -d $unzipDir 2>&1
echo "Jad decompile all java file."
# find . -type f -name \*.class
jad -o -r -d$unzipDir/src -sjava $unzipDir/**/*.class 1>/dev/null 2>&1
}

preProcess $leftJar /tmp/diffjar_${DATETIME}_left
preProcess $rightJar /tmp/diffjar_${DATETIME}_right
diff -r -w /tmp/diffjar_${DATETIME}_left/ /tmp/diffjar_${DATETIME}_right/ > /tmp/diffjar_${DATETIME}.diff
echo "Finish. PLS use vim open:"
echo " /tmp/diffjar_${DATETIME}.diff"

PS:需要提前安装好unzipjad

换机器后,如何重启启用hexo

首先还是参照官方文档,安装hexo

https://github.com/hexojs/hexo

然后,其实就是很简单的一段bash脚本:

1
2
3
4
5
6
7
8
9
10
11
echo clean
hexo clean --debug
echo generate
hexo generate --debug
echo deploy
hexo deploy --debug
rsync -avz public/ .deploy_git/ --delete --exclude=.git
cd .deploy_git/
git add *
git ci -am 'commit'
git push

最后,再熟悉下使用办法吧!

https://hexo.io/docs/
https://hexo.io/docs/writing.html

试试吧!

新的征程

github+markdown来顺手维护blog,这么方便,再没有借口偷懒了。

送自己一句话,做为第一篇:

Life is a horse, and either you ride it or it rides you.