• 您好!欢迎访问阿Q博客,目前本站由BlueGame博客平滑迁移,原域名预计保留三个月,请收藏新站网址https://qblog.org

Linux环境下脚本加密软件SHC的解密方法

实用工具 阿Q 7734次浏览 18个评论

Linux环境下脚本加密软件SHC的解密方法

2016/08/06:更新一个新的解密脚本

https://github.com/yanncam/UnSHc

自从我在博客里面发布了一些免流相关的东西之后,不少博友都加我QQ想了解如何解密经过SHC加密后的脚本。博主在这里需要跟大家说明的一点是:博主真的不是什么高手或大牛!博主解密这些脚本的方法都是搜索一下就能够找到的东西,我只是汇总了一下分享给大家,这个没什么技术含量可言的。另外,博主对于Linux的了解也就仅限于正常的使用。所以,不要一加QQ就咨询解密啦,我真的知道的不多,而且最新的解密脚本都是一些博友发给我的。

收到博友的反馈说是解密脚本有些能解,有些不能解,具体原因我不太清楚,今天就给大家了解下SHC解密的另一个思路(在上一篇文章中我提供的是一个现成的脚本)。当然,要想知道如何解密SHC,最好还是要了解下SHC是个啥东西,怎么工作的,咱先来科普一下吧。

SHC简单介绍及安装使用

SHC是一个用于加密linux脚本的软件,在某种程度上来说可以提高安全性。如果您不希望自己编写的shell脚本里面的相关信息透露出来,或者不愿意让人看到和修改shell代码,就可以使用shell加密。实际上SHC是一个脚本编译程序,使用RC4加密代码加密shell, 并把shell转换为二进制可执行文件(支持动态链接和静态链接)

如何安装和使用SHC?

SHC官网地址:http://www.datsi.fi.upm.es/~frosal/sources/

可以在直接从官网上WGET下载最新的源码到本机进行编译,执行步骤如下:

安装的时候可能会出现下面的情况,可以直接无视,一般没什么影响,只是少了对应的帮助文档。

SHC加密程序使用参数:

简单使用实例:用SHC加密当前目录下的 abc.sh 文件

如果需要用静态链接,只需要只需SHC加密的时候前面加上代码:CFLAGS=-static

静态链接加密实例:

SHC解密的一些方法

2016/8/13日更新:根据博友反馈本方法运行出错,解密思路是一个朋友给的,目前还没有回复,等到回复了会第一时间更新。

虽然使用SHC对SHELL脚本进行RC4加密编译可以从一定程度上防止脚本程序被修改,但是这种加密方式并不是坚不可破的,心中无码才是最高境界,当然,国内环境大家懂的,在这里就不扯开话题了。

经过SHC加密的脚本能够被解密的原因是:在执行加密脚本的时候,还是会在内存中解密全部的shell代码,所以解密的思路就是从内存中获取解密后的代码

好了,解密的思路有了,下面就来一步一步探讨下怎么从内存中获取解密后的代码。

那么有啥方法可以从内存中读取数据呢?经过一番搜索之后,找到了Core Dump这个神器。

什么是Core dump
Core dump翻译过来就是核心转储,当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump。core dump在应用crash掉之后对问题的诊断是很有帮助的。多数情况下Core dump默认是关闭状态的。

那如何打开Core Dump呢?

方法一:直接执行命令行开启:

通过上面的命令就开启了core dump,同时限制文件大小为7000k,也就是限制单个文件大小为7M左右,一般的脚本没那么大的。

方法二:配置profile文件,打开/etc/profile文件,在里面可以找到

将它修改成下面这样就可以了。

当然,对于像我们这样的菜鸟来讲,还是方法一比较实际。

开启了Core Dump,我们就可以进行猥琐的解密工作了。

首先设置下执行脚本并中断,假如你需要解密的二进制脚本文件名为abc

(请注意:博友反馈这一步执行不了)

输出脚本执行信息和脚本代码到文件

好了,输出后的abc.sh文件就是从内存里面取出的解密后的代码,当然里面还是有些多余文本内容,自己稍微动手剔除后就得到解密后的脚本了。

上面是手工方式获得解密代码,当然也是最稳妥的,下面再给大家送上一份一个一键解密脚本,当然,博主不保证能够解密成功,也是拿出来参考参考而已。

最后,如果各位博友解密了脚本的话,欢迎发我一份。


本网站采用BY-NC-SA协议进行授权 , 转载请注明Linux环境下脚本加密软件SHC的解密方法
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(18)个小伙伴在吐槽
  1. 666
    121122016-08-05 00:48 回复
    • Blue2016-08-05 09:04 回复
      • 楼主懂怎么在liunx里面制作一个认证系统吗?
        121122016-08-10 10:14 回复
        • 这个真不会,建议找专业人士做。
          Blue2016-08-10 11:05 回复
          • 楼主,你既然了解shc加密。那您知不知道,怎么才能把gcc编译后的c文件还原。
            121122016-08-13 10:52
        • 我知道,联系我,就是那些授权卡密之类的539995920
          qq5399959202016-08-29 00:52 回复
          • 抱歉,真的不会也没时间做。卡密授权已经有成熟的方案了,建议找个程序员开发吧。
            Blue2016-08-30 09:32
  2. 老大 没用啊
    2016-08-10 14:32 回复
  3. 有用,但是,结果其实跟Unshc差不多的,只是很多垃圾。
    temp2016-09-07 20:55 回复
  4. 求这步 正确写法1./abc (sleep 0.2 && kill -SIGSEGV $!)
    • 抱歉,这个方法目前有的问题
      Blue2016-10-07 21:17 回复
    • ./abc& (sleep 0.2 && kill -SIGSEGV $!) 这样写就对了
      qq18058731132016-11-09 17:30 回复
  5. ./abc& (sleep 0.2 && kill -SIGSEGV $!) 这样写就对了
    qq18058731132016-11-09 17:30 回复
    • 感谢博友提供方法
      Blue2016-11-11 10:51 回复
    • 你好,这个在centos7.2 下面,生成不了core文件~
      阿狼哥2016-11-19 13:07 回复
  6. 手动的最后一步看不懂 ****哪里来?
    狗熊2016-12-30 16:42 回复
  7. 啊哈,
    麒麟2017-01-04 11:08 回复
  8. 手动的最后一步看不懂 ****哪里来?手动的最后一步看不懂 ****哪里来?手动的最后一步看不懂 ****哪里来?手动的最后一步看不懂 ****哪里来?手动的最后一步看不懂 ****哪里来?
    徐龙发2017-01-09 21:42 回复