Win32 汇编学习 (3):简单的窗口

这次我们将写一个 Windows 程序,它会在桌面显示一个标准的窗口,以此根据代码来学习如何创建一个简单的窗口。理论:Windows 程序中,在写图形用户界面时需要调用大量的标准 WindowsGui 函数。其实这对用户和程序员来说都有好处,对于用户,面对的是同一套标准的窗口,对这些窗口的操作都是一样的,所以使用不同的应用程序时无须重新学习操作。对程序员来说,这些 Gui 源代码都是经过了微软的严格测试,随时拿来

怎样建立你自己的 MASM 导入库

byIczelion(翻译:花心萝卜 yqzq@163.net)9.5.2000 这篇短文是讲述关于建立 MASM 导入库(importlibraries)技巧,我假设你已经知道什么是导入库。在下面,我将集中讲述建立 MASM 导入库的方法。MASM 导入库的格式:MASM 和 VC++ 可以使用相同的导入库,MS 导入库使用不同于 TASM 的 OMF 格式的变更的 COFF 文件格式,这就是为什么 TASM 和 MASM 的导入库不能互

win32 汇编学习 (2):消息框

这一次,我们将用汇编语言写一个 Windows 程序,程序运行时将弹出一个消息框并显示 "你好,我的第一个 Win32 汇编程序"。理论知识 Windows 为编写应用程序提供了大量的资源。其中最重要的是 WindowsAPI(ApplicationProgrammingInterface)。WindowsAPI 是一大组功能强大的函数,它们本身驻扎在 Windows 中供人们随时调用。这些函数的大部分被包含在几个动态链

Win32 汇编学习 (1):基本概念

背景知识 Windows 把每一个 Win32 应用程序放到分开的虚拟地址空间中去运行,也就是说每一个应用程序都拥有其相互独立的 4GB 地址空间,当然这倒不是说它们都拥有 4GB 的物理地址空间,而只是说能够在 4GB 的范围内寻址。操作系统将会在应用程序运行时完成 4GB 的虚拟地址和物理内存地址间的转换。这就要求编写应用程序时必须格守 Windows 的规范,否则极易引起内存的保护模式错误。而过去的 Win16 内存模式下,

Windows 进程的内核对象句柄表

当一个进程被初始化时, 系统要为它分配一个句柄表。该句柄表只用于内核对象, 不用于用户对象或 GDI 对象。创建内核对象当进程初次被初始化时,它的句柄表是空的。然后,当进程中的线程调用创建内核对象的函数时,比如 CreateFileMapping,内核就为该对象分配一个内存块,并对它初始化。这时,内核对进程的句柄表进行扫描,找出一个空项。由于表 3-1 中的句柄表是空的,内核便找到索引 1 位置上的结构并对它进行初始

Python SSH 爆破以及 Python3 线程池控制线程数

源自一个朋友的要求,他的要求是只爆破一个 ip,结果出来后就停止,如果是爆破多个,完全没必要停止,等他跑完就好 #!usr/bin/envpython#!coding=utf-8__author__='Akkuman''''SSH 爆破,由于多线程的问题,我不知道怎么做可以出现结果马上停止(会查的,有更好的方法再改)现在我的方法是定义了一个全局的信号 finish_flag,然后每个线程检查这个信号线程池用

CodeTyphon 跨平台交叉编译的配置

CodeTyphon 和 Lazarus 的关系相当于就是 ubuntu 和 linux 的关系不过 CodeTyphon 提供了很多一键配置即可使用的交叉编译配置,而 Lazarus 就比较麻烦了,我也没用 Lazarus 交叉编译过首先假设我们交叉编译是在 windows 编译出 linux 可执行程序,那么我们需要做的事情大致上分为以下几步:下载跨平台交叉工具链 (DownloadCrossToolchains) 框选出来的两个都