以下の図に示すように、フック Java レイヤーを使用できます。dy はデフォルトでクイック プロトコルに設定されていますが、より多くのバージョンの携帯電話と互換性を持たせるために、ダウングレード操作が必要です。 cronet は適切に適応されないため、フックのメソッドを使用して強制的に Http プロトコルにダウングレードできます。
frida脚本:
1 2 3 4 5 6 7 8 9 |
setImmediate(function() {
Java.perform(function() {
var targetClass = 'org.chromium.CronetClient' ; var methodName = 'tryCreateCronetEngine' ; var gclass = Java.use(targetClass); gclass[methodName].overload( 'android.content.Context' , 'boolean' , 'boolean' , 'boolean' , 'boolean' , 'java.lang.String' , 'java.util.concurrent.Executor' , 'boolean' ).implementation = function(arg0,arg1,arg2,arg3,arg4,arg5,arg6,arg7) {
} }) }) |
frida をフックすることでパケットをキャプチャできるようになり、so patch で一部のパケットがキャプチャできない問題が解決され、すべてのバージョンの dy を強制終了できるはずです。
高度なリバース エンジニアリングと難読化解除