Update unity.js
This commit is contained in:
parent
8b27ea4663
commit
5a607ca359
@ -1,3 +1,80 @@
|
|||||||
|
/*
|
||||||
|
1. Get image by name [call mono_image_loaded]
|
||||||
|
2. Get class by name [call mono_class_from_name](#http://docs.go-mono.com/?link=api%3amono_class_from_name)
|
||||||
|
3. Get method in class by name [call mono_class_get_method_from_name](#http://docs.go-mono.com/index.aspx?link=xhtml%3Adeploy%2Fmono-api-class.html)
|
||||||
|
4. Compile method to get address [call mono_compile_method](#http://docs.go-mono.com/index.aspx?link=xhtml%3Adeploy%2Fmono-api-unsorted.html)
|
||||||
|
5. Intercept compiled method
|
||||||
|
*/
|
||||||
|
function Main() {
|
||||||
|
var awaitForCondition = function(callback) {
|
||||||
|
var int = setInterval(function() {
|
||||||
|
if (Module.findExportByName(null, "mono_get_root_domain")) {
|
||||||
|
clearInterval(int);
|
||||||
|
callback();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
function hook() {
|
||||||
|
Interceptor.attach(Module.findExportByName(null, "mono_assembly_load_from_full"), {
|
||||||
|
onEnter: function(args) {
|
||||||
|
this._image = args[0];
|
||||||
|
this._fname = Memory.readUtf8String(args[1]);
|
||||||
|
this._status = args[2];
|
||||||
|
this._refonly = args[3];
|
||||||
|
console.log('[E]', args[0], Memory.readUtf8String(args[1]));
|
||||||
|
},
|
||||||
|
onLeave: function(retval) {
|
||||||
|
if (this._fname.indexOf("Assembly-CSharp.dll") != -1) {
|
||||||
|
console.log("mono_class_from_name", Module.findExportByName(null, "mono_class_from_name") );
|
||||||
|
Interceptor.attach(Module.findExportByName(null, "mono_class_from_name"), {
|
||||||
|
onEnter: function(args) {
|
||||||
|
var name_space = Memory.readUtf8String(args[1]).toString();
|
||||||
|
if (
|
||||||
|
!name_space.startsWith("System") &&
|
||||||
|
!name_space.startsWith("Unity") &&
|
||||||
|
!name_space.startsWith("Facebook") &&
|
||||||
|
!name_space.startsWith("Google")
|
||||||
|
) {
|
||||||
|
console.log('[E2]', args[0], name_space, Memory.readUtf8String(args[2]) );
|
||||||
|
this._namespace = name_space;
|
||||||
|
}
|
||||||
|
else this._namespace = null;
|
||||||
|
},
|
||||||
|
onLeave: function(retval) {
|
||||||
|
if (this._namespace) console.log('[L2]', this._namespace, retval);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
awaitForCondition(hook);
|
||||||
|
}
|
||||||
|
Java.perform(Main);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// apk/assets/bin/Data/Managed$ for i in *.dll; do echo "[*] $i"; rabin2 -zzz $i | grep -i certificate; done
|
// apk/assets/bin/Data/Managed$ for i in *.dll; do echo "[*] $i"; rabin2 -zzz $i | grep -i certificate; done
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user