Project1

标题: 测试加密强度 [打印本页]

作者: yangff    时间: 2012-2-2 11:41
标题: 测试加密强度
不是RM的加密。
只是很普通的AES256,那个.key文件是解密用的key……在不使用的前提下解密难度和使用后的难度……求测试 ,忙活了一早上……给审核气死了!

template-maker.part1.rar

996 KB, 下载次数: 26

template-maker.part2.rar

996 KB, 下载次数: 22

template-maker.part3.rar

996 KB, 下载次数: 32

template-maker.part4.rar

994.68 KB, 下载次数: 27


作者: 凌童鞋    时间: 2012-2-2 12:10
论坛附件网通下载不稳定……有木有115的?
作者: yangff    时间: 2012-2-2 12:11
凌童鞋 发表于 2012-2-2 12:10
论坛附件网通下载不稳定……有木有115的?

RUBY 代码复制
  1. #encoding : utf-8
  2. def windows?  
  3. !(RUBY_PLATFORM =~ /win32/).nil?  
  4. end  
  5. #if windows?
  6.         require 'iconv'
  7.         $i=Iconv.new("GBK","UTF-8")
  8.         $g=Iconv.new("UTF-8","GBK")
  9.         alias print_oo print
  10.         alias gets_oo gets
  11.         def print(str)
  12.                 print_oo $i.iconv str
  13.         end
  14.         def gets
  15.                 return $g.iconv gets_oo
  16.         end
  17.  
  18. #end
  19. require "zlib"
  20. require "openssl"
  21. require "digest/sha2"
  22. print "模板名字:"
  23. name=gets.delete("\n").delete("\r")
  24. print "模板ID(唯一标识符):"
  25. id=gets.delete("\n").delete("\r").to_sym
  26. print "模板作者:"
  27. maker=gets.delete("\n").delete("\r")
  28. print "加密选项(yes/no):"
  29. key=gets.delete("\n").delete("\r")
  30. print "高级控制串(保留功能,不明白的留空即可):"
  31. control=gets.delete("\n").delete("\r")
  32. ############################################################
  33. ## 您需要注意的是,加密只能保证您的模板在分发时不被窃取 !##
  34. ############################################################
  35. def pathary2path(path)
  36.     path1=""
  37.  
  38.   for i in path
  39.     path1<<i<<"\\"
  40.   end
  41.   return path1
  42. end
  43. def copyall(src,flag)
  44.   list=Dir.entries(src)
  45.   list.each_index do |x|
  46.     next if list[x]=="." or list[x]==".." or list[x]==".svn" or list[x]=="entries" or list[x]==".git"
  47.     #puts list[x]
  48.     print src+list[x] + "\n"
  49.     unless File.directory?(src+list[x])
  50.       #FileUtils.cp "#{src+list[x]}"
  51.       skey=OpenSSL::Cipher.new('aes-256-cbc').encrypt
  52.       skey.key=$key
  53.       skey.iv=$iv
  54.             File.open(src+list[x],"rb"){|f|fd=f.read();ck=Digest::SHA512.base64digest(fd);$flist<<["file",flag+list[x],ck,Zlib::Deflate.deflate(skey.update(fd)+skey.final,5)];};
  55.     else
  56.       #Dir::mkdir(target+list[x])
  57.       $flist<<["dir",src+list[x]]
  58.       copyall(src+list[x]+"\\",flag+list[x]+"/")
  59.     end
  60.   end
  61. end
  62.   path=Dir.pwd
  63.   path.gsub!(/\//){"\\"}
  64.   path<<"\\"
  65. head={:id=>id,:name=>name,:maker=>maker,:control=>control,:ver=>"0.0.1 b3",:keyed=>(key=="yes"),:coder=>"aes-256-cbc"}
  66. $skey=OpenSSL::Cipher.new('aes-256-cbc').encrypt
  67. $key = $skey.random_key
  68. $iv = $skey.random_iv
  69. if head[:keyed]
  70.         File.open(path+id.to_s+".tpl.key","wb"){|f|Marshal.dump([$key,$iv],f)}
  71. else
  72.         head[:code]=[$key,$iv]
  73. end
  74. $flist=[]
  75. Dir.chdir(path+"template\\")
  76. copyall(path+"template\\","/")
  77. url=path+id.to_s+'.tpl'
  78. print url
  79. File.open(url,"wb"){|f|
  80.         Marshal.dump(head,f)
  81.         Marshal.dump($flist,f)
  82. }


作者: 失落迷白    时间: 2012-2-2 14:05
感觉加密被解密的多半是因为发在了网上{:nm_7:}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1