frida动态调试入门01——定位关键代码
说明
frida是一款Python工具可以方便对内存进行hook修改代码逻辑在移动端安全和逆向过程中常用到。
实战
嘟嘟牛登录页面hook
使用到的工具
1,jadx-gui
2,frida
定位关键代码
使用jadx-gui 进行模糊搜索,例如搜索encyrpt之类的加密关键字

发现com.dodonew 下面有两个疑似加密的关键代码

右键复制类名
com.dodonew.online.http.JsonRequest

编写脚本
//如果是java hook的话代码都要放到java.perform包括起来Java.perform(function(){// 拿到这个类,打印一下确认是否拿到类了var JsonRequest = Java.use("com.dodonew.online.http.JsonRequest")console.log("JsonRequest:",JsonRequest)// 调用类中的方法,实现,也就是将原来的函数修改掉 JsonRequest.paraMap.implementation = function(a){console.log("params1:", a);this.paraMap(a);}// addRequestMap,可能的另外一个加密函数// 参数类型或者是参数数量不同为一个重载函数JsonRequest.addRequestMap.implementation = function(a,b){console.log("params:", a, b);this.addRequestMap (a, b);}
});
启动手机的frida服务端

出现报错,报错显示有多个overload也就是有多个重载,修改hook代码指定那个重载。

修改代码
需要的是int的重载函数

修改后的代码
//如果是java hook的话代码都要放到java.perform包括起来Java.perform(function(){// 拿到这个类,打印一下确认是否拿到类了var JsonRequest = Java.use("com.dodonew.online.http.JsonRequest")console.log("JsonRequest:",JsonRequest)// 调用类中的方法,实现,也就是将原来的函数修改掉 JsonRequest.paraMap.implementation = function(a){console.log("params1:", a);this.paraMap(a);}// addRequestMap,可能的另外一个加密函数// 参数类型或者是参数数量不同为一个重载函数JsonRequest.addRequestMap.overload('java.util.Map', 'int').implementation = function(a,b){console.log("params:", a, b);console.log("addRequestMap");this.addRequestMap (a, b);}// 确定了加密的关键函数
});
再次运行frida -UF -l hook的js文件
frida -UF -l .\hook.js

说明代码逻辑通过的这个函数。
添加两个这个代码就可以打印输入的参数
var bb =Java.cast(a, Java.use("java.util.HashMap"));console.log("addRequestMap params:", bb.toString());

