Skip to content

Commit 1696ff6

Browse files
committed
fix: remove sub technique for exe service generation
1 parent 58ef75e commit 1696ff6

File tree

1 file changed

+18
-23
lines changed

1 file changed

+18
-23
lines changed

lib/msf/util/exe.rb

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -693,31 +693,26 @@ def self.to_win64pe_service(framework, code, opts = {})
693693
# Allow the user to specify their own service EXE template
694694
set_template_default(opts, "template_x64_windows_svc.exe")
695695
opts[:exe_type] = :service_exe
696-
if code.length >= 8192
697-
# Try to inject code into executable by adding a section without affecting executable behavior
698-
if opts[:inject]
699-
injector = Msf::Exe::SegmentInjector.new({
700-
:payload => code,
701-
:template => opts[:template],
702-
:arch => :x64,
703-
:secname => opts[:secname]
704-
})
705-
pe = injector.generate_pe
706-
else
707-
# Append a new section instead
708-
appender = Msf::Exe::SegmentAppender.new({
709-
:payload => code,
710-
:template => opts[:template],
711-
:arch => :x64,
712-
:secname => opts[:secname]
713-
})
714-
pe = appender.generate_pe
715-
end
716-
717-
return pe
696+
# Try to inject code into executable by adding a section without affecting executable behavior
697+
if opts[:inject]
698+
injector = Msf::Exe::SegmentInjector.new({
699+
:payload => code,
700+
:template => opts[:template],
701+
:arch => :x64,
702+
:secname => opts[:secname]
703+
})
704+
pe = injector.generate_pe
718705
else
719-
return exe_sub_method(code,opts)
706+
# Append a new section instead
707+
appender = Msf::Exe::SegmentAppender.new({
708+
:payload => code,
709+
:template => opts[:template],
710+
:arch => :x64,
711+
:secname => opts[:secname]
712+
})
713+
pe = appender.generate_pe
720714
end
715+
return pe
721716
end
722717

723718
# self.set_template_default_winpe_dll

0 commit comments

Comments
 (0)