@@ -58,7 +58,14 @@ def generate_jar(opts={})
5858 jar = Rex ::Zip ::Jar . new
5959 jar . add_sub ( "metasploit" ) if opts [ :random ]
6060 jar . add_file ( "metasploit.dat" , stager_config ( opts ) )
61- jar . add_files ( paths , ::MetasploitPayloads . path ( 'java' ) )
61+ jar . add_file ( 'metasploit/' , '' ) # Create the metasploit dir
62+
63+ paths . each do |path_parts |
64+ path = [ 'java' , path_parts ] . flatten . join ( '/' )
65+ contents = ::MetasploitPayloads . read ( path )
66+ jar . add_file ( path_parts . join ( '/' ) , contents )
67+ end
68+
6269 jar . build_manifest ( :main_class => main_class )
6370
6471 jar
@@ -103,7 +110,14 @@ def generate_war(opts={})
103110 zip . add_file ( 'WEB-INF/' , '' )
104111 zip . add_file ( 'WEB-INF/web.xml' , web_xml )
105112 zip . add_file ( "WEB-INF/classes/" , "" )
106- zip . add_files ( paths , MetasploitPayloads . path ( 'java' ) , 'WEB-INF/classes/' )
113+ zip . add_file ( 'metasploit/' , '' ) # Create the metasploit dir
114+
115+ paths . each do |path_parts |
116+ path = [ 'java' , path_parts ] . flatten . join ( '/' )
117+ contents = ::MetasploitPayloads . read ( path )
118+ zip . add_file ( path_parts . join ( '/' ) , contents )
119+ end
120+
107121 zip . add_file ( "WEB-INF/classes/metasploit.dat" , stager_config ( opts ) )
108122
109123 zip
@@ -138,7 +152,14 @@ def generate_axis2(opts={})
138152 zip = Rex ::Zip ::Jar . new
139153 zip . add_file ( 'META-INF/' , '' )
140154 zip . add_file ( 'META-INF/services.xml' , services_xml )
141- zip . add_files ( paths , MetasploitPayloads . path ( 'java' ) )
155+ zip . add_file ( 'metasploit/' , '' ) # Create the metasploit dir
156+
157+ paths . each do |path_parts |
158+ path = [ 'java' , path_parts ] . flatten . join ( '/' )
159+ contents = ::MetasploitPayloads . read ( path )
160+ zip . add_file ( path_parts . join ( '/' ) , contents )
161+ end
162+
142163 zip . add_file ( 'metasploit.dat' , stager_config ( opts ) )
143164 zip . build_manifest ( :app_name => app_name )
144165
0 commit comments