文件夹加密原理 [转]

来源:互联网 发布:月球2009知乎 编辑:程序博客网 时间:2024/04/28 21:06

谈文件夹的加密

一、文件夹加密的方式有几种? 
  在Windows平台下,文件夹加密的方式归纳起来有两种: 
  一种是简单地对文件夹进行各种方式的隐藏,甚至利用Windows的漏洞进行隐藏,这种软件根本就没有对数据进行任何加密处理,所以才宣称“加密速度极快,上百G的数据仅需1秒钟完成。 没有大小限制。”但是,这种文件夹加密方式的加密效果极其脆弱,只能防范一些电脑菜鸟偷看你的资料。因为软件编写者利用了 Windows的漏洞,而这些漏洞对于一个稍微有点电脑知识的人,完全是常识,他们最多在3分钟之内不要密码即可找出你的所有“加密”文件夹!(至于怎么手工解密后面再详细说明)。市面上我观察了一下,什么《高强度文件夹加密大师》,什么《加密金刚锁》,什么《电脑万能锁》之类的软件,都是属于这种垃圾软件。凡是宣称一秒钟之内加密多少个G数据的软件都是属于吹牛不脸红的那种!一句话,这些软件不但没有任何使用价值,还会极大地威胁你的数据安全!!!使用这些软件就好比把你的重要文稿放在熊熊燃烧的火炉边,稍有不慎,火苗就会把你的心血吞噬! 

  另一种是利用WIndows内核的文件操作监控来对文件和文件夹进行安全保护。这是目前最优秀,最安全的加密方式。这方面的代表软件是美国的PGP加密软件。这种软件的核心思想是利用逻辑分区保护文件,比如,逻辑分区E:是受PGP保护的硬盘分区,那么,每次打开这个分区的时候,需要输入密码才能打开这个分区,在这个分区内的文件是绝对安全的。不再需要这个分区时,可以把这个分区关闭并使其从桌面上消失,当再次打开时,需要输入密码。没有密码,软件开发者本人也无法解密!PGP是全世界最流行的文件夹加密软件。它的源代码是公开的,经受住了成千上万顶尖黑客的破解挑战,事实证明PGP是目前世界上最安全的加密软件。它的唯一缺点是PGP目前还没有中文版,而且正版价格极其昂贵。因为PGP技术是美国国家安全部门禁止出口的技术。汉化中文版的PGP我还没有发现过。 

  二、文件夹隐藏骗术大揭秘 
  国内的共享软件,绝大部分都是一些编程菜鸟搞出来糊弄比他们更菜的菜鸟的。就拿那款让我和我爱人捶胸顿足的共享软件《高强度文件夹加密大师》来作为例子说明吧。(以下简称《文件夹加密大师》)比如我在C:/下有一个文件夹Data。Data内部还有许多重要的文件。很自然,我想对Data加密,我希望加密后的Data在双击打开它的时候会要求输入密码,否则打不开。用《文件夹加密大师》加密,并且输入了初始密码。Data文件夹不见了,取而代之的是另一个名叫Data.mem的文件用另外一种图标显现在原位置。真正的Data文件夹被移动到了C盘的回收站中,即C:/Recycled/下面,而且用了一些特殊字符作为文件名存储。在回收站中的文件夹在资源管理器中看不见,在DOS下也看不见,但是如果知道目录名,仍然可以进去。《文件夹加密大师》用了两个技巧:1),采用了空白文件夹名,使我们不能轻易地用CD命令进入,可以手工或编程对文件夹重命名,之后便可随便进去。2),采用了特殊文件名,使我们不能在资源管理器和DOS下轻易地删除这个文件夹,但用编程的方法可以轻易删除这个文件夹!这两个技巧我现在看来简直是在对共享软件用户犯罪!!!因为很多优化软件会定期强制删除回收站以节省空间,只要回收站被强制删除,你的所有数据都烟消云散了,只要把加密文件夹所在的分区的回收站移动一个位置,解密就一定出错!!!把回收站放回原来的位置,解密就会成功。

 

//是有许多号称一秒钟加密的东西。前段时间在广东也出现过吞噬mp3和3gp格式文件的程序。

转自:
http://www.blogcn.com/u/28/81/qfwc/blog/29595677.html (失效)

引自:http://blog.chinaunix.net/u1/38279/showart_367166.html

 

------------------------------------------------------------------------------------------------------------

另外一篇帖子

