dword

获取进程及父进程的两种方式(转)

旧城冷巷雨未停 提交于 2019-11-26 12:45:29
https://www.cnblogs.com/jkcx/p/7463506.html #include <windows.h> #include <TlHelp32.h> #include <stdio.h> #include <wtypes.h> #include <iostream> #define ProcessBasicInformation 0 typedef struct { DWORD ExitStatus; DWORD PebBaseAddress; DWORD AffinityMask; DWORD BasePriority; ULONG UniqueProcessId; ULONG InheritedFromUniqueProcessId; } PROCESS_BASIC_INFORMATION; // ntdll!NtQueryInformationProcess (NT specific!) // // The function copies the process information of the // specified type into a buffer // // NTSYSAPI // NTSTATUS // NTAPI // NtQueryInformationProcess( // IN HANDLE ProcessHandle, //

What does `dword ptr` mean?

拈花ヽ惹草 提交于 2019-11-26 11:55:04
问题 Could someone explain what this means? (Intel Syntax, x86, Windows) and dword ptr [ebp-4], 0 回答1: The dword ptr part is called a size directive. This page explains them, but it wasn't possible to direct-link to the correct section. Basically, it means "the size of the target operand is 32 bits", so this will bitwise-AND the 32-bit value at the address computed by taking the contents of the ebp register and subtracting four with 0. 回答2: Consider the figure enclosed in this other question. ebp

绕过主动防御的代码注入方法思考

跟風遠走 提交于 2019-11-26 11:26:15
免杀 Windows Access thread 目前大多数的杀软都是hook NtWriteVirtualMemory和NtUserSetWindowsHookAW、NtUserSetWindowsHookE来防止代码注入。 关于代码注入Ring3层的方法主要有: l 远程线程CreateRemoteThread l 消息钩子SetWindowsHookEx l Ring3 APC QueueUserApc l 修改线程上下文SetContextThread 其中第一种和第三种方法需要传入一个param,但是要求这个param必须在目标进程内存空间,之前的一些方法比较笨重,直接在目标进程VirtualAllocEx内存,然后把希望的参数内容写入这个内存,使用了WriteProcessMemory函数,而这个函数是被hook的,所以杀软可以很容易的拦截代码注入行为。 仔细想想,杀软的这种防御是很失败的!原因是为了要一个param,攻击者完全没有必要做这么大的动作去目标进程内存空间申请内存并写内存,我在思考是否可以不用WriteProcessMemory函数呢?反正我的目的就是得到一个合理的param,并且这个param是在目标进程内存空间即可! 思考后,原来一切是这么容易啊,哈哈!乐了我半天~~~ 举个例子:假设我是这样注入的: QueueUserAPC((PAPCFUNC

win7通过wsus升级到win10总结

我是研究僧i 提交于 2019-11-26 04:02:10
在wsus服务器,打开IIS,选择“wsus”服务,点击 mime type,修改或者添加".esd" Filename extension: .esd Mime type: application/octet-stream windows server 2016 wsus IIS mime type: .esd的内容是“application/vnd.ms-cab-compressed”需要修改,否则会提示找不到资源 需要升级的客户端导入注册表,也可以使用GPMC下发组策略导入 对于win7 客户端,需要允许OSupdate,注册表如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade] "Refresh"=dword:00000001 "AllowOSUpgrade"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\OSUpgrade\State] "OSUpgradeState"=dword:00000001

c/c++ console(控制台)编程详解

你。 提交于 2019-11-26 01:25:39
c/c++ console(控制台)编程详解 原文地址: https://www.cnblogs.com/flowingwind/p/8159035.html 前言: 控制台文本窗口的控制是基于win32 api(win32 api可理解为微软给我们提供的一系列函数的集合)实现的; 例1: #include <stdio.h>int main() { printf("Hello World!\n"); return 0; } 运行结果: 例1中,我们用printf()函数实现在控制台输出了hello world!然而当我们想要将之前输出的内容清除时,在stdio.h中的函数并不能满足我们的需求;这时我们就要借助于win32 api函数 例2: #include <stdio.h> #include <windows.h> int main() { printf("Hello World!\n"); Sleep(1000); system("cls"); return 0; } 运行结果: 例2中,用到windows.h中的Sleep();system();函数,Sleep(1000)函数功能为延时1s后程序向下运行,system(“cls”)清除内容,所以在例2中,程序运行显示hello world!一秒后就清除 用于控制台窗口操作的API函数如下:

WindowsAPI----AttachThreadInput使用

生来就可爱ヽ(ⅴ<●) 提交于 2019-11-25 20:42:48
AttachThreadInput函数说明如下: WINUSERAPI BOOL WINAPI AttachThreadInput ( __in DWORD idAttach , __in DWORD idAttachTo , __in BOOL fAttach ) ; 简单来说,就是让两个线程,拥有共同的焦点,可以进行处理输入等信息 简要的来说就是如此,接下来是简单的使用: 首先创建一个win32的项目,并且添加一个按钮 添加按钮的代码如下: //创建按钮 CreateWindow ( L "Button" , L "测试按钮" , WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON , 35 , 10 , 120 , 60 , hWnd , ( HMENU ) IDB_FRONTBUTTON , hInst , NULL ) ; 然后按钮点击事件中逻辑处理的代码如下: HWND QQ_HWND = FindWindow ( NULL , L "本周.txt - 记事本" ) ; DWORD cur_threadid = GetWindowThreadProcessId ( QQ_HWND , NULL ) ; DWORD iss = GetCurrentThreadId ( ) ; DWORD ForegroundThreadID =