当前位置: 首页 > article >正文

安卓逆向之socket抓包

思路:socket包大部分都是密文的,常规的抓包工具Charles、Fiddler等一般都无法抓到,所以使用frida进行hook抓包。但frida抓的socket太多了,进一步用Wireshark抓包看想要的数据是哪些包,根据某些特征给frida过滤。

function jhexdump(array) {
    var ptr_array = Memory.alloc(array.length);
    for(var i = 0; i < array.length; ++i)
        Memory.writeS8(ptr_array.add(i), array[i]);
    console.log(hexdump(ptr_array,{length: 0x520}), "\r\n");
    console.log("ptr: ",ptr(ptr_array).readCString()); 
}

function hook_socket(){
    Java.perform(function(){
        Java.use("java.net.SocketOutputStream").write.overload('[B', 'int', 'int').implementation = function(bytearry,int1,int2){
            var result = this.write(bytearry,int1,int2);
            console.log(jhexdump(bytearry));
            return result;
        }
        

        Java.use("java.net.SocketInputStream").read.overload('[B', 'int', 'int').implementation = function(bytearry,int1,int2){
            var result = this.read(bytearry,int1,int2);
            console.log(jhexdump(bytearry));
            return result;
        }

    })
}

function main(){
	hook_socket()
}
setImmediate(main)


http://www.kler.cn/a/386634.html

相关文章:

  • PVE纵览-安装系统卡“Loading Driver”的快速解决方案
  • C++中的std::tuple和std::pair
  • 鸿蒙HarmonyOS 地图不显示解决方案
  • Python提取PDF和DOCX中的文本、图片和表格
  • 【MySQL】约束
  • css:盒子模型
  • 系统架构设计师论文:单元测试方法及其运用
  • 算法每日双题精讲——双指针(有效三角形的个数,和为s的俩个数)
  • Java-字符串常量池
  • WPF之iconfont(字体图标)使用
  • 【网络】完美配置 HTTPS:优化 SSL/TLS 证书以增强网站安全和性能
  • 山东布谷科技:关于直播源码|语音源码|一对一直播源码提交App Store的流程及重构建议
  • 证件照尺寸168宽240高,如何手机自拍更换蓝底
  • Spring 事务@Transactional
  • 神秘的LLVM,熟悉的GNU
  • Conda 使用指南:高效的包管理和环境管理工具
  • 机器学习与成像技术
  • sql单表查询练习题
  • windows C#-使用异常
  • GitLab 提交 C++ 技巧
  • srs http-flv处理过程
  • C/C++语言基础--C++模板与元编程系列四(类型模板参数、整数、指针 、模板类型)
  • 解题--多数元素
  • Oracle RAC的thread
  • unity实习生面试
  • vite+vue项目创建流程;npm error enoent Could not read package.json异常报错问题