frida-java-bridge 5.1.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/android.js +21 -1
- package/package.json +1 -1
package/lib/android.js
CHANGED
|
@@ -1541,7 +1541,7 @@ set_replacement_method (gpointer original_method,
|
|
|
1541
1541
|
g_mutex_lock (&lock);
|
|
1542
1542
|
|
|
1543
1543
|
g_hash_table_insert (methods, original_method, replacement_method);
|
|
1544
|
-
|
|
1544
|
+
g_hash_table_insert (replacements, replacement_method, original_method);
|
|
1545
1545
|
|
|
1546
1546
|
g_mutex_unlock (&lock);
|
|
1547
1547
|
}
|
|
@@ -1563,6 +1563,20 @@ delete_replacement_method (gpointer original_method)
|
|
|
1563
1563
|
g_mutex_unlock (&lock);
|
|
1564
1564
|
}
|
|
1565
1565
|
|
|
1566
|
+
gpointer
|
|
1567
|
+
translate_method (gpointer method)
|
|
1568
|
+
{
|
|
1569
|
+
gpointer translated_method;
|
|
1570
|
+
|
|
1571
|
+
g_mutex_lock (&lock);
|
|
1572
|
+
|
|
1573
|
+
translated_method = g_hash_table_lookup (replacements, method);
|
|
1574
|
+
|
|
1575
|
+
g_mutex_unlock (&lock);
|
|
1576
|
+
|
|
1577
|
+
return (translated_method != NULL) ? translated_method : method;
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1566
1580
|
gpointer
|
|
1567
1581
|
find_replacement_method_from_quick_code (gpointer method,
|
|
1568
1582
|
gpointer thread)
|
|
@@ -1691,6 +1705,7 @@ on_leave_gc_concurrent_copying_copying_phase (GumInvocationContext * ic)
|
|
|
1691
1705
|
get: new NativeFunction(cm.get_replacement_method, 'pointer', ['pointer'], fastOptions),
|
|
1692
1706
|
set: new NativeFunction(cm.set_replacement_method, 'void', ['pointer', 'pointer'], fastOptions),
|
|
1693
1707
|
delete: new NativeFunction(cm.delete_replacement_method, 'void', ['pointer'], fastOptions),
|
|
1708
|
+
translate: new NativeFunction(cm.translate_method, 'pointer', ['pointer'], fastOptions),
|
|
1694
1709
|
findReplacementFromQuickCode: cm.find_replacement_method_from_quick_code
|
|
1695
1710
|
},
|
|
1696
1711
|
getOatQuickMethodHeaderImpl,
|
|
@@ -1793,6 +1808,10 @@ function makeMethodMangler (methodId) {
|
|
|
1793
1808
|
return new MethodMangler(methodId);
|
|
1794
1809
|
}
|
|
1795
1810
|
|
|
1811
|
+
function translateMethod (methodId) {
|
|
1812
|
+
return artController.replacedMethods.translate(methodId);
|
|
1813
|
+
}
|
|
1814
|
+
|
|
1796
1815
|
function revertGlobalPatches () {
|
|
1797
1816
|
patchedClasses.forEach(entry => {
|
|
1798
1817
|
entry.vtablePtr.writePointer(entry.vtable);
|
|
@@ -4045,6 +4064,7 @@ module.exports = {
|
|
|
4045
4064
|
ArtStackVisitor,
|
|
4046
4065
|
ArtMethod,
|
|
4047
4066
|
makeMethodMangler,
|
|
4067
|
+
translateMethod,
|
|
4048
4068
|
revertGlobalPatches,
|
|
4049
4069
|
deoptimizeEverything,
|
|
4050
4070
|
deoptimizeBootImage,
|