android hook api
搞了好几个星期,终于有点头绪,欢迎交流。转载请注明出处http://blog.csdn.net/lingfong_cool/article/details/8109290。
android安全可以从三个层面考虑,一次是java虚拟机层,nativec层,还有linux kernel层,本次hook api是属于nativec层的。
{
if(!handle)
return;
Soinfo *si = (Soinfo*)handle;
Elf32_Sym *symtab = si->symtab;
const char *strtab = si->strtab;
Elf32_Rel *rel = si->plt_rel;
unsigned count = si->plt_rel_count;
unsigned idx;
for(idx=0; idx<count; idx++) //外部依赖函数在rel_plt中
{
unsigned type = ELF32_R_TYPE(rel->r_info);
unsigned sym = ELF32_R_SYM(rel->r_info);
unsigned reloc = (unsigned)(rel->r_offset + si->base);
char *sym_name = (char *)(strtab + symtab[sym].st_name);
if(strcmp(sym_name, name)==0)
{
printf("\"plt_rel\" idx:%2d type:%2d sym:%2d sym_name:%-30s addr:%0x\n",idx,type,sym,sym_name,*((unsigned*)reloc));
return (void *)*((unsigned*)reloc);
}
rel++;
}
for(idx=0;idx<si->nchain;idx++) //自定义函数在symtab中
{
unsigned type = ELF32_R_TYPE(symtab[idx].st_info);
unsigned sym = ELF32_R_SYM(symtab[idx].st_info);
char *sym_name = (char *)(strtab + symtab[idx].st_name);
if(strcmp(sym_name, name)==0)
{
printf("\"got\" idx:%2d sym_name:%-30s st_value:%0x base: %0x\n",idx,sym_name,symtab[idx].st_value,si->base);
return (void *)(symtab[idx].st_value+si->base);
}
};
return NULL; //not found
}
android hook api相关推荐
- 浅谈android hook技术
前言 在测试android过程中,能对函数进行hook能帮助更加深入的进行测试,本文简单介绍了hook框架xposed和frida,从简单的小例子做了简单的演示,算是自己的学习的过程,是个入门的过程. ...
- android hook截取其他程序的按钮事件_Hook技术
概述 Hook,英文直译是"钩子"的意思.在程序中将其理解为"劫持"可能会更好理解,我们可以通过hook技术来劫持某个对象,从而控制它与其他对象的交互. Hoo ...
- android hook方法替换,Android Hook入门教程
原创,首先国内各种rom版本不一,对官方教程中clock的hook很难做到,其次中文教程太少..楼主也是刚接触Android hook,如有错误请多多指正 首先配置Xposed框架,这一步因机而异,网 ...
- android hook 第三方app_基于 VirtualApp 结合 whale hook框架实现hook第三方应用
要点 1. whale hook framework 使用示例: 2. 参考项目:VirtualHook: 3. 按照 VirtualHook 修改 VirtualApp: 4. 编写 hook pl ...
- Android Hook框架Xposed进阶
上一篇<Android Hook框架Xposed入门>,我们对xposed进行简单的介绍并hook自己写的登录app.这次我们对xposed进行深入的了解并hook系统应用和第三方应用. ...
- Android Hook Activity 的几种姿势
这篇博客已 API 27 的源码为基础分析 前言 在上一篇文章 Android Hook 机制之简单实战 中,我们介绍了 Hook 的要点 Hook 的选择点:静态变量和单例,因为一旦创建对象,它们不 ...
- Android Hook技术
1. 什么是 Hook Hook 英文翻译过来就是「钩子」的意思,那我们在什么时候使用这个「钩子」呢?在 Android 操作系统中系统维护着自己的一套事件分发机制.应用程序,包括应用触发事件和后台逻 ...
- Android Hook 简介
1.Hook基本概述 Hook翻译过来是钩子的意思,我们都知道无论是手机还是电脑运行的时候都依赖系统各种各样的API,当某些API不能满足我们的要求时,我们就得去修改某些api,使之能满足我们的要求. ...
- 手把手教你当微信运动第一名 – 利用Android Hook进行微信运动作弊
蒸米 · 2015/09/06 10:29 0x00 序 随着带协处理器和买手环的人越来越多,微信运动一下子火了,只要你在微信关注微信运动,手机就能自动记录你每天行走的步数,还可以跟朋友圈里的好友PK ...
最新文章
- java中读取properties文件内容五种方式
- python如何调用参数配置文件_python参数设置
- 架构师之路 — 部署架构 — 集群部署
- goodFeaturesToTrack函数
- 异步通信在生活中的例子_聊聊工作中经常遇到的“异步”,你掌握了多少
- 微软水下数据中心“浮出水面”、GitHub代码保存在北极,数据黑科技贮藏方式大曝光!...
- 阶段3 1.Mybatis_07.Mybatis的连接池及事务_6 mybatis中的事务原理和自动提交设置
- 基于机器视觉的苹果大小自动分级方法
- 洛谷 p2387 [noi2014] 膜fa♂森林 lct维护最小生成树
- Filter 过滤器和 Listener 监听器,java面试必问底层
- python 过滤掉字符串中的回车符与换行符(\t\n)
- 09-17 流量分析
- 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于客户时间窗变化的物流配送管理系统设计ro75j
- 互联网小拼,这一生的故事,你要看看吗《打工人的那些事》
- 百度前端学院---耀耀学院---任务1
- 妙赞大讲糖:糖友食谱的三宜
- 蓝桥算法训练之素因子去重
- springMVC+poi导出excel
- linux如何查看wifi信号强弱
- 【Linux驱动】认识驱动(驱动的概念、驱动分类)
热门文章
- IDEA配置xml文件头报错:URI is not registered (Settings | Languages Frameworks | Schemas and DTDs) 亲测有效!!!
- uView JS工具库
- 思科曹图强:勒索软件将打破安全防御平衡
- 学会后不用担心不会剪辑了,手把手教你视频剪辑,不用真人露脸
- 共振峰检测matlab,基于 LPC 系数的共振峰估计
- 家居:在线云设计与图纸转工厂生产数据建模数据
- Vue项目实战:接口错误拦截与环境设置
- 服务器H330阵列卡不建议做Raid5
- 返回html404字符串,post提交数据后,返回的网页错误404怎么回事。
- 如何绘制甘特图?这些软件来帮你