From 2df3a0f5b590dc31ae761ba1eef54a1bea9ba492 Mon Sep 17 00:00:00 2001 From: b33f Date: Wed, 24 Mar 2021 14:14:25 +0000 Subject: [PATCH] +Fermion-v15 --- CHANGELOG.txt | 10 ++- Examples/malloc.js | 22 +++++++ Fermion/assets/css/frida.css | 2 +- Fermion/assets/img/device.png | Bin 0 -> 4789 bytes Fermion/assets/img/version.png | Bin 3451 -> 3363 bytes Fermion/core.js | 5 +- Fermion/package.json | 2 +- Fermion/src/device.html | 115 +++++++++++++++++++++++++++++++++ Fermion/src/frida.html | 31 +++++---- Fermion/src/proc.html | 10 ++- Fermion/src/render.js | 91 ++++++++++++++++---------- Images/Fermion-1.png | Bin 145617 -> 163517 bytes Images/Fermion-2.png | Bin 46922 -> 86007 bytes Images/Fermion-3.png | Bin 192366 -> 313440 bytes README.md | 5 +- 15 files changed, 234 insertions(+), 59 deletions(-) create mode 100644 Examples/malloc.js create mode 100644 Fermion/assets/img/device.png create mode 100644 Fermion/src/device.html diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 90ac1db..5d676fe 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -74,4 +74,12 @@ * Build updated/tested for Electron v11 * Updated language bindings * Compatibility changes for upcoming electron contextIsolation default behavior in v12 -* Compiled package support for OSX dropped, I need to boot an old laptop every time I make a release and it's PITA. \ No newline at end of file +* Compiled package support for OSX dropped, I need to boot an old laptop every time I make a release and it's PITA. + +-= Fermion v1.5 =- + +* Added device selection context menu, including remote socket support. +* Added JS trap for ctrl/command-t to refresh the Frida script in the target. It is now practical to collapse side-bar and work on your code. +* Added "GC" on the textarea. It was always a problem that high volume hooks could tank Fermion if the textarea grew too large. Fermion now limits the line count to 5000 and will delete old entries as new ones come in. +* Changed color for the text area. I think eventually a full UI re-design will probably be in order (v2 maybe). +* Added example: malloc \ No newline at end of file diff --git a/Examples/malloc.js b/Examples/malloc.js new file mode 100644 index 0000000..34e94ad --- /dev/null +++ b/Examples/malloc.js @@ -0,0 +1,22 @@ +//--------// +// Malloc // +//--------// + +var pMalloc = Module.findExportByName(null, "malloc"); + +Interceptor.attach(pMalloc, { + onEnter: function (args) { + send("\n[+] Called malloc"); + send(" |_ Len : " + args[0]); + this.mallocLen = args[0]; + }, + + onLeave: function (retval) { + if (retval.toInt32() != 0) { + send(" |_ Success : true"); + send(" |_ Dump : \n" + hexdump(retval, {length:parseInt(this.mallocLen)})); + } else { + send(" |_ Success : false"); + } + } +}); \ No newline at end of file diff --git a/Fermion/assets/css/frida.css b/Fermion/assets/css/frida.css index c4a6457..1913a85 100644 --- a/Fermion/assets/css/frida.css +++ b/Fermion/assets/css/frida.css @@ -438,7 +438,7 @@ textarea#FridaOut { font-family: monospace; font-size: 0.9em; line-height: 1.7em; - background-color: #2f3542; + background-color: #422f2f; } .btn-level { diff --git a/Fermion/assets/img/device.png b/Fermion/assets/img/device.png new file mode 100644 index 0000000000000000000000000000000000000000..6be1471d03ba2b11a6332bb788dc149151ffe4c4 GIT binary patch literal 4789 zcmV;m5=!lfP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 { } }) -// In this file you can include the rest of your app's specific main process -// code. You can also put them in separate files and require them here. \ No newline at end of file +// Add listener for device selector +const ipc = require('electron').ipcMain; +ipc.on('device-selector', (event, message) => bWin.webContents.send('device-selector', message)); \ No newline at end of file diff --git a/Fermion/package.json b/Fermion/package.json index 1eb68fc..83a3a39 100644 --- a/Fermion/package.json +++ b/Fermion/package.json @@ -1,6 +1,6 @@ { "name": "fermion", - "version": "1.4.0", + "version": "1.5.0", "description": "Fermion is a stand-alone Frida electron tool.", "main": "core.js", "scripts": { diff --git a/Fermion/src/device.html b/Fermion/src/device.html new file mode 100644 index 0000000..a82e429 --- /dev/null +++ b/Fermion/src/device.html @@ -0,0 +1,115 @@ + + + + + + + + + + + +
+
+ + + + +
+
+

+ + +
+
+
+ + +
+ + : + +
+
+ + +
+ + + + + \ No newline at end of file diff --git a/Fermion/src/frida.html b/Fermion/src/frida.html index 699dc5a..654841d 100644 --- a/Fermion/src/frida.html +++ b/Fermion/src/frida.html @@ -29,10 +29,13 @@
    - -


    + + +
      +
    • + +
    • +

    @@ -211,7 +214,7 @@ var editor = monaco.editor.create(document.getElementById('container'), { value: [ '//-------------------------------------------//', - '// Fermion v1.4 //', + '// Fermion v1.5 //', '// ~b33f //', '//-------------------------------------------//', '', @@ -224,9 +227,9 @@ '// + I am trapping Ctrl-s / Ctrl-o in JS so you can save', '// and open files without clicking on the menu', '//', - '// + The full Frida API is integrated in the editor', - '// |-> monaco.languages.typescript.typescriptDefaults.addExtraLib(....)', - '// |-> https://www.npmjs.com/package/@types/frida-gum', + '// + I am trapping Ctrl-t in JS so you can reload the', + '// current script in the attached target without', + '// (un-collapsing &) clicking the sidebar', '', '// ~~ Frida ~~ //', '', @@ -248,14 +251,6 @@ // Store the editor reff as a global var MonacoCodeEditor = editor; - - // Update device list - updateDeviceList(); - - // Configure interval to update device list - setInterval(function(){ - updateDeviceList(); - }, 5000); }); })(); @@ -263,6 +258,10 @@