基于 Frida 的工具,将 Cheat Engine 的 MonoDataCollector 移植到 Android 和 iOS,实现对移动应用的运行时 Mono/IL2CPP 数据收集和内存检查。
将 ce 的 monodatacollector 移植到 android/ios。
已确认在 CEVersion 7.4.2 或更高版本上可正常运行。
安装 python 库。
pip install pywin32
修改 autorun/monoscript.lua(配置 CE 以将 Mono 识别为有效)
--[[local injectResult, injectError=injectLibrary(getAutorunPath()..libfolder..pathsep..dllname, skipsymbols)
if not injectResult then
if injectError then
print(translate("Failure injecting the MonoDatacollector library"..":"..injectError))
else
print(translate("Failure injecting the MonoDatacollector library. No error given"))
end
return 0
end
if (getOperatingSystem()==0) and (getAddressSafe("MDC_ServerPipe")==nil) then
waitForExports()
if getAddressSafe("MDC_ServerPipe")==nil then
print("DLL Injection failed or invalid DLL version")
return 0
end
end]]
function mono_OpenProcessMT()
-- print("mono_OpenProcessMT")
--enumModules is faster than getAddress at OpenProcess time (No waiting for all symbols to be loaded first)
local usesmono=true--false
在设备上启动 frida-server 并启动应用程序。
python main.py com.DefaultCompany.Sample
启动 ceserver 并选择你启动的应用程序。
adb forward tcp:52736 tcp:52736
su -c ./ceserver
在 CE 中设置 Mono
Mono => Activate mono features
如果指定了它,就不需要在参数中指定目标应用的名称。
android:Android
ios:iOS
spawn:spawn 模式
attach:attach 模式
通过网络连接到 frida-server。
示例:
./frida-server -l 0.0.0.0:12345
frida_server_ip:"192.168.11.3:12345"