标 题: 国产某文件夹加密软件全面分析
发帖人:qffhq
时 间: 2005-12-24 21:18
原文链接:http://bbs.pediy.com/showthread.php?threadid=19718
详细信息:

国产某文件夹加密软件全面分析
  工具OD,DeDe,记事本,还有不知道算不算是,DOS方式下的Dir命令
  软件号称:国防级的加密强度!让我们看看,它的真面目吧!

1.反调试:
  有两处调用FindWindows检查进行中是否有TDedeMainForm,和Olldby,如果有,发送WM_QUIT结束进程.
  用Olldbg加载,查找FindWindows或TDedeMainForm,OllDbg,修改JE为JMP,跳过检查.
2.次数限制:用DeDe查看DPR工程入口发现
  * Possible String Reference to: '/SOFTWARE/软件注册信息'
  004E6570   BA18714E00             mov     edx, $004E7118
  发现一个文件,'msimtf.dll',注意文件名后面有空格,运行后发现,此文件是运行次数的记录,用打开一次,就+1.
  由于软件有30次限制,此文件内容记录了运行次数,手工修改手,发现,记录恢复,继续跟踪后发现,运行次数还保存在注册表
     'SOFTWARE/Macromedia/Dreamweaver/7' AutoUpdateTest中,我开始想不明白,怎么能和Dreamweaver有关,现在明白了,  
  同时修改这两处,次数限制取消了.

3.软件运行时密码设置:
  用DeDe查看TForm7.Button1Click,发现,密码保存在注册表'/SOFTWARE/软件注册信息'下有
    E ,设置密码1122对应的注册表是5566 1111对应是的5555 aabb对应的是eeff, 如果删除E后,就不需要密码了.这样加密也太简单了吧.

4.注册码的保存:
  用Dede加载,找到注册窗口TForm6,输入注册码,首次不成功,发现调用 System.@LStrPos,检查了注册码应该有-
  输入假码1111-1111后,提示重启后完成注册,同时保存注册码信息到de.dll和注册表'/SOFTWARE/软件注册信息'
    注册表生成A qffhq,B 111111-111111,C qffhq@163.comggggggggggggggg
      D 2,G 空,View 3
    A为用户名,B为注册码,C为邮箱+16个'g'

5.注册码的校验:
  找不到检查注册码的入口,从次数限制入手,
  次数限制时代码如下:
  004D9887   83B8B40300001E         cmp     dword ptr [eax+$03B4], +$1E ;比较次数是否为30次
  004D988E   0F8E9B000000           jle     004D992F
  004D9894   8B45FC                 mov     eax, [ebp-$04]

  * Reference to : TForm1.isright()  这个可能就是注册检查过程了.
  004D9897   E85C5F0000             call    004DF7F8
  004D989C   84C0                   test    al, al  '直接修改al=1,开始执行加密过程,但软件会自动注销系统,后来发现,系统以后又检查了,如果修改后,软件会调用ExitWindows注销当前系统,很有意思!
  004D989E   0F858B000000           jnz     004D992F

  暴破过程
  过程004DF7F8
  004DF860       817D F8 80020>cmp dword ptr ss:[ebp-8],280     ;  280?
  004DF867   |.  75 04         jnz short SVOHOST.004DF86D
  004DF869   |.  C645 FF 01    mov byte ptr ss:[ebp-1],1
  004DF86D   |>  33C0          xor eax,eax
  修改:004DF860为cmp dword ptr ss:[ebp-8],0       ;  280? 
  004DF860       837D F8 00    cmp dword ptr ss:[ebp-8],0       ;  280==0?
  004DF864       90            nop
  004DF865       90            nop
  004DF866       90            nop
  004DF867   |.  75 04         jnz short SVOHOST.004DF86D
  .....
  最后.禁用注册标签按钮,用资源编辑工具修改 实现完美破解!

  注销的校验:
  004D9DA0    > /803D C8944E00>cmp byte ptr ds:[4E94C8],0
  ds:[004E94C8]=01 Jump from 004D9D74
  004D9DA7    .  74 0B         je short SVOHOST.004D9DB4
  004D9DA9    .  66:BA 0100    mov dx,1
  004D9DAD    .  33C0          xor eax,eax
  004D9DAF    .  E8 C4DCF2FF   call SVOHOST.00407A78                 ;  注销


  
