一、线程与进程的区别 线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间。当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其他线程共享进程所拥有的全部资源,但是起本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器,一组寄存器和 ...
分类:
编程语言 时间:
2017-07-04 00:59:56
阅读次数:
357
线程 ● 进程启动 ○ 进程内核对象 进程空间 ○ 线程 ● 可以通过IDE设置入口函数 ● 自己创建线程 ○ 创建线程函数 CreateThread() ○ 新建线程内核对象(结构体) ● 线程 ○ 分配一块内存空间,作为当前线程的堆栈 ○ 两条在同一进程内线程,都是隔离的 ○ 线程他们是封闭的, ...
分类:
编程语言 时间:
2017-06-13 21:50:55
阅读次数:
228
COW技术初窥: 在Linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制“技术,也就是只有进程空间的各段的内容要发生变化时,才会将父进程的内容复制一份给子进程。 那么子进程的物理空间没有代码,怎么去取指令执行 ...
分类:
系统相关 时间:
2017-06-01 15:14:48
阅读次数:
276
一个简单的样例让我们初步地了解JNI的作用,可是关于JNI中的一些概念还是须要了解清楚,才可以更好的去利用它来实现我们想要做的事情。 那么C++和Java之间的是怎样通过JNI来进行互相调用的呢? 我们知道。在Android中,当Java文件被编译成dex文件之后,会由类载入器载入到Dalvik V ...
分类:
移动开发 时间:
2017-05-26 13:11:31
阅读次数:
144
这里能够简单的改动随意函数的返回地址。能够做到自己定义EIP的指向,就可以运行当前进程空间的随意指令,这里仅仅是让大家更清楚栈帧结构,没有涉及跨进程的inline HOOK 等,后面会陆续讲下读取随意进程内存。改动随意进程函数运行流程等方法。 废话不多说了,直接上菜: #include <stdio ...
分类:
其他好文 时间:
2017-05-21 09:51:35
阅读次数:
182
init进程是Android系统中用户空间的第一个进程,它被赋予了很多极其重要的工作职责,init进程相关源码位于system/core/init,本篇博客我们就一起来学习init进程(基于Andro...
分类:
移动开发 时间:
2017-04-30 19:24:56
阅读次数:
282
进程1、 进程与线程的区别:?调度的基本单位 ?是否可见 ?资源占有量,共享堆区 ?并发性 ?进程空间 ?通信 ?切换2、 操作系统的特点?并发 ?共享 ?异步 ?虚拟3、 线程:?线程ID ?寄存器组 ?线程的栈stack ?共享堆区heap 4、 通信方式:?消息队列 ?共享内存 ?socket... ...
分类:
其他好文 时间:
2017-04-18 09:21:32
阅读次数:
225
转自:http://www.cppblog.com/amazon/archive/2009/09/04/95318.html 两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library ...
分类:
其他好文 时间:
2017-04-12 12:36:11
阅读次数:
186
远线程注入原理是利用Windows 系统中CreateRemoteThread()这个API,其中第4个参数是准备运行的线程,我们可以将LoadLibrary()填入其中,这样就可以执行远程进程中的LoadLibrary()函数,进而将我们自己准备的DLL加载到远程进程空间中执行。 函数原型: 注入 ...
分类:
编程语言 时间:
2017-03-09 23:02:22
阅读次数:
301
http://www.cnblogs.com/fxplove/articles/2574451.html 数调用另一个词语表示叫作 过程。一个过程调用包括将数据和控制从代码的一部分传递到另一部分。另外,它还必须在进入时为过程的局部变量分配空间,并在推出时释放这些空间。而数据传递,局部变量的分配和释放 ...
分类:
其他好文 时间:
2017-02-27 21:11:50
阅读次数:
451