2021年4月13日

编译静态库

摘要: 静态库libTest1 定义了函数myprint1 声明和实现, 最后dumpbin可以看到函数 静态库libTest2定义了函数myprint2 声明和实现,内部使用了myprint1 最后dumpbin可以看到函数myprint2 注意,此时libTest2 不管有没有链接libTest1,也就 阅读全文

posted @ 2021-04-13 11:47 kekoukele987 阅读(66) 评论(0) 推荐(0) 编辑

2017年9月18日

FormatMessage函数

摘要: 我们写程序,调试出错时用的一个重要函数是 GetLastError(),它会返回一个非负数字给我们,在VS的工具--错误查找里面看相应的描述。 今天看《Windows核心编程》时,发现一个FormatMessage函数,能够自动将错误代码转换成汉语或英语描述,所以参考书上的例子,自己实现了一下。 也 阅读全文

posted @ 2017-09-18 15:50 kekoukele987 阅读(1601) 评论(0) 推荐(0) 编辑

2017年9月17日

CreateProcess中的部分参数理解

摘要: 函数原型,这里写Unicode版本 WINBASEAPIBOOLWINAPICreateProcessW( _In_opt_ LPCWSTR lpApplicationName, //可执行文件名字 _Inout_opt_ LPWSTR lpCommandLine, //命令行字符串 _In_opt 阅读全文

posted @ 2017-09-17 21:48 kekoukele987 阅读(2270) 评论(0) 推荐(0) 编辑

2017年9月12日

关于远程线程的调用

摘要: CreateRemoteThread 这个函数可以用于远程注入,无DLL的注入,是一个功能非常强大的函数,下面是它的原型: 参数都比较好理解,但是用法却有一些难度,下面通过一个代码分析: 做一个简单动态库: 里面在进程加载和卸载的时候分别弹框。 然后写调用程序: 在主函数中分别调用了一下。win10 阅读全文

posted @ 2017-09-12 00:21 kekoukele987 阅读(639) 评论(0) 推荐(0) 编辑

2017年9月11日

利用服务枚举进程

摘要: 枚举进程的方法有许多,简单说一下它们的优缺点。 1.利用CreateToolhelp32Snapshot来枚举,这是最常用,也最简单的方法了,不用多说。 2.利用ZwQuerySystemInformation从ntdll.dll中获取,需要定义结构体SYSTEM_PROCESS_INFORMATI 阅读全文

posted @ 2017-09-11 00:13 kekoukele987 阅读(1179) 评论(0) 推荐(1) 编辑

2017年9月8日

FindQQByProcess

摘要: 看网上有许多通过进程寻找QQ号的例子,看了一下,里面涉及的知识点还是比较多,但网上的兼容性不太好,而且没有给出匹配字符的来源,所以自己动手写了一下,顺便给出一些我调试的结果。 代码虽然比较简单,但是其中还是有一些需要注意的地方。 首先,为了方便从内存中粘出来内存数据,我都是用ASCII的单字符,而不 阅读全文

posted @ 2017-09-08 02:17 kekoukele987 阅读(324) 评论(0) 推荐(0) 编辑

2017年9月6日

寻找kernel32.dll的地址

摘要: 为了寻找kernel32.dll的地址,可以直接输出,也可以通过TEB,PEB等查找。 寻找TEB: dt _TEB nt!_TEB +0x000 NtTib : _NT_TIB +0x01c EnvironmentPointer : Ptr32 Void +0x020 ClientId : _CL 阅读全文

posted @ 2017-09-06 15:20 kekoukele987 阅读(603) 评论(0) 推荐(0) 编辑

2017年8月31日

ShellCode的几种调用方法

摘要: ShellCode是一种漏洞代码,中文名也叫填充数据,一般是用C语言或者汇编编写。在研究的过程中,自己也学到了一些东西,发现其中也有许多坑,所以贴出来,如果大家有碰到的,可以参考一下。 以启动电脑上的计算器为例,编写ShellCode其实就是两部分,一是获取ShellCode字节码,二是调用它。 获 阅读全文

posted @ 2017-08-31 00:54 kekoukele987 阅读(4947) 评论(0) 推荐(0) 编辑

2017年8月28日

操作系统版本

摘要: 获取操作系统版本,其实是一件很简单的事,我们只需知道常用的win7,win8,win10等等的一些信息,再从SYSTEM_INFO结构体中匹配就可以了。但要想获得完整的,各个版本兼容适用的,还是得花时间查找资料来完成。如果已经花时间查过了,最好记录下来,下次就可以少花时间。 // WindowsOS 阅读全文

posted @ 2017-08-28 00:29 kekoukele987 阅读(208) 评论(0) 推荐(0) 编辑

2017年8月25日

线程的堆栈

摘要: 每当创建一个线程的时候,系统会为线程的堆栈保留一个栈区的空间区域,并将一些物理存储器提交给这个已保留的区域,我查看了VS2015,该默认设置大小是1MB。 它可以自己设置,在 项目-->属性-->链接器-->系统 >堆栈保留大小 这个地方填写自己希望的栈大小。 // 堆保留大小 1M 堆提交大小 4 阅读全文

posted @ 2017-08-25 16:03 kekoukele987 阅读(1925) 评论(0) 推荐(0) 编辑

导航