Skip to content

Commit a6eaabc

Browse files
authored
c++ demangler
1 parent 7257797 commit a6eaabc

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
* [`Dump memory segments`](#dump-memory-segments)
1818
* [`Memory scan`](#memory-scan)
1919
* [`Stalker`](#stalker)
20+
* [`Cpp Demangler`](#cpp-demangler)
2021

2122
</details>
2223

@@ -2165,6 +2166,55 @@ mul x5, x2, x21 # mul 0x3, 0x4, 0x5
21652166

21662167

21672168

2169+
2170+
2171+
2172+
#### Cpp demangler
2173+
2174+
```sh
2175+
$ npm i frida-compile demangler-js -g
2176+
```
2177+
2178+
add to your script
2179+
2180+
```js
2181+
const demangle = require('demangler-js').demangle;
2182+
...
2183+
Module.enumerateExportsSync('library.so')
2184+
.filter(x => x.name.startsWith('_Z'))
2185+
.forEach(x => {
2186+
Interceptor.attach(x.address, {
2187+
onEnter: function (args) {
2188+
console.log('[-] ' + demangle(x.name));
2189+
}
2190+
});
2191+
});
2192+
```
2193+
2194+
compile
2195+
2196+
```sh
2197+
$ frida-compile script.js -o out.js
2198+
```
2199+
2200+
run
2201+
2202+
```sh
2203+
$ frida -Uf com.app -l out.js
2204+
```
2205+
2206+
2207+
<details>
2208+
<summary>Output example</summary>
2209+
TODO
2210+
</details>
2211+
2212+
<br>[⬆ Back to top](#table-of-contents)
2213+
2214+
2215+
2216+
2217+
21682218
#### Device properties
21692219
Example of quick&dirty iOS device properties extraction
21702220

0 commit comments

Comments
 (0)