0x00 frida简介

frida是近几年才推出的一款全平台的逆向神器。功能上主要采用动态hook的方式,加入log,修改逻辑等。可以对java,native等hook。

具体使用情况,谁用谁知道。废话不多说,直接上干货。

这里仅仅讨论安卓上面的情况,其他平台的咱不做研究

0x01 在java中的一些应用

1、延时Hook

安卓有一些多包的问题,另外有一些类是通过动态加载的方式来加载的。可能在hook触发的那个时间点,不会找到未加载的代码。

这个时候,可以通过在class loader上面加hook的方式,在hook的代码下进行二次绑定加载。

这里没有代码,需要各位同学自己尝试一下。

2、打印调用栈

调用栈,这个很有用。在分析的过程中,不一定会一定找到需要分析或者hook的函数。可能根据字符串等蛛丝马迹,仅仅找到一部分信息。

使用java调用栈,就可以找到方法的调用关系。

代码如下

如上所示,可以把所用调用了ConnectionErrorMessages.getErrorMessage这个方法的栈给打印出来。

3、关于java的重载

这个载frida中设计比较友好,如果不知道重载方法如何写。只需要写上方法名,运行一次,frida就会把所有的方法,通过错误日志的形式给打印出来。照抄即可。

如上图所示,就是AssetManager 的 open方法的各种方法。

0x02 在C语言中的Hook

1、同样的延时Hook

这里的Hook可以绑定到程序启动时,这个时候可以针对脱壳以及一些其他只有在启动时才会触发的逻辑起作用。如下面的代码所示,可以先把hook的代码,放在libc.so 的open方法上面,等到指定的so加载的时刻,在触发自需要hook的逻辑。

2、C语言中打印调用关系

c中可以打印到该方法,是由那个so调用的。如open函数,在这里就可以知道是由那个so调用了,然后打印出该so具体的打开了那几个文件。根据打开的文件,进而可以猜测出使用了那些设备的信息以及一些其他操作。

关键的打印调用 就是这一行代码:Thread.backtrace

以后会持续为大家更新关于安卓逆向的知识,希望大家喜欢的给个关注

如果纰漏,请各位同学加以指出。
最后放上脚本的git地址 https://github.com/lykmoon/frida-tools.git

声明:本文转自https://bbs.pediy.com/thread-248848.htm如有侵权请联系删除

c语言延时函数_介召几个frida在安卓逆向中使用的脚本以及延时Hook手法相关推荐

  1. R语言str_flatten函数通过自定义字符连接(concatenate)字符串向量中的字符串

    R语言str_flatten函数通过自定义字符连接(concatenate)字符串向量中的字符串 目录 R语言st

  2. r语言找不到cochrane函数_网状meta必备技能之6-利用R中的meta包实现meta分析

    我们仅仅是代码的编辑者.整合者.搬运工,仅免费传授方法,下文数据和代码取自于网络和免费软件"R语言说明书",如果您觉得我们侵犯了您的版权,请通知我们撤稿.请大家谅解,谢谢! 相信大 ...

  3. c语言strdup函数_在C / C ++中使用strdup()函数的指南

    c语言strdup函数 In this article, we'll take a look at using the strdup() function in C/C++. 在本文中,我们将研究在C ...

  4. 自己实现c语言itoa函数_在C / C ++中实现itoa()函数

    自己实现c语言itoa函数 In this article, we'll take a look at implementing the itoa() function in C/C++. 在本文中, ...

  5. c语言feof函数_使用示例的C语言中的feof()函数

    c语言feof函数 C语言中的feof()函数 (feof() function in C) Prototype: 原型: int feof(FILE* filename); Parameters: ...

  6. c语言 strcmp函数_了解C ++ strcmp()函数

    c语言 strcmp函数 Hello, folks! In this article, we will be focusing on the working of the C++ strcmp fun ...

  7. c语言sleep函数_做游戏,学C语言,小球碰撞游戏,菜鸡者从黑窗口到图形化编程...

    CMD黑窗口小球运动 这次教程,我们实现一个弹跳小球.需要学习完基础的变量.运算符.表达式,printf.scanf输入输出函数的用法,if-else.while.for语句的用法. 第1步,显示静止 ...

  8. r语言lm函数_如果R语言自带函数不能用,那我就自己写一个

    一个很大的矩阵, 320127 行, 8189列,假如用一个全为0的普通矩阵来存储,需要用到9.8Gb cols 8189 rows 320127 mat matrix(data = 0, nrow= ...

  9. 语言阿克曼函数_函数式的动态规划

    函数式的动态规划 动态规划是一类很常用的算法,在C/C++/Java中一般使用于数组进行记忆化.而函数式编程语言一般无法方便地操作数组这些依赖副作用的数据结构,函数式的记忆化便要另寻他法. 本文就是一 ...

最新文章

  1. 关于RabbitMq你必须深入理解的内容
  2. kafka数据文件.log
  3. [家里蹲大学数学杂志]第045期布朗运动矩的计算
  4. AI又破案!衢州城市大脑这回抓了一个抢劫犯
  5. asp.net程序涉及案例_定制小程序 | 企业在开发小程序前需要满足哪些条件?
  6. [源码和文档分享]基于AVL树表示的集合ADT实现与应用
  7. mysql修改失败,mysql修改数据失败(是我的代码有问题吗)怎么解决?
  8. HLG 1334 最好的心情[lis 变形]
  9. if else 嵌套 来源微信公众号
  10. 没钱充会员 百度网盘下载限速怎么办?这些招可以突破百度网盘非会员限速限制
  11. msvcp140.dll是什么?丢失了msvcp140.dll要如何修复?
  12. CnOpenData中国高等学校名单数据
  13. 织梦dedecms包装设计生产公司网站模板(中英文版)
  14. Windows7开机加速全攻略五:系统服务优化
  15. 《天涯上令人肝肠寸断的100个签名》
  16. alex机器人 ser_基于Web Service的机器人远程控制系统设计
  17. 基于MVS的三维重建算法学习笔记(二)— 立体视觉的几何基础总结
  18. 计算机操作系统——(第四章) 存储器管理/内存管理
  19. Java重修之路(十)面向对象之多态详解,Object类,内部类,匿名内部类详解
  20. [Opencv基础]人脸磨皮

热门文章

  1. MIT副教授赵宇飞团队登数学四大顶刊,华人作者中两位是本科生,最小的是00后...
  2. Spring中的这些坑,99%的程序员都踩过
  3. 从清华退学,他赴美读博又两次退学!离开谷歌后,如今他怎样了?
  4. 复旦大学自然语言处理实验室发布模型鲁棒性评测平台TextFlint
  5. 来看看顶会大佬是如何研究计算机视觉的
  6. 用意念就能控制的操作系统?这家华人团队做的脑机接口,3个电极实现脑波成像...
  7. 精度45.9%,推理速度72.9FPS,百度飞桨推出工业级目标检测模型 PP-YOLO
  8. 再来一个吊打百度网盘的开源神器,还是99年妹子开发的
  9. 5 门前途美好的编程语言
  10. Scrapy框架模拟Github网站登陆