解密 rwkgyg-CFwarp 脚本 原理与实践
wget -N https://gitlab.com/rwkgyg/CFwarp/raw/main/CFwarp.sh
看第一眼, 就是上次的加密方法.
用上次的方法解密,
bash <(curl https://gitlab.com/crazypeace/tuic-yg-unpack/-/raw/main/unpack.sh) CFwarp.sh
发现脚本为分
前面部分是安装 bzip2, 后面部分是下载这个脚本并执行
wget -qN https://gitlab.com/rwkgyg/CFwarp/raw/main/1CFwarp.sh
那么就是说, 这个 1CFwarp.sh 才是本体.
下载了打开看一看.
这个 1CFwarp.sh 是用 bz2-shell 项目"加密"的.
原理是用
脚本分为
经过阅读代码, 可以发现, 第
在第
cp "$bztmp" /tmp/CFwarp-unpack.sh
注意, bash
嗯, 看到了 /tmp/CFwarp-unpack.sh 文件, 内容就是"解密"后的原始脚本呀.
把整个过程用脚本表达, 就是这样:
bash <(sed '69s@^@#@; 67s@$@\; cp "$bztmp" /tmp/_tmp.sh@' ${1})
mv /tmp/_tmp.sh ${1}
这其中, 使用了单引号' 字符串, 这样其中
并且, 这其中有一个; 为了不被当作
把这样的脚本保存为 unpack.sh
然后执行
bash unpack.sh 1CFwarp.sh
发现报错, bzip2 无法解压.
于是先用
脚本修改为
head -n 74 ${1} | sed '69s@^@#@' | sed '67s@$@\; cp "$bztmp" /tmp/_tmp.sh@' > _part1tail -n +75 ${1} > _part2cat _part1 _part2 > _mixbash _mixmv /tmp/_tmp.sh ${1}
测试正常了.
======
传到了
https://gitlab.com/crazypeace/cfwarp-unpack
用法
wget -qN https://gitlab.com/rwkgyg/CFwarp/raw/main/1CFwarp.shbash <(curl https://gitlab.com/crazypeace/cfwarp-unpack/-/raw/main/unpack.sh) 1CFwarp.sh
评论
发表评论