Skip to content

Commit 4c4fe0b

Browse files
committed
Fix x64 exe droppers
1 parent 09ceeb5 commit 4c4fe0b

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

lib/msf/util/exe.rb

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -893,7 +893,7 @@ def self.to_vba(framework,code,opts={})
893893
end
894894

895895
def self.to_win32pe_vba(framework, code, opts={})
896-
to_exe_vba(to_win32pe(framework, code, opts))
896+
to_exe_vba(to_executable(framework, code, opts))
897897
end
898898

899899
def self.to_exe_vbs(exes = '', opts={})
@@ -1674,10 +1674,12 @@ def self.to_executable_fmt(framework, arch, plat, code, fmt, exeopts)
16741674

16751675
case fmt
16761676
when 'asp'
1677-
output = Msf::Util::EXE.to_win32pe_asp(framework, code, exeopts)
1677+
exe = to_executable_fmt(framework, arch, plat, code, 'exe', exeopts)
1678+
output = Msf::Util::EXE.to_exe_asp(exe, exeopts)
16781679

16791680
when 'aspx'
1680-
output = Msf::Util::EXE.to_win32pe_aspx(framework, code, exeopts)
1681+
exe = to_executable_fmt(framework, arch, plat, code, 'exe', exeopts)
1682+
output = Msf::Util::EXE.to_exe_aspx(exe, exeopts)
16811683

16821684
when 'dll'
16831685
output = case arch
@@ -1737,14 +1739,16 @@ def self.to_executable_fmt(framework, arch, plat, code, fmt, exeopts)
17371739
output = Msf::Util::EXE.to_vba(framework, code, exeopts)
17381740

17391741
when 'vba-exe'
1740-
exe = Msf::Util::EXE.to_win32pe(framework, code, exeopts)
1742+
exe = to_executable_fmt(framework, arch, plat, code, 'exe', exeopts)
17411743
output = Msf::Util::EXE.to_exe_vba(exe)
17421744

17431745
when 'vbs'
1744-
output = Msf::Util::EXE.to_win32pe_vbs(framework, code, exeopts.merge({ :persist => false }))
1746+
exe = to_executable_fmt(framework, arch, plat, code, 'exe', exeopts)
1747+
output = Msf::Util::EXE.to_exe_vbs(exe, exeopts.merge({ :persist => false }))
17451748

17461749
when 'loop-vbs'
1747-
output = Msf::Util::EXE.to_win32pe_vbs(framework, code, exeopts.merge({ :persist => true }))
1750+
exe = exe = to_executable_fmt(framework, arch, plat, code, 'exe', exeopts)
1751+
output = Msf::Util::EXE.to_exe_vbs(exe, exeopts.merge({ :persist => true }))
17481752

17491753
when 'war'
17501754
arch ||= [ ARCH_X86 ]

0 commit comments

Comments
 (0)