Verwende ich die richtige Speicherzuweisung in Frida?JavaScript

Javascript-Forum
Anonymous
 Verwende ich die richtige Speicherzuweisung in Frida?

Post by Anonymous »

Ich möchte auf die Laufzeit eine textbezogene Anwendung in der Laufzeit patchen: Wenn ein Benutzer eine Datei öffnet, sollte meine vordefinierte Datei (Say/TMP/Vordefinierte ) anstelle der ursprünglichen Datei der Benutzer geöffnet werden. Für diese Aufgabe verwende ich das Frida -Toolkit mit JavaScript -API. Ich fasse alle Open () Systemaufrufe ab, entscheide, ob ich eine Substitution erstellen muss, und ersetzen Sie den ersten Open () Parameter (der Pfad zur zu öffnenden Datei) durch meine vordefinierte.

Code: Select all

function main()
{

Interceptor.attach(Module.getExportByName(null, 'open'), {
onEnter(args) {
const originalPath = args[0].readCString();
if (shouldReplace(originalPath)){
args[0].writeUtf8String('/tmp/predefined'); // (1)
//args[0] = Memory.allocUtf8String("/tmp/predefined"); (2)
}
},
});
}

function shouldReplace(path) {
if (!path) return false;
// Do not replace essential system or config files:
if (path.startsWith("/usr/") || path.startsWith("/etc/") || path.startsWith("/lib") ||
path.startsWith("/var/") || path.startsWith("/proc/") || path.startsWith("/sys/") ||
path.startsWith("/dev/") || path.startsWith("/run/") || path.startsWith("/home/user/.config/")
||  path.startsWith("/home/user/.cache") || path.startsWith("/home/user/.local") ) {
return false;
}
// Avoid replacing if it's already the predefined file (prevent infinite loop)
if (path === "/tmp/predefined") {
return false;
}
// Otherwise, assume it's a user-requested file and should be repalced
return true;
}

main()
Als Text-Editor Ich verwende gnome-text-editor
frida als: ./frida -l Patcher.js -f/usr/bin/gnom-text-editor/tmp/originalfile anscheinend gearbeitet:/tmp/tmpiled. /tmp/originalfile . Aber wenn ich einen neuen Speicher für String "/tmp/vordefiniert" zuordnen und diesem neuen Speicher den Argums [0] einen Zeiger zuweisen möchte, anstatt den Inhalt des Gedächtnisses neu zu schreiben, auf die Args [0] [0] (2) Zeile (1), kommentieren (1) Zeile), erhalte ich Fehler. Öffnen Sie die Datei Sie haben keine Berechtigungen, um die Datei zu öffnen
Im Terminal: (Gnome-Text-Educt: 9036): Editor-Document-Warning **: 11: 11: 33.542: fehlgeschlagen, um Datei zu laden: Fehler öffnen/tmp/originalFile: Keine Datei- oder Directory- oder Directory- oder Directory- oder Directory- oder Directory- oder Direktorie. existiert.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post