2019独角兽企业重金招聘Python工程师标准>>>

#include <gtest/gtest.h>
#include "hookmon.h"int main(int argc, char **argv)
{testing::InitGoogleTest(&argc, argv);return RUN_ALL_TESTS();
}int (*old_func1)(void* instance, char* url, uint32_t timeout);
int new_func1(void* instance, char* url, uint32_t timeout)
{if (strcmp(url, "91himarket") == 0) {return 0;} else if (strcmp(url, "91assistant") == 0) {  }   return 1;}
}void __attribute__((constructor)) hook_init(void)
{attach_func("full_namespace::MyClass::talk_with_http", (void*)new_func1, (void**)&old_func1);
}class test_MyClass : public ::testing::Test{
protected:test_MyClass(){};virtual ~test_MyClass(){};virtual void SetUp() {}virtual void TearDown() {  }
};TEST_F(test_VersionFetcher, test_build_assistant_http_req)
{MyClass myclass;EXPECT_EQ(0, myclass.talk_with_http("url1", 0));
}
class MyClass {int talk_with_http(char* url, uint32_t timeout);
};

注意:MyClass中talk_with_http成员函数在hook时,需要额外增加一个参数void*, 其值实际上是MyClass对象的指针,否则url地址会向左偏移。

转载于:https://my.oschina.net/zmlblog/blog/363596

gtest hook 示例相关推荐

  1. 初识Frida--Android逆向之Java层hook (一)

    目录 0x00 文中用到的工具 0x01 hook示例的安装与分析 安装 源代码分析 0x02 frida自带的Messages机制与进程交互 0x03 Javascript代码构造与执行 方法一:获 ...

  2. gtest框架的介绍与应用

    [摘要]在本文中,作者根据之前使用gtest框架进行测试的经验,总结了一些使用方式和案例. 在这些案例中,我们可以了解到gtest框架的基本使用方法以及在我们日常测试中的应用,同时也能促进我们对于百度 ...

  3. Windows核心编程 - API HOOK应用

    #Windows核心编程 - API HOOK应用 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 目录 文章目录 #Windows核 ...

  4. Xposed Hook 魔趣列表动画 xuimod

    当年感觉魔趣的列表动画挺有意思,后来发现xuimod这个xposed模块,玩过一阵,现在已经这么些年没更新了,既然没人,那我就自己尝试写写吧. 少废话,先看成品 还有个京东APP的图传不上,CSDN不 ...

  5. git hook分支_Git hook(钩子文件)机制

    githooks(5) NAME githooks - Hooks(钩子) used by git SYNOPSIS $GIT_DIR/hooks/* 简介 Hooks(钩子),是一些存放于$GIT_ ...

  6. Android逆向与病毒分析

    本文由同程旅游安全团队对内移动安全培训的PPT整理而来,面向对象为对移动安全感兴趣的研发同事,所以讲的有些宽泛.介绍了入门Android逆向需要掌握的一些知识点, 通过简单的几个案例讲解Android ...

  7. PHP API 框架开发的学习

    基于互联网的应用正变得越来越普及,在这个过程中,有更多的站点将自身的资源开放给开发者来调用.对外提供的API 调用使得站点之间的内容关联性更强,同时这些开放的平台也为用户.开发者和中小网站带来了更大的 ...

  8. App逆向案例 X嘟牛 - Frida监听 WT-JS工具还原(一)

    App逆向案例 X嘟牛 - Frida监听 & WT-JS工具还原(一) 提示:文章仅供参考,禁止用于非法途径: 文章目录 App逆向案例 X嘟牛 - Frida监听 & WT-JS工 ...

  9. Windows API Hooking with MS Detours

    文章目录 API Hook技术 Microsoft Research Detours Package介绍 Detours开源工具库API Hook工作原理 Detours开源工具库定义的函数概念 De ...

最新文章

  1. 如何使用windbg在驱动加载时下断
  2. linux 单个网卡配置多个IP
  3. echarts一个页面有多个tooltip_可视化工具ECharts入门
  4. P1111 修复公路
  5. 数学--数论-- AtCoder Beginner Contest 151(组合数+数学推导)好题(๑•̀ㅂ•́)و✧
  6. 02-15 GUCCI 我喜欢的
  7. CISSP的成长之路(十六):复习访问控制(1)
  8. 要闻君说:谷歌云重磅发布两大技术平台;以后可以打飞滴了?SAP重组动荡;微软宣布 Azure Functions 支持 Java...
  9. mysql异常恢复工具_[MySQL异常恢复]mysql ibd文件恢复
  10. arm-linux-gcc 硬浮点,ARMCC和GCC编译ARM代码的软浮点和硬浮点问题 【转】
  11. 2.2 获取图像感兴趣区域_基于Hu距的图像旋转矫正之OpenCV实现
  12. Spring @PropertySource
  13. 淘宝客系统教学系列_1.简单介绍和平台搭建
  14. Javaweb实现在线预览word文件
  15. spring aop切面执行顺序
  16. 技术面试(一)认识技术面试
  17. Day 4.Social Data Sentiment Analysis: Detection of Adolescent Depression Signals
  18. 蘑菇街面经(自己的第一次秋招面试)
  19. 使用PyTorch实现鸟类音频检测卷积网络模型
  20. 转至老熊三分地--inside sqlplus prelim

热门文章

  1. 随笔:开学大四!!!稍微做点准备工作
  2. 如何让service不被系统杀掉
  3. 情爱难剪断,菩提树下悟佛缘
  4. JSON-JSON 百科
  5. DML,DDL,DCL,DQL的区别
  6. django通过ajax请求接口返回多条数据,并动态生成表格,请求表单后将表格数据并入库
  7. Hibernate的核心组件简单介绍
  8. kafka是如何通过配置的bootstrap.servers获取topic元数据的呢
  9. JS格式化时间之后少了8个小时
  10. 谷歌浏览器安卓版_谷歌Chrome Canary 82安卓版现可复制图片到剪贴板