当前位置:   article > 正文

ios frida拦截网络请求参数与回调block frida back_frida拦截弹窗

frida拦截弹窗

frida抓取网络请求包主要代码,拦截block 

  1. if(ObjC.available){ //判断Object-C类方法是否已经加载进来
  2. console.log('\n[*] Starting Hooking');
  3. var _className = "AFHTTPSessionManager"; //类名
  4. var _methodName = "- POST:parameters:progress:success:failure:"; //方法名
  5. var hooking = ObjC.classes[_className][_methodName]; //通过ObjC.classes返回当前注册类的映射表找到想要hook的类名、方法名
  6. console.log('className is: ' + _className + ' and methodName is: ' + _methodName);
  7. const pendingBlocks = new Set()
  8. Interceptor.attach(hooking.implementation,{
  9. onEnter: function(args) {
  10. //args[0]:self
  11. //args[1]:The selector
  12. //args[2]:方法的第一个参数开始
  13. var param = new ObjC.Object(args[2]);
  14. console.log('请求url:'+param);
  15. var param2 = new ObjC.Object(args[3]);
  16. console.log('请求参数:'+param2);
  17. const block = new ObjC.Block(args[5]);
  18. pendingBlocks.add(block); // Keep it alive
  19. const appCallback = block.implementation;
  20. block.implementation = (success1, success2) => {
  21. console.log('网络请求成功回调success1'+success1+'success2'+success2);
  22. const result = appCallback(success1, success2);
  23. pendingBlocks.delete(block);
  24. return result;
  25. };
  26. },
  27. onLeave:function(returnValue){
  28. //如下代码则是我们在函数调用之后 打印函数的返回值及函数返回值类型
  29. console.log('Return value of: ');
  30. console.log(' ' + this._className + ' --> ' + this._methodName);
  31. var typeValue = Object.prototype.toString.call(returnValue);
  32. console.log("\t[-] Type of return value: " + typeValue);
  33. console.log("\t[-] Return Value: " + returnValue);
  34. }
  35. });
  36. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/785687
推荐阅读
相关标签
  

闽ICP备14008679号