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-b9f4589650daunstable
parent
7d85b1d198
commit
153518e8e6
|
@ -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
|
Loading…
Reference in New Issue