Skip to content

Commit 1f1c60f

Browse files
committed
fix: remove sub technique for exe service generation
1 parent d494cf7 commit 1f1c60f

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
@@ -708,31 +708,26 @@ def self.to_win64pe_service(framework, code, opts = {})
708708
# Allow the user to specify their own service EXE template
709709
set_template_default(opts, "template_x64_windows_svc.exe")
710710
opts[:exe_type] = :service_exe
711-
if code.length >= 8192
712-
# Try to inject code into executable by adding a section without affecting executable behavior
713-
if opts[:inject]
714-
injector = Msf::Exe::SegmentInjector.new({
715-
:payload => code,
716-
:template => opts[:template],
717-
:arch => :x64,
718-
:secname => opts[:secname]
719-
})
720-
pe = injector.generate_pe
721-
else
722-
# Append a new section instead
723-
appender = Msf::Exe::SegmentAppender.new({
724-
:payload => code,
725-
:template => opts[:template],
726-
:arch => :x64,
727-
:secname => opts[:secname]
728-
})
729-
pe = appender.generate_pe
730-
end
731-
732-
return pe
711+
# Try to inject code into executable by adding a section without affecting executable behavior
712+
if opts[:inject]
713+
injector = Msf::Exe::SegmentInjector.new({
714+
:payload => code,
715+
:template => opts[:template],
716+
:arch => :x64,
717+
:secname => opts[:secname]
718+
})
719+
pe = injector.generate_pe
733720
else
734-
return exe_sub_method(code,opts)
721+
# Append a new section instead
722+
appender = Msf::Exe::SegmentAppender.new({
723+
:payload => code,
724+
:template => opts[:template],
725+
:arch => :x64,
726+
:secname => opts[:secname]
727+
})
728+
pe = appender.generate_pe
735729
end
730+
return pe
736731
end
737732

738733
# self.set_template_default_winpe_dll

0 commit comments

Comments
 (0)