Add a tool for converting pre-3.2 modules to the new format.

git-svn-id: file:///home/svn/framework3/trunk@5722 4d416f70-5f16-0410-b530-b9f4589650da
unstable
HD Moore 2008-10-09 03:57:28 +00:00
parent 7d85b1d198
commit 153518e8e6
1 changed files with 41 additions and 0 deletions

41
tools/convert_31.rb Executable file
View File

@ -0,0 +1,41 @@
#!/usr/bin/env ruby
path = ARGV.shift || exit
data = File.read(path)
outp = ""
endc = 0
data.each_line do |line|
if(line =~ /^\s*module\s+[A-Z]/)
endc += 1
next
end
if(line =~ /^(\s*)include (.*)/)
line = "#{$1}include Msf::#{$2.strip}\n"
end
if(line =~ /^(\s*)class ([^\<]+)\s*<\s*(.*)/)
prefix = ""
spaces = $1
parent = $3
if(parent !~ /^Msf/)
prefix = "Msf::"
end
line = "#{spaces}class Metasploit3 < #{prefix}#{parent.strip}\n"
end
outp += line
end
endc.downto(1) do |idx|
i = outp.rindex("end")
outp[i, 3] = "" if i
end
fd = File.open(path, "w")
fd.write(outp)
fd.close