x32汇编之Windows编程
Kiopler
这个作者很懒,什么都没留下…
展开
-
nmake.exe使用整理
具体可以参考罗云彬先生的《Windows环境下32位汇编语言程序设计》 我现在编译汇编程序的主要工具有两个。 一个是RadASM,这是一个集成的IDE使用起来非常的方便,资源编辑器,调试器等全都帮你配置好了,也许要设置一下执行的环境变量但基本使用是没什么问题。 还有一个是MASM32 SDK软件包(下载:http://masm32.com/)。但是有一个点很麻烦,就是汇编...原创 2018-04-19 22:36:29 · 10136 阅读 · 2 评论 -
关于_argc,_argv汇编代码以及宏汇编的解析
罗云彬老师的<Windows环境下32位汇编语言程序设计>书中十三章再讲Console下exe程序输入参数的问题引入了两个过程_argc和_argv,书中并没有给出详细解释,在这里总结了下。这两个过程产生的原因是应为汇编不像C语言调用SDK在EP函数就自动帮助传入参数,大家都知道:int APIENTRY main(HINSTANCE hInstance, ...原创 2018-10-24 15:36:46 · 2443 阅读 · 0 评论 -
关于GetModuleFileName和GetCurrentDirectory的异同
转载: https://blog.csdn.net/scuthanman/article/details/100947931.函数原型:DWORD GetModuleFileName(HMODULE hModule,LPTSTR lpFilename,DWORD nSize);函数参数说明:hModule HMODULE 装载一个程序实例的句柄。如果该参数为NULL,该函数返回该...转载 2018-12-02 16:29:51 · 496 阅读 · 0 评论 -
下午写的一个小工具
我做成了Dll以便随时拓展,代码贴出来,软件和库打包放上界面如图:无聊的抱怨:本来今天下午有考试的,但是我实在不想浪费时间去背那些玩意儿,所以根本没去考,写了这个东西,纯Intel汇编代码SDK编的。功能:1.改变当前进程的环境变量2.在当前进程的环境变量下创建一个线程并且用线程来打开另外一个进程,子进程拥有父进程的环境变量。3.创建任意子线程以及执行任意指令...原创 2018-12-04 21:07:04 · 249 阅读 · 0 评论 -
关于tchar.h
因为VS里的很多字符编码都是采用unicode来编码的,为了兼容字符集。微软开发了tchar包,tchar 在unicode下是wchar(双字符),而普通是char。 因为C++支持两种字符串,即常规的ANSI编码和Unicode编码,这样对应的就有了两套字符串字符串处理函数,比如:strlen和wcslen,分别用于处理两种字符串 。微软将这两套字符集及其操作进行了统一,通过条件编译(通过_U...转载 2018-12-02 22:42:46 · 4264 阅读 · 0 评论 -
X86下远程线程注入的两种形式-------Dll注入 && 内存注入
首先开始之前先申明一下代码只在X86环境下运行。博主使用的是VM虚拟机,操作系统是Windows XP Profession,具体信息可以写一个程序来获取: .386 .model flat, stdcall option casemap:noneinclude windows.incinclude kernel32.incincludelib kernel32.lib...原创 2018-12-07 19:57:27 · 1750 阅读 · 2 评论 -
win32下汇编的一个小技巧
再调用一些Win32 API函数的时候,填入形参时有时候需要填一个指向DWORD的指针类型的数据,这时候可能不得不要分配一个局部变量或者全局变量来存储它,这个值如果很重要那还好,如果这个值不是很重要的话,那就浪费掉了,举个例子:HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T ...原创 2018-12-08 12:42:48 · 258 阅读 · 0 评论 -
关于SetPolyFillMode中ALTERNATE与WINDING问题
ALTERNATE: 假象从上至下水平扫描线扫过整个图形,当扫描线从左往右碰到图形的第一条边时,该边记0。由于图形都是有入边和出边的,如果出边为奇数便填充该图形。如上图形会被填充,因为出边为奇数。接下来看复杂一点的图形:记得: 扫描线第一次碰到的边要标0先看1号扫描线,把其穿过的那块三角形看成一个单独的图形,其出边为1即奇数,所以填充。再看2号扫描线,同样2号扫...原创 2019-01-06 09:12:52 · 768 阅读 · 0 评论 -
线程局部存储
0x00 简介线程局部存储主要用于多线程编程,用于弥补静态或全局变量的缺陷,减少线程同步所带来的开销。线程局部存储作用简单来讲就是一个变量在不同的线程中能够有不同的数值。实质上它就像在每个线程中开辟了局部变量一样,但是又有很大不同。注意线程局部存储是无法跨越线程的。这种实现是基于两种重要的数据结构。在Windows操作系统下,伴随着进程的生成还会有一个进程环境块(PEB)结构,同样伴随着每...原创 2019-07-14 21:06:35 · 588 阅读 · 0 评论