frida动态调试入门01——定位关键代码

news2024/12/27 14:23:20

说明

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/954031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python Qt(八)Treeview

源代码: # -*- coding: utf-8 -*-# Form implementation generated from reading ui file qt_treeview.ui # # Created by: PyQt5 UI code generator 5.15.9 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not…

vnc与windows之间的复制粘贴

【原创】VNC怎么和宿主机共享粘贴板 假设目标主机是linux,终端主机是windows(就是在windows上使用VNC登陆linux) 在linux中执行 vncconfig -nowin& 在linux选中文字后,无需其他按键,直接在windows中可以黏贴。 …

2023-8-31 Dijkstra求最短路(二)

题目链接&#xff1a;Dijkstra求最短路 II #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <queue>using namespace std;typedef pair<int, int> PII;const int N 150010;int n, m; int h[N…

利用GeoServer进行跨图层空间查询

Cross-layer filtering 跨层过滤提供了从层A中查找与层B中的特征具有特定关系的特征的能力。例如&#xff0c;这可以用于查找距离指定商店给定距离内的所有公交车站&#xff0c;或者查找指定城区内的所有咖啡店。 querylayer模块添加了实现跨层过滤的过滤功能。这些功能通过查…

十一、装饰器模式

一、什么是装饰器模式 装饰器&#xff08;Decorator&#xff09;模式的定义&#xff1a;指在不改变现有对象结构的情况下&#xff0c;动态地给该对象增加一些职责&#xff08;即增加其额外功能&#xff09;的模式&#xff0c;它属于对象结构型模式。 装饰器模式主要包含以下角色…

你的家乡清晰可见,全国卫星影像100%覆盖!

向上数三代&#xff0c;祖辈皆农民&#xff01; 无论是坐在高楼大厦里的白领&#xff0c;各种机构的公职人员&#xff0c;还是奔跑在大街小巷的外卖小哥&#xff0c;他们的根几乎皆在农村&#xff0c;当然应该也包括你和我&#xff01; 如何通过高清卫星影像看家乡的变化&…

企业如何充分借助大数据下精准营销?

技术的发展和智能终端的普及移动互联网用户的大规模增长使移动互联网快速发展&#xff0c;使中国移动互联网软件进入移动互联网时代越来越多地涉及到改变生活大家习惯。移动互联网时代的到来也意味着大数据时代的到来。精准营销数据方法&#xff0c;移动互联网和大数据的兴起不…

java八股文面试[多线程]——AQS 详细介绍

线程同步除了Synchronized Volatile ReentranLock 之外&#xff0c;还有其他一些用来进行同步的机制。 AQS 简单介绍 AQS 的全称为&#xff08;AbstractQueuedSynchronizer&#xff09;&#xff0c;这个类在 java.util.concurrent.locks 包下面。 AQS 是一个用来构建锁和同步器…

git submodule 子模块的基本使用

背景 浏览开源库的时候经常会看到如下子模块的引用情况。 子模块通常是项目比较复杂&#xff0c;需要对项目进行拆分&#xff0c;而项目又有引用关系时会使用。通常拆分项目后&#xff0c;我只需要关注自己的项目更改&#xff0c;不需要关注引用的项目都做了哪些更改。 通常…

为什么删除Windows 11上的Bloatware可以帮助加快你的电脑速度

如果你感觉你的电脑迟钝&#xff0c;彻底清除软件会有所帮助&#xff0c;而且这个过程对Windows用户来说越来越容易。 微软正在使删除以前难以删除的其他预装Windows应用程序成为可能。专家表示&#xff0c;这项新功能可能会改变用户的游戏规则。 科技公司Infatica的主管Vlad…

23款奔驰GLS400升级柏林之声音响系统,体验不一样的感觉

Burmester 环绕立体声音响系统–为每位乘员打造令人印象深刻的音质13个高性能扬声器、总功率为590瓦的9声道数字信号处理器(DSP)放大器以及放大器/扬声器系统专为车辆配置&#xff0c;打造出一流的Burmester之音。必要时还可进一步提升令人印象深刻的听觉体验。声音环绕功能能够…

如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

对于uts namespace共享的测试

前言 单单以下列命令运行虽然是root&#xff0c;还不行&#xff0c;我们需要加--privileged&#xff0c;不然会报 hostname: you must be root to change the host name docker run -it --utshost ubuntu:latest /bin/bash 如果加上--privileged后 docker run -it --priv…

0727开发问题小结分享

Hi&#xff0c;我是阿昌&#xff0c;今天记录分析下关于0727开发问题小结分享的内容。 总结汇总了一些在开发问题&#xff0c;或者需要开发注意点&#xff1b; 一、内容概览 ● 问题驱动思维 ● 数据库 ● javaee & 框架 ● 服务治理 ● 三方服务 & 迁移操作 二、问…

北大C++课后记录:自增、自减运算符重载的小Demo

前言 自增、自减运算符有前置&#xff08;x&#xff09;和后置&#xff08;x&#xff09;之分&#xff0c;为了对其进行区分&#xff0c;C规定&#xff1a; 前置运算符作为一元运算符进行重载&#xff1a;&#xff08;注意T1对象和T2对象是有差异的&#xff09; 后置运算符作…

DT 变形学习

弯曲变形 扩张变形 正弦变形 挤压变形 扭曲变形 波浪变形 内外的影响 雕刻 抖动变形 混合变形 晶格变形 包裹变形 线条变形 重置 在测试一个

资本寒冬下,YOUMAGIC单极射频为何吸金过亿?

整个消费社会投融资周期的变化&#xff0c;已经从前几年的升温、火热&#xff0c;来到了如今降温、遇冷的阶段。IT桔子数据显示&#xff0c;今年上半年零售消费相关领域共发生297起融资&#xff0c;而去年同期为662起。不管是融资事件总数还是披露融资金额&#xff0c;都双双大…

在抖音中使用语聚AI,实现自动回复用户视频评论、私信问答

您可以通过集简云数据流程&#xff0c;将语聚AI助手集成到抖音视频评论、抖音私信&#xff0c;实现自动回复用户视频评论、私信问答&#xff0c;大大提升账号互动与运营效率。 效果如下&#xff1a; 自动化流程&#xff1a; ● 抖音普通号评论对接语聚AI&#xff08;点击可一…

idea 常用插件和常用快捷键 - 记录

idea 常用插件 记得下载插件完成后&#xff0c;点击 Apply 和 OK Alibaba Java Coding Guidelines 作用&#xff1a;使用该插件可以&#xff0c;自动提示相关的语法格式问题&#xff0c;格式参考 阿里巴巴代码规范 详情链接&#xff1a; 代码规范之Alibaba Java Coding G…

广度优先搜索算法 BFS

广度优先搜索算法&#xff08;Breadth-First Search, BFS&#xff09; 算法思路 广度优先搜索&#xff08;BFS&#xff09;是一种用于图和树的遍历算法。该算法从一个给定的节点&#xff08;起始节点&#xff09;开始&#xff0c;探索所有该节点的邻居节点。然后对每个邻居节点…