Ignore:
Timestamp:
02/20/10 22:16:37 (7 months ago)
Author:
henning
Message:

ruby-script-encrypt: de-obfusciated. script does not work if input file size >= 32 byte :(

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/ruby-script-encrypt

    r361 r362  
    22# vi: set fileencoding=utf-8 : 
    33 
    4 # XXX Something does not work, debug anyone? ;) 
     4# XXX Broken if input file size >= 32 byte. Should be connected to AES 
     5#     block size. Debug anyone? 
    56 
    67=begin 
     
    1314=end 
    1415 
    15 ARGV[0] ? nil:($stderr<<"#{$0} <script>\n";exit);%w[base64 openssl].each{ 
    16 |r| require r};def a(m,k,t);(a=OpenSSL::Cipher::Cipher.new('aes-256-cbc') 
    17 .send(m)).key=Digest::SHA256.digest(k);a.update(t)<<a.final;end;puts DATA 
    18 .readlines,Base64.encode64(a :encrypt,:swordfish,File.new(ARGV[0]) 
    19 .readlines.join) 
     16ARGV[0] ? nil:($stderr<<"#{$0} <script>\n";exit) 
     17%w[base64 openssl].each{|r| require r} 
     18def a(m,k,t) 
     19        (a=OpenSSL::Cipher::Cipher.new('aes-256-cbc').send(m)).key=Digest::SHA256.digest(k) 
     20        a.update(t)<<a.final 
     21end 
     22puts DATA.readlines,Base64.encode64(a :encrypt,:swordfish,File.new(ARGV[0]).readlines.join) 
    2023__END__ 
    2124#!/usr/bin/env ruby 
    22 %w[base64 openssl].each {|r| require r};def a(m,k,t);(a= 
    23 OpenSSL::Cipher::Cipher.new('aes-256-cbc').send(m)).key=Digest::SHA256 
    24 .digest(k);a.update(t.unpack('m')[0])<<a.final;end;eval a :decrypt, 
    25 :swordfish,DATA.readlines.to_s 
     25%w[base64 openssl].each {|r| require r} 
     26def a(m,k,t) 
     27        (a=OpenSSL::Cipher::Cipher.new('aes-256-cbc').send(m)).key=Digest::SHA256.digest(k) 
     28        a.update(t.unpack('m')[0])<<a.final 
     29end 
     30eval a :decrypt,:swordfish,DATA.readlines.to_s 
    2631__END__ 
Note: See TracChangeset for help on using the changeset viewer.