Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions patches/frida-core/0001-Florida-string_frida_rpc.patch
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Subject: [PATCH 1/9] Florida: string_frida_rpc
1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/lib/base/rpc.vala b/lib/base/rpc.vala
index 8990b70e..d5acfebd 100644
index 2e20dba1..b8d3350d 100644
--- a/lib/base/rpc.vala
+++ b/lib/base/rpc.vala
@@ -11,13 +11,22 @@ namespace Frida {
@@ -17,6 +17,15 @@ namespace Frida {
Object (peer: peer);
}

Expand All @@ -24,9 +24,10 @@ index 8990b70e..d5acfebd 100644
+ }
+ }
+
public async Json.Node call (string method, Json.Node[] args, Bytes? data, Cancellable? cancellable) throws Error, IOError {
string request_id = Uuid.string_random ();

/**
* Calls a remote method and waits for its result.
*
@@ -30,7 +39,7 @@ namespace Frida {
var request = new Json.Builder ();
request
.begin_array ()
Expand All @@ -35,16 +36,16 @@ index 8990b70e..d5acfebd 100644
.add_string_value (request_id)
.add_string_value ("call")
.add_string_value (method)
@@ -70,7 +79,7 @@ namespace Frida {
}

@@ -83,7 +92,7 @@ namespace Frida {
* @return true if the message was an RPC message and was handled
*/
public bool try_handle_message (string json) {
- if (json.index_of ("\"frida:rpc\"") == -1)
+ if (json.index_of (getRpcStr(true)) == -1)
return false;

var parser = new Json.Parser ();
@@ -99,7 +108,7 @@ namespace Frida {
@@ -112,7 +121,7 @@ namespace Frida {
return false;

string? type = rpc_message.get_element (0).get_string ();
Expand Down
19 changes: 12 additions & 7 deletions patches/frida-core/0003-Florida-symbol_frida_agent_main.patch
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ Subject: [PATCH 3/9] Florida: symbol_frida_agent_main
src/freebsd/freebsd-host-session.vala | 2 +-
src/linux/linux-host-session.vala | 2 +-
src/qnx/qnx-host-session.vala | 2 +-
src/windows/windows-host-session.vala | 2 +-
src/windows/windows-host-session.vala | 4 ++--
tests/test-agent.vala | 2 +-
tests/test-injector.vala | 2 +-
9 files changed, 35 insertions(+), 8 deletions(-)
9 files changed, 36 insertions(+), 9 deletions(-)
create mode 100644 src/anti-anti-frida.py

diff --git a/src/agent-container.vala b/src/agent-container.vala
Expand Down Expand Up @@ -116,16 +116,22 @@ index 69f2995f..a4e59ab2 100644
injectee_by_pid[pid] = id;

diff --git a/src/windows/windows-host-session.vala b/src/windows/windows-host-session.vala
index 67f1f3ef..518cd256 100644
index 0c0dcf43..076d91f4 100644
--- a/src/windows/windows-host-session.vala
+++ b/src/windows/windows-host-session.vala
@@ -274,7 +274,7 @@ namespace Frida {
var stream_request = Pipe.open (t.local_address, cancellable);

@@ -252,11 +252,11 @@ namespace Frida {
var winjector = injector as Winjector;
#if HAVE_EMBEDDED_ASSETS
- var id = yield winjector.inject_library_resource (pid, agent, "frida_agent_main",
+ var id = yield winjector.inject_library_resource (pid, agent, "main",
make_agent_parameters (pid, t.remote_address, options), cancellable);
#else
var id = yield winjector.inject_library_file_with_template (pid,
- installed_agent_path_template (), "frida_agent_main",
+ installed_agent_path_template (), "main",
make_agent_parameters (pid, t.remote_address, options),
installed_agent_dependencies (), cancellable);
#endif
injectee_by_pid[pid] = id;

diff --git a/tests/test-agent.vala b/tests/test-agent.vala
Expand Down Expand Up @@ -156,4 +162,3 @@ index 03c219e6..a7720c3d 100644
assert_not_reached ();
--
2.42.0