zoukankan      html  css  js  c++  java
  • 用MD5防止文件被写入恶意代码

    前几天在某软件园下载burpsuit pro,使用后捆绑软件什么的都不说了,最后经过一番排查发现软件被人家写了恶意代码,导致本人电脑被挂马而且一般的杀毒软件没有检测到(XX管家,XX安全卫士什么的),真的恶心,我把木马程序给出来吧

    PS:想来菜刀本人也用过啊,你说搞就搞,我不要面子的啊!!!于是本人强烈建议大家以后下载软件时尽量把从某些软件园下载的文件MD5和官方的进行比较,像某些免费的软件最好去官网下,而且官网一般都会给出产品的MD5,若果双方的MD5不一样说明你下的文件一定有问题,使用后很容易被装后门被人当肉鸡了。下面是我在百度找到的查看文件MD5的方法以及MD5加密的原理。
     
     

    windows方法:win键+r键输入cmd调出命令行

    输入:

    查看MD5值:

    certutil -hashfile 文件名  MD5

    查看 SHA1

    certutil -hashfile 文件名  SHA1 

    查看SHA256

    certutil -hashfile 文件名  SHA256

    例子:

    D:Android_worldworkspace>certutil -hashfile log MD5
    MD5 哈希(文件 log):
    ff b3 9c 91 11 20 6c 84 07 11 2f e4 88 07 57 cf
    CertUtil: -hashfile 命令成功完成。

    LINUX方法,进入文件目录

    输入:

    md5sum 文件名

    例子:

    md5sum log

     
    MD5的典型应用是对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。比如,在Unix下有很多软件在下载的时候都有一个文件名相同,文件扩展名为.md5的文件,在这个文件中通常只有一行文本,大致结构如: [1]
    MD5 (tanajiya.tar.gz) = 38b8c2c1093dd0fec383a9d9ac940515
    这就是tanajiya.tar.gz文件的数字签名。MD5将整个文件当作一个大文本信息,通过其不可逆的字符串变换算法,产生了这个唯一的MD5信息摘要。为了让读者朋友对MD5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:
    大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为司法机关鉴别罪犯身份最值得信赖的方法;与之类似,MD5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。
    我们常常在某些软件下载站点的某软件信息中看到其MD5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的软件(如Windows MD5 Check等)做一次MD5校验,以确保我们获得的文件与该站点提供的文件为同一文件。
    具体来说文件的MD5值就像是这个文件的“数字指纹”。每个文件的MD5值是不同的,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”就会发生变化。比如下载服务器针对一个文件预先提供一个MD5值,用户下载完该文件后,用我这个算法重新计算下载文件的MD5值,通过比较这两个值是否相同,就能判断下载的文件是否出错,或者说下载的文件是否被篡改了。
    利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。
  • 相关阅读:
    Spring学习总结[1]-入门
    MyBatis学习总结[5]-动态 SQL
    MyBatis学习总结[4]-ResultMap子元素
    MyBatis学习总结[3]-多表查询
    MyBatis学习总结[2]-接口式调用
    MyBatis学习总结[1]-入门
    Bootstrap table两种分页示例
    spring ioc原理(看完后大家可以自己写一个spring)
    Junit4单元测试
    数字转换为字母有多少种方式
  • 原文地址:https://www.cnblogs.com/WhiteHatKevil/p/10047289.html
Copyright © 2011-2022 走看看