参考文章
https://www.bilibili.com/video/BV1k3411d7RT
相关文章:
frida动态调试入门01——定位关键代码
说明 frida是一款Python工具可以方便对内存进行hook修改代码逻辑在移动端安全和逆向过程中常用到。 实战 嘟嘟牛登录页面hook 使用到的工具 1,jadx-gui 2,frida 定位关键代码 使用jadx-gui 进行模糊搜索,例如搜索encyrpt之类的加密关键…...
ASP.NET Core 8 的配置类 Configuration
Configuration Configuration 可以从两个途径设置: WebApplication创建的对象app.Configuration 属性WebApplicationBuilder 创建的 builder.Configuration 属性 app的Configuration优先级更高,host Configuration作为替补配置,因为app运行…...
MySql增量恢复
一、 使用二进制日志的时间点恢复 注意 本节和下一节中的许多示例都使用mysql客户端来处理mysqlbinlog生成的二进制日志输出。如果您的二进制日志包含\0(null)字符,那么mysql将无法解析该输出,除非您使用--binary模式选项调用它。…...
设计模式--装饰者模式(Decorator Pattern)
一、什么是装饰者模式(Decorator Pattern) 装饰者模式(Decorator Pattern)是一种结构型设计模式,它允许你在不修改现有对象的情况下,动态地将新功能附加到对象上。这种模式通过创建一个包装类,…...
Spring三级缓存解决循环依赖
Spring三级缓存解决循环依赖 一 Spring bean对象的生命周期 二 三级缓存解决循环依赖 实现原理解析 spring利用singletonObjects, earlySingletonObjects, singletonFactories三级缓存去解决的,所说的缓存其实也就是三个Map 先实例化的bean会通过ObjectFactory半…...
Vscode自动移出不用的包
Vscode自动移出不用的包 在Vscode中删除不用的包、Vscode移出不用的包、Vscode移出不用的import包 设置 找到setting.json(在字体设置里面),添加如下配置 "editor.codeActionsOnSave": { "source.organizeImports": tru…...
leetcode做题笔记120. 三角形最小路径和
给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一…...
weblogic/CVE-2018-2894文件上传漏洞复现
启动docker环境 查看帮助文档 环境启动后,访问http://your-ip:7001/console,即可看到后台登录页面。 执行docker-compose logs | grep password可查看管理员密码,管理员用户名为weblogic,密码为lFVAJ89F 登录后台页面,…...
windows10默认浏览器总是自动更改为Edge浏览器
在设置的默认应用设置中把默认浏览器改为chrome或其他之后他自动又会改回Edge。不得不说*软真的狗。 解决办法: 后来发现在Edge浏览器的设置中有这么一个选项,会很无耻的默认是Edge。把它关掉后重新设置就行了。...
系统架构设计师考试论文:论软件架构风格与应用
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。体系结构风格定义一个系统家族,即一个体系结构定义一个词汇表和一纽约束。词汇表中包含一些构件和连接件类型,而这组约束指出系统是如何将这些构件和连接件组合起来的。体系结构风格反…...
xss-labs靶场通关详解
文章目录 前言level1level2level3level4level5level6level7level8level9level10level11level12level13level14level15level16level17level18level19&level20 前言 赶着假期结尾的时候,赶紧给自己找点任务做。现在对xss还是一知半解,只是了解个大概&a…...
关于类和接口
类和接口的区别,去除语法层面,谈谈编程层面的意义。 设计原则SOLID: S:单一职责(SRP),Single Responsibility Principle O:开-闭原则(OCP),Open-Closed Principle L:里氏替换(LSP)&…...
网络安全社区与资源分享: 推荐网络安全社区、论坛、博客、培训资源等,帮助从业者拓展人脉和知识。
第一章:引言 在当今数字化的世界中,网络安全问题变得愈发突出。随着各种新型威胁的涌现,网络安全从业者面临着持续不断的挑战。然而,正是因为这些挑战,网络安全社区应运而生,成为从业者们互相交流、学习和…...
SAP MM学习笔记26- SAP中 振替转记(转移过账)和 在库转送(库存转储)5 - 总结
SAP 中在库移动 不仅有入库(GR),出库(GI),也可以是单纯内部的转记或转送。 1,振替转记(转移过账) 具体查看我之前的文章。 SAP MM学习笔记26- SAP中 振替转记ÿ…...
Stable Diffusion WebUI提示词Prompts常用推荐
在Stable Diffusion(以下简称SD)中,提示词是很重要的一部分,写好提示词就能让画图事半功倍,下面介绍一款好用的工具,能很程度上让你更轻松。 他就是sd-webui-prompt-all-in-one 下面将详细介绍的安装以及使用,后面将详细讲解提示词(Prompt)应该如何写提示词才能使画…...
Android 13 Ethernet变更
Android13 有线变更 以太网相关的功能在Android12 和13 网络部分变化是不大的,Android11 到Android 12 网络部分无论是代码存放目录和代码逻辑都是有较多修改的,主要包括以下几个部分 限制了设置有线网参数设置接口方法 新增有线网开启关闭接口方法 新…...
基于单片机的超声波语音测距系统
一、系统方案 超声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制ÿ…...
算法系列-力扣876-求链表的中间节点
# 求链表中间节点,如果有两个中间节点取后面那个 链表定义 // lc codestart /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val val; } * …...
SpringBoot集成Redis、Redisson保姆教程【附源码】
1. SpringBoot集成Redis 关于Redis的安装,这里就不重复介绍了,需要的朋友可以看我之前的博文Redis多系统安装(Windows、Linux、Ubuntu) Redis原生命令大全,作者整理的很详细,大部分命令转化为java命令基本也是关键词 Redis 命令参考 接下来开始我们的正题,一起学习下…...
c++多线程中常用的使用方法
1)promise(保证)和future的联合使用,实现两个线程的数据传递 #include <iostream> #include<thread> #include<future>using namespace std;//promise用法:可以给线程一个值,而从另一个线程读出该值 // 实现了两个线程的数…...
Windows 11 WSL Ubuntu 环境:安装 Hadoop 完整指南
本文详细介绍了在WSL Ubuntu环境下安装Hadoop的完整流程。主要内容包括:1) 环境准备(安装WSL、Ubuntu及必要工具);2) 配置SSH免密登录;3) 下载安装Hadoop 3.3.6并配置环境变量;4) 详细说明Hadoop核心配置文…...
堆叠集成方法
原文:towardsdatascience.com/the-stacking-ensemble-method-984f5134463a 发现堆叠在机器学习中的力量——一种将多个模型组合成一个单一强大预测器的技术。本文从基础知识到高级技术探讨了堆叠,揭示了它是如何结合不同模型的优势以提高准确性的。无论你…...
2026年AI求职必看:掌握这3类岗位核心技能,年薪百万不是梦!收藏备用
本文分析了AI行业招聘市场的两极分化现象,并深入拆解了算法工程师、大模型应用开发、AI产品经理三类热门岗位的真实招聘要求和面试准备重点。文章指出,企业对AI人才的要求已从"会调模型"转向"能落地产品",复合型人才需求…...
如何用智能去重工具高效清理重复图片:AntiDupl.NET完整使用指南
如何用智能去重工具高效清理重复图片:AntiDupl.NET完整使用指南 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾面对电脑里杂乱无章的图片库感到束…...
从ARM Cortex-M到FPGA:手把手教你用AXI4-Lite搭建自定义外设(以Zynq-7000为例)
从ARM Cortex-M到FPGA:用AXI4-Lite实现自定义外设的工程实践 在嵌入式系统开发中,处理器与可编程逻辑的高效协同一直是提升性能的关键路径。当标准外设无法满足特定需求时,工程师往往需要在FPGA中设计定制硬件模块,并通过标准化总…...
Head Activator ;pPPGGSKVILF
一、基础信息多肽名称:头部激活因子三字母序列:Pyr-Pro-Pro-Gly-Gly-Ser-Lys-Val-Ile-Leu-Phe单字母序列:pPPGGSKVILF氨基酸数量:11 aa分子式:C54H84N12O14分子量:1125.34结构特征:N 端 Pyr&…...
Teledyne PDS后处理软件保姆级教程:从新建项目到格网导出的完整流程
Teledyne PDS后处理软件从入门到精通:多波束数据处理全流程实战指南 第一次打开Teledyne PDS后处理软件时,满屏的专业术语和复杂菜单让不少水下测量工程师感到无从下手。作为处理T50P等多波束测深数据的核心工具,PDS软件的操作流程直接关系到…...
【实战】Latex|在保留ACM-Reference-Format格式的前提下,实现参考文献按引用顺序排列
1. 问题背景与核心痛点 当你使用ACM官方模板撰写论文时,参考文献格式要求必须采用ACM-Reference-Format样式。这个格式有个让人头疼的特性:它会强制按作者姓氏字母顺序排列参考文献,而不是按照文中实际引用顺序。想象一下,你精心设…...
如何通过编译优化与隐私增强实现浏览器性能飞跃:Thorium项目技术深度解析
如何通过编译优化与隐私增强实现浏览器性能飞跃:Thorium项目技术深度解析 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Source code and Linux releases. Windows/MacOS/ARM builds served in different repos, links are towa…...
12306智能抢票助手终极指南:5步实现自动化抢票,告别手动刷票烦恼
12306智能抢票助手终极指南:5步实现自动化抢票,告别手动刷票烦恼 【免费下载链接】12306 12306智能刷票,订票 项目地址: https://gitcode.com/gh_mirrors/12/12306 还在为节假日抢不到火车票而烦恼吗?😫 12306智…...
