
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を有効なものとして認識するための設定)
1)コメントアウト
--[[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]]
2)usermono=true
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を起動し、アプリケーションをspawnします。
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"