6.文件夹加密原理分析:
  加密过的文件列表保存在danine.dll中.
  加密过程:TForm1.Button1Click
  加密前的校验:
    经过密码不能为空,两次密码不相符,不能加密系统目录,桌面,我的文档,加密软件所在目录等,
    不能本地或隐藏加密分区根目录,不能对网络数据进行本地或隐藏加密等检查后,进入加密过程.

  加密过程开始:
    004D9DB4    > /8D85 E4FEFFFF lea eax,dword ptr ss:[ebp-11C]
    004D9DBA    .  50            push eax
    004D9DBB    .  8D95 E0FEFFFF lea edx,dword ptr ss:[ebp-120]
    004D9DC1    .  8B45 FC       mov eax,dword ptr ss:[ebp-4]
    004D9DC4    .  8B80 B8030000 mov eax,dword ptr ds:[eax+3B8]
    004D9DCA    .  E8 3DF7F2FF   call SVOHOST.0040950C
    004D9DCF    .  8B95 E0FEFFFF mov edx,dword ptr ss:[ebp-120]

    取回收站目录: F:/RECYCLER/
    生成文件名: F:/RECYCLED/desktop.ini,隐藏,系统文件,文件内容如下:
    '[.ShellClassInfo]CLSID={645FF040-5081-101B-9F08-00AA002F954E}'

    建立目录: 'S-1-5-21-1060284298-811497611-11778920086-500'
    生成文件名: F:/RECYCLED/S-1-5-21-1060284298-811497611-11778920086-500/desktop.ini 
    建立目录: F:/RECYCLED/S-1-5-21-1060284298-811497611-11778920086-500/INFO2/ 
    建立目录: F:/RECYCLED/S-1-5-21-1060284298-811497611-11778920086-500/INFO2/Di1  /com1.{21ec2020-3aea-1069-a2dd-08002b30309d}/
    查找文件是否存在(文件目录是否加密过): F:/RECYCLED/S-1-5-21-1060284298-811497611-11778920086-500/INFO2/Di1  /com1.{21ec2020-3aea-1069-a2dd-08002b30309d}/Support.mem  其它Support为加密的目录名
    取Support的ASCII码"537570706F7274"
    建立目录: F:/RECYCLED/S-1-5-21-1060284298-811497611-11778920086-500/INFO2/Di1  /com1.{21ec2020-3aea-1069-a2dd-08002b30309d}/537570706F7274"
    移动文件: F:/Support/* 到F:/RECYCLED/S-1-5-21-1060284298-811497611-11778920086-500/INFO2/Di1  /com1.{21ec2020-3aea-1069-a2dd-08002b30309d}/537570706F7274"
    生成文件名: F:/Support|.mem 表示F:/Support目录加密,mem为加密类型
    生成加密记录文件名:  "C:/WINNT/system32/danine.dll" 
    写入加密记录到加密记录文件:  向C:/WINNT/system32/danine.dll中写入F:/Support|.mem
    生成加密记录文件名:  "应用程序目录/danine.dll" 
    写入加密记录到加密记录文件:  向 应用程序目录/danine.dll中写入F:/Support|.mem
    生成文件: F:/Support.mem 用于解密文件目录.
    mem文件,显示的图标为文件夹,打开文件类型查看后发现:
      注册的文件类型:.me0-.me25,.mem  这些文件的打开方式为:"应用程序目录/SVOHOST.EXE" unlock "%1"
    最后,用户在F:/看到了Support.mem,其实是一个文件并不是目录!

    以上是本地加密原理,对于移动型加密,我加密后,查看文件内容如下:
      我对F:/qqproxy1进行了加密
      加密后F:/qqproxy1/生成以下文件
      文件 desktop.ini  
        [.ShellClassInfo]
        InfoTip=文件夹
        IconIndex=2
        IconFile=!解密加密.exe
        ConfirmFileOp=1
      文件 !解密加密.exe 一个UPX加壳的EXE,可于解开加密的文件,可以脱离主程序运行.  
      文件夹 Thumbs.dn 内容如下:
      文件 desktop.ini 
        [.ShellClassInfo]
        CLSID={2227a280-3aea-1069-a2de-08002b30309d}
      
      文件:117789687 117789687应该是从qqproxy1计算出来的!
      文件:117789687LIST.mem 打开后是一串数字,估计是原来的F:/qqproxy1下的文件清单列表记录对照.
      文件:1.mem,2.mem,.....7.mem 是原来的F:/qqproxy1下的7个文件,只是改名了,我用记事本打开了一个,一看和原来的一样,并且大小也没有变化.
    
    
  解密过程:
    具体过程没有分析,不过如果对加密过程清除了,解密当然就是反其道而行之了吧.
  在对文件夹加密后,密码的保存:
    这部分没有分析!
      
 
7.防删除功能分析:
   通过在Windows启动时,加载主程序,限制用户不能删除文件,对本地类型的加密,一但丢失了.mem文件,及加密文件记录,数据就没办法恢复了,永远放到回收站了.
  

8.在Windows启动时自动加载分析:
  Userinit注册键   HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit。这里也能够使系统启动时自动初始化程序。
  Userinit C:/WINNT/system32/userinit.exe,,"E:/SVOH0ST/HFEE/SVOHOST.EXE" un userinit.exe

9.其它:  
  通过命令列参数 Lock , UnLock 用于加密,解密菜单

以上是大概的分析,加密算法,由于水平有限,分析不了,其它好多分析用DeDe一目了然的!
原来看过,网上有加文件加密保护软件的资料,好多软件,都是用特殊文件夹,回收站,来做的,可靠性没办法说了!

希望和大家交流一下!


标 题: re lxwqcy
发帖人:qffhq
时 间: 2005-12-26 08:59
详细信息:

请看直面的内容:
* Reference to : TForm1.isright()  这个就是注册检查过程了.
  004D9897   E85C5F0000             call    004DF7F8
  004D989C   84C0                   test    al, al  '直接修改al=1,开始执行加密过程,但软件会自动注销系统,后来发现,系统以后又检查了,如果修改后,软件会调用ExitWindows注销当前系统,很有意思!
  004D989E   0F858B000000           jnz     004D992F

  暴破过程
  过程004DF7F8
  004DF860       817D F8 80020>cmp dword ptr ss:[ebp-8],280     ;  280? 我估计280好像是系统根据用户注册码算出来的一个数据.
  004DF867   |.  75 04         jnz short SVOHOST.004DF86D
  004DF869   |.  C645 FF 01    mov byte ptr ss:[ebp-1],1
  004DF86D   |>  33C0          xor eax,eax
  修改:004DF860为cmp dword ptr ss:[ebp-8],0       ;  280? 
  004DF860       837D F8 00    cmp dword ptr ss:[ebp-8],0       ;  280==0?
  004DF864       90            nop
  004DF865       90            nop
  004DF866       90            nop
  004DF867   |.  75 04         jnz short SVOHOST.004DF86D

暴破方法修改TForm1.isright()  过程的004DF7F8
返回值,其实系统在好多位置调用了这个过程,所以,最好的办法是修改过程返回值为1
请看下面的内容:
004DF860       817D F8 80020>cmp dword ptr ss:[ebp-8],280     ;  280?
  004DF867   |.  75 04         jnz short SVOHOST.004DF86D
  004DF869   |.  C645 FF 01    mov byte ptr ss:[ebp-1],1 ;只要想办法执行这一句就行了,
  004DF86D   |>  33C0          xor eax,eax
其实修改
jnz short SVOHOST.004DF86D也可以,修改的方法就多了,只要达到目的就行了. 

其实去年最早看过8000的版本,记得是加过壳的,后来好不容易手工脱壳(不知道为什么这个版本没有加壳),上次也是修改了原来的加密过程后,系统自动注销,刚开始我不明白,后年多试了几次,才发现系统是这样保护的,注销过程也很好加断点,只要断ExitWindowsEx就行了,这一点倒有点新鲜,没见过其它软件这样搞的!

----------------------------------------------------------------------

 

再一篇:http://qzone.qq.com/blog/81993896-1237114397

 

现在网上流行的文件夹加密软件比较多,什么《高强度文件夹加密大师》《加密金刚锁》《电脑万能锁》《E-神加密文件夹》《文件夹加密超级大师》等等之类的软件,都是简单地对文件夹进行各种方式的隐藏,甚至利用Windows的漏洞进行隐藏,这种软件根本就没有对数据进行任何加密处理,所以才宣称“加密速度极快,上百G的数据仅需1秒钟完成。 没有大小限制。”一句话,这些软件不但没有任何使用价值,还会极大地威胁你的数据安全!有些甚至要收费,真是良心被狗吃了!
      常见的文件夹加密方法可以归纳为以下4种:
1.利用windows系统特殊的保留文件名后缀,使文件夹无法打开和删除。
例如类似com1.{21ec2020-3aea-1069-a2dd-08002b30309d}等文件夹名称。他们其实是将文件夹伪装成系统文件,只需要在要加密的文件夹后面加一个代码的扩展名即可实现。知道了原理,破解也就简单了,用winrar给文件夹重命名,就可以打开了!
2.利用回收站特点,将文件夹保存在回收站,然后创建创建名为recycle或者RECYCLED的伪回收站。
3.直接将系统—文件夹的对应关系破坏,在系统中留下一个没有文件实际地址的文件目录, 而在加密软件中则保存该文件夹的实际地址。
4、通过系统驻留程序监控被加密的文件夹,如果需打开,则提示输入密码,而实际上并没有对文件进行加密。
如果结合以上第3、4种方法做为家用加密软件还是比较有实用价值的。
国产的所谓商业级加密软件,仍然使用第1、2种方法原理,可以轻易破解,毫无安全性可言。
到网上下载一个软件“文件夹嗅探器”,就可以轻易把加密文件夹中的文件复制转移出来。
用软件的方法就不多说了。
++++++++++++++++++++++++++++++++++++lzsy++++++++++++++++++++++++++++++++++++
网上流传的一个[不用软件加密文件夹]的方法:
就是利用windows系统中建立文件夹时,起名无法使用的一些字符,比如说:/ / : * . < > 等等这个漏洞。
windows不能用,可dos下可以啊,方法就是(以在D盘建立起名为“lzsy.”的文件夹为例):
在“运行”中键入“cmd”,输入“md D:/lzsy../”,注意,有两个“.”和一个“/”,这是关键。
现在,打开资源管理器,可看到D盘下建立了一个名为“lzsy.”的文件夹,不过这个文件夹既不能打开也不能删除,看属性也是空文件夹。不能打开是因为它的实际路径是“D:/lzsy../”(由于是我们自己创建的,可以确定它的实际路径),但是在资源管理器中,它的文件名变成了“lzsy.”,这样试图打开它时,系统实际上尝试打开的是“D:/lzsy./”,这当然是不能打开的。系统认为该文件夹并不存在,所以会报错,不能删除也是基于此原因。O(∩_∩)O~
有朋友说了,这类文件夹在资源管理器中不能被打开,我们怎么用那。
可以通过“运行”栏来开启,前提是知道该文件夹的真实路径。比如本例便可通过在“运行”栏中直接键入“D:/lzsy../”后按回车键即可打开这个文件夹。
然后就可以copy文件进去了。关闭这个文件夹后,看属性还会是空文件夹。在资源管理器无法看到其中内容。
(可以把“D:/lzsy../”改为藏深一点的路径,比如说“cmd”中输入“md D:/Program Files/Microsoft Office/OFFICE11/lzsy../”,这个够隐蔽吧,让知道这种方法的同志不会轻易看到这个文件夹。)
最后再来说说这类文件夹的删除方法。在“cmd”中键入“rd D:/lzsy../”就可以删除了。(删除前记得把文件copy出来哦)
看到这里,许多朋友会发现建立这样的一个文件夹,不仅可以起到误删除的目的,还可以将一些重要资料存放其中,达到另类加密的效果,一般不知道的人还真解不开这个秘密。
++++++++++++++++++++++++++++++++++++lzsy++++++++++++++++++++++++++++++++++++
关于不用软件加密文件夹的方法其实也应用到了上面那些软件中。
比如说伪装的回收站里建立的就是加了“.”的文件夹。
++++++++++++++++++++++++++++++++++++lzsy++++++++++++++++++++++++++++++++++++
原理方法如上。
我的想法是关于打开这种文件夹的时候:
一般需要加密文件的用户,要么是用的公用电脑,要么是一些隐私文件不想让家里人看到,用上面的打开方法,就会在“运行”栏里留下路径,后面的人只要打开“运行”就能看到你想隐藏的文件夹路径,一确认一样打开了,无法起到保密作用。
虽然可以在注册表中删除掉“运行”中的使用记录,不过每次使用都要删除麻烦死了,而且还需要重启才能彻底删除。
(注册表中“运行”的路径为:HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/RunMRU,删除右边值中对应的“D:/lzsy../”即可)
可以这样解决:
新建一个文本文件,输入“start D:/lzsy../”,保存为*.bat批处理文件,名字起个吓人的或者不经意的,也可以把.bat后缀去掉或改掉,用的时候再加上。把这个批处理放到一个软件安装文件夹里,和一些.dll文件混在一起(没人会注意了吧),或者干脆就放到自己的U盘里,需要用的时候运行即可打开这个文件夹了。就不会在“运行”中留下痕迹。
这样知道这种方法的人就不会轻易发现你隐藏的这个文件夹了。(记得藏隐蔽一点,知道的人会多起来的哦)

原创粉丝点击