01 2021 档案
摘要:线程本地存储(TLS) 对于多线程应用程序,如果线程过于依赖全局变量和静态局部变量就会产生线程安全问题。也就是一个线程的使用全局变量可能会影响到其他也使用此全局变量的线程,有可能会造成一定的错误,这可以通过线程同步机制解决当然也可以通过线程本地存储解决。线程本地存储意思是每一个线程在使用全局变量的时
阅读全文
摘要:Windows套接字 Windows套接字即socket,通过socket可以实现在不同的进程间通信,甚至这两个进程可以不在同一个计算机中。 Winsock使用步骤 服务端 socket初始化 创建套接字 绑定和监听端口 因为是本地连接,所以监听地址为0.0.0.0。 接着就调用accept()接收
阅读全文
摘要:WM_COPYDATA通讯思路 通过向其他进程的窗口过程发送WM_COPYDATA消息可以实现进程间通讯。 只能通过SendMessage发送WM_COPYDATA消息,而不能通过PostMessage发送WM_COPYDATA消息。因为系统必须管理用以传递数据的缓冲区的生命期,如果使用了PostM
阅读全文
摘要:对象的分类 Windows的对象可以分为三种,分别是用户对象,GDI对象和内核对象。系统使用用户对象支持窗口管理,使用GDI对象支持图形,并使用内核对象支持内存管理,进程执行和进程间通信(IPC) 。Windows通过句柄来标识各个对象资源。 区别 内核对象属于操作系统内核,存在于内核空间中不属于某
阅读全文
摘要:消息队列 windows系统是通过消息驱动的,每移动一下鼠标,点击一下屏幕都会产生一个消息。这些消息会先被放在windows的一个系统消息队列(先进先出)中,windows系统会为每一个GUI线程创建一个线程消息队列,然后系统会从系统消息队列中取出一个消息放到对应的线程消息队列中。之后通过消息循环从
阅读全文
摘要:逆向虚拟机保护 虚拟机保护类的题目需要找到虚拟机的vm_code(字节码),各个handler,然后进一步分析虚拟机保护代码的流程。 用IDA打开程序,经分析后0x403040全局变量地址处存储的就是所有的字节码,共114个。 所有的字节码: 0x0A, 0x00, 0x00, 0x00, 0x04
阅读全文
摘要:配置python的环境变量 我们在我的电脑右击-》属性-》高级系统设置看到环境变量 然后我们点击环境变量,找到系统变量中的Path变量然后双击他新建一项,值为我们安装的python的python.exe所在的绝对路径。 点击确定后重启电脑后环境变量就设置好了,我么在命令行中输入python测试一下发
阅读全文
摘要:虚拟机保护技术 虚拟机保护是一种基于虚拟机的代码保护技术,其将可执行代码转化为字节码(vm_code),并通过自己的指令执行解释系统对这些字节码进行解释并执行专门的子程序(handler)。这个用来解释字节码并执行子程序的系统称为“虚拟机”或“调度器”(可以理解为是一个虚拟的CPU),其类似于JAV
阅读全文
摘要:运算方法和运算器 数据格式:定点数和浮点数 真值:书写的数值。机器值:存储在计算机中的值。 原码反码和补码 无论是正数或负数其移码都是补码符号位取反,整数K的补码还等于2的K次方加上K所得值的二进制形式。 关于正零和负零的问题,原码中有正零和负零之分,原码中的“000...”为正零,“100...”
阅读全文
摘要:操作系统引论 操作系统的主要目标:方便,有效,开放,可扩充。 最重要的两个目标是:方便与有效,有效性能提高资源的利用率和系统的吞吐量。 操作系统(OS)是铺设在计算机硬件上的多层软件的集合 操作系统发展的主要动力:①不断提高计算机资源的利用率 ②方便用户 ③硬件的更新迭代 ④计算机体系结构的不断发展
阅读全文