[TOC] Event事件 用来控制线程的执行 出现 ,就会把这个线程设置为False,就不能执行这个任务; 只要有一个线程出现 ,就会告诉Event对象,把有 的用户全部改为True,剩余的任务就会立马去执行。由一些线程去控制另一些线程,中间通过Event。 进程池与线程池 1. 进程池与线程池是 ...
分类:
编程语言 时间:
2019-10-24 23:10:37
阅读次数:
99
程序启动时,链接器会优先LD_PRELOAD指定的库中的符号。如果fork()创建子进程后,LD_PRELOAD还能生效么? 1. main.c foo.c wfoo.c exec.c 将以上代码编译成执行文件和动态库 执行 ,其输出如下 也就是说fork()后的子进程其函数地址是和父进程一样的。 ...
分类:
系统相关 时间:
2019-09-12 21:19:51
阅读次数:
223
SSDT概述通过08内核编程HOOK_KiFastCall.md可以知道,用户层的函数调用都会进入到0环, 0环将服务函数的地址实现保存在SSDT表中. KiFastCallEntry函数会使用调用号找到函数的参数个数表和函数地址表, 并将用户栈的参数拷贝到内核栈,最后调用了系统服务表中的函数.SS... ...
分类:
其他好文 时间:
2019-08-31 17:33:44
阅读次数:
80
通过PEB的Ldr参数(结构体定义为_PEB_LDR_DATA),遍历当前进程加载的模块信息链表,找到目标模块。 摘自 "PEB LDR DATA" : _PEB_LDR_DATA结构体中的 、`InMemoryOrderMod ...
分类:
其他好文 时间:
2019-08-27 22:48:31
阅读次数:
118
一、我们先看看装饰器的应用基本格式: 外层函数中嵌套了一个内部函数,并把我们需要执行的函数地址,传入到外层函数里,最终返回一个内部函数内存地址(inner)。 应用: @decorator 这个的作用:等价于fu =decorator(fu) #我们把fu重新赋值,返回inner地址给到fu.这时候 ...
分类:
编程语言 时间:
2019-08-27 10:30:38
阅读次数:
82
1,函数指针函数指针,顾名思义就是函数的指针,而指针其实就是地址,那么函数指针就是存储函数的地址,可是实际大部分时间里,我们写程序时是根本不会去考虑函数地址在哪里。我们只需要知道函数原型和函数声明就可以。但是想象一下,我们总是以为函数就应该接收参数,那么函数本身是否可以作为函数的参数呢?我做了下面的 ...
分类:
其他好文 时间:
2019-08-26 11:32:08
阅读次数:
81
IAT在内存中和在文件中的特征? IAT在内存中是一个函数地址数组,在文件是是一个RVA数组 重定位的原理是什么? 重定位地址的计算: addr = 映像基地址+VA+OffSet 重定位地址处的数据: [addr] – 原基地址 + 现基地址 [addr] + (现基地址–原基地址) 重定位在内存 ...
分类:
其他好文 时间:
2019-07-31 22:25:26
阅读次数:
133
讲解之前,了解下什么是虚函数,什么是虚表指针,了解下语法,(也算复习了) 开发知识为了不码字了,找了一篇介绍比较好的,这里我扣过来了,当然也可以看原博客链接: http://blog.csdn.net/hackbuteer1/article/details/7558868 一丶虚函数讲解(复习开发, ...
分类:
编程语言 时间:
2019-07-21 01:26:45
阅读次数:
128
一、vdexpackage 直接转化的 可执行二进制码 文件:1.第一次开机就会生成在/system/app/<packagename>/oat/下;2.在系统运行过程中,虚拟机将其 从 “/system/app” 下copy到 “/data/davilk-cache/” 下 二、odex odex ...
分类:
其他好文 时间:
2019-07-03 14:08:22
阅读次数:
132
虚函数表 对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配 ...
分类:
其他好文 时间:
2019-06-05 23:40:37
阅读次数:
124