![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
软件安全
红色代码
Debug The World
展开
-
fwknop端口敲门命令行
fwknop-client.exe -A tcp/22 -a 192.168.9.123 -D 192.168.9.188 --use-hmac -p 62201 --key-base64-rijndael ErXWXpDc4odR+pDfomtEpk1uJPO2Gl6t+1ku3xJTSTc= --key-base64-hmac ErXWXpDc4odR+pDfomtEpk1uJPO2Gl6t+1ku3xJTSTdPJy3hZM4MLBusOfP5etzxjzRUXYOu+mXF4swaYjuVpw==.原创 2022-04-12 11:43:38 · 371 阅读 · 0 评论 -
TCP校验和
unsigned short checksum(unsigned short* buffer, int size){ unsigned int sum = 0; for (sum = 0; size > 0;) { sum += *buffer++; size -= 2; } sum = (sum >> 16) + (sum & 0xFFFF); sum += (sum >> 16); return (unsigned short)(~su.原创 2022-03-20 22:29:35 · 3004 阅读 · 0 评论 -
DPC
DeferredProcecure Call,延迟过程调用。是一种执行在任意线程上下文的DISPATCH_LEVEL层的可执行例程。硬件中断使用他们处理来自设备的中断。硬件驱动这样做是因为ISR通常运行在更高IRQLs(高于DISPATCH_LEVEL),如果他们花费太长时间,可能会降低系统的整体性能。因此,ISR典型的队列一个DPC并且马上返回,所以系统可以处理其它的中断请求。软驱动能使用DPC翻译 2017-06-15 01:06:41 · 1068 阅读 · 0 评论 -
windbg双机远程调试
1. 拷贝要调试的可执行文件和对应的PDB符号到虚拟机。 2. 在虚拟机中启动服务端,有2种方式。`windbg.exe -server tcp:port=8888 C:\Test.exe` 这种方式可以调试main函数和程序的启动过程。 `windbg.exe -server tcp:port=8888 -p 10086` 这种方式相当于附加到PID为10086的进程上去。 3. 在原创 2017-06-01 03:52:45 · 914 阅读 · 0 评论 -
Windbg 内核态调试用户态程序
使用!process 0 0 进程名或ID得到EPROCESS使用.process /p + EPROCESS切换到应用程序的地址空间重新加载user PDB文件:.reload /f /user使用非侵入式的切换进程空间:.process /i /p EPROCESS下应用层断点,执行原创 2017-05-30 13:51:36 · 1572 阅读 · 0 评论 -
ProcessHacker实现原理(一)
枚举进程:调用NtQuerySystemInformation函数,第一个参数为SystemProcessInformation(枚举值 = 5),第二个参数返回类型SYSTEM_PROCESS_INFORMATION。原型如下:typedef struct _SYSTEM_PROCESS_INFORMATION{ ULONG NextEntryOffset; ULON原创 2017-01-09 23:47:04 · 4470 阅读 · 0 评论 -
新版XP下Hook SSDT隐藏进程
// 网上的代码里,很多函数都是很早之前的,像什么MmCreateMdl,MmMapLockedPages啊,现在早已被废弃。所以想自己写个。蓝了几十次,OMG// 隐藏名称为Demo.exe的进程#ifdef __cplusplusextern "C"{#endif#include #pragma pack(1)typedef struct ServiceDescript原创 2013-12-01 21:54:14 · 1580 阅读 · 0 评论 -
SSDT索引号的获取
SSDT索引号的获取系统服务描述符表,System Service Dispatch Table,SSDTKeServiceDescriptorTable是由内核导出的表。该表拥有一个指针(其实仅有ntoskrnel一项,没有包含win32k),指向SSDT中包含由Ntoskrnl.exe实现的核心系统服务的相应部分,它是内核的主要组成部分。typedef struct _Syst转载 2013-11-30 23:31:58 · 2109 阅读 · 1 评论 -
利用DbgHelp获取导出函数信息
#include "stdafx.h"#include #include #include #pragma comment(lib,"DbgHelp.lib")BOOL CALLBACK CallBackProc( PSYMBOL_INFO pSymInfo, ULONG SymbolSize, PVOID UserContext ){ printf( "函数名: %s\r\n地址原创 2013-08-14 16:34:10 · 1791 阅读 · 0 评论 -
服务进程创建一个带窗口的进程,过UAC
主要代码如下:DWORD FindSessionPid(LPSTR lpProcessName, DWORD dwSessionId){DWORD res = 0;PROCESSENTRY32 procEntry;HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);if (hSnap == INVALID_H转载 2013-08-26 01:08:47 · 4637 阅读 · 1 评论 -
Windbg的各种符号服务器
通常使用windbg都是用M$的符号,但是如果你去搞别的东西,比如调试firefox,符号何来?给大家提供一些常见符号服务器的地址Microsoft – http://msdl.microsoft.com/download/symbolsFirefox – http://symbols.mozilla.org/firefoxChrome – http://chromi转载 2013-08-12 11:03:54 · 1021 阅读 · 0 评论 -
基址重定位
// BRL.cpp : 输出基址重定位信息//#include "stdafx.h"#include DWORD RVA2Offset( PIMAGE_NT_HEADERS pNTHeader, DWORD dwRVA ){ PIMAGE_SECTION_HEADER pSection = ( PIMAGE_SECTION_HEADER )( ( DWORD )pNTHe转载 2013-08-19 11:52:29 · 1270 阅读 · 0 评论 -
城里城外看SSDT
将小马哥的文章弄在这里做个备份引子2006年,中国互联网上的斗争硝烟弥漫。这时的战场上,先前颇为流行的窗口挂钩、API挂钩、进程注入等技术已然成为昨日黄花,大有逐渐淡出之势;取而代之的,则是更狠毒、更为赤裸裸的词汇:驱动、隐藏进程、Rootkit……前不久,我不经意翻出自己2005年9月写下的一篇文章《DLL的远程注入技术》,在下面看到了一位名叫L4bm0s的网友说这种技术已经过时转载 2013-08-18 20:19:25 · 766 阅读 · 0 评论 -
进程静音,暂停,加速的实现
工作需要实现上述3个功能,一开始想到的是直接把进程挂起,结果发现进程挂起之后,消息循环也挂掉了.所以此路不通.遂逆了下某游戏盒子的某个dll,发现秘密如下:静音:xp下Hook几个系统函数:midiStreamOut,waveOutWrite,网上说DirectSoundCreate也得Hook,经测试发现不Hook此函数也可实现xp下的静音.Win7下的静音用IMMDeviceEnumera原创 2013-06-03 15:33:50 · 3937 阅读 · 9 评论 -
SSL工作流程,握手过程
http://xiaomics.blogbus.com/logs/28201452.htmlSSL协议的工作流程: 服务器认证阶段:1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;2)服务器根据客户的信息确定是否需要生成新的主密钥,如 需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;3)客户根据收到的服务器响应信息转载 2012-10-12 11:44:33 · 1072 阅读 · 0 评论 -
使用SSL协议保证web服务通信安全
Apache服务器与客户端的通信是明文方式,很多通过HTTP协议传送数据的应用将受到黑客的威胁,信息的安全性难以得到保障。因此,本文就将对SSL协议进行深入剖析,并介绍如何使用SSL技术保护Apache服务器通信。1 SSL简介通常的连接方式中,通信是以非加密的形式在网络上传播的,这就有可能被非法窃听到,尤其是用于认证的口令信息。为了避免这个安全漏洞,就必须对传输过程进行加密。对转载 2012-10-12 10:32:14 · 6489 阅读 · 0 评论 -
无DLL远线程插入代码
BOOL CConcreteWGProduct::CreateRemoteThread(DWORD dwPID,LPTHREAD_START_ROUTINE pThreadFun,LPVOID pThreadParam,DWORD dwParamSize){ HANDLE原创 2011-07-20 01:44:19 · 1058 阅读 · 0 评论