程序备忘
文章平均质量分 60
classfree
这个作者很懒,什么都没留下…
展开
-
centos8.0 安装nodejs和mysql环境
第一步,更新yum:yum update第二步,安装nodejsyum module list nodejs安装默认的版本sudo yum -y install nodejs安装完成后可以查看版本:node -vnpm -v第三步,安装pm2npm install pm2 -gpm2常用命令:#启动任务pm2 start main.js --name maokai#查看所有任务pm2 list#停止指定id的任务pm2 de.原创 2020-11-14 19:16:10 · 878 阅读 · 0 评论 -
用 Thunk 实现 COM 的挂钩
COM 的挂钩其实已经是一个很古老的话题了,其核心技术就是替换 COM 对象虚表中相应位置的函数指针,从而达到挂钩的效果。顺便说一句,这个方法和内核的 SSDT 挂钩是十分类似的。其相应的实现代码也十分简单,如下所示:typedef struct _tagHookHelper { PVOID* vptr; } HOOKHELPER, *PHOOKHELPER;转载 2009-11-01 18:21:00 · 534 阅读 · 0 评论 -
和路径相关的API
需要头文件:shlwapi.hBOOL PathFileExists(LPCTSTR lpszPath)功能:检查文件/路径是否存在LPTSTR PathFindFileName(LPCTSTR pPath)功能:获得路径中的文件名例如: PathFileFileName( “c://Program Files//File.txt” ) = “File.txt”。如果路径中不包含文件名,则返回原创 2009-09-26 01:14:00 · 754 阅读 · 0 评论 -
API HOOK框架
采用微软的 detours1.5 为内核, detours.h和detours.lib自己到网上下。代码如下: MsHookApi.h/****************************************************************************API HOOK 采用微软的Detours1.5为内核使用方法:参照例子,首先使原创 2009-02-08 19:04:00 · 1217 阅读 · 2 评论 -
非同步HASH结构的简单实现
根据不同的key用hash函数计算出在数组中的位置,数组中保存的是一个链表结构的结构,不同key在hash值相同的情况下,可以用链表来控制在内存中的位置。 hashtable.h文件:/******************************************FILE:hashtable.h*DATE:2008/01/06*转载 2008-10-22 11:51:00 · 736 阅读 · 1 评论 -
利用WMI获取和更新网络设置(VBS脚本)
On Error Resume NextSet objWMIService = GetObject("winmgmts://./root/cimv2")Set colNetAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")For Eac原创 2005-06-20 11:14:00 · 1788 阅读 · 0 评论 -
一种全新的软件界面设计方法 (一)
一种全新的软件界面设计方法撰文:Aweay下载本文实例代码(代码已更新2004.12.10)关键字:COM MySpy IE SetUIHanlder IcustomDoc IDocHostUIHandler GetExternal 前言作者在解决各种问题的时候喜欢首先使用C++ Builder来尝试,这篇文章也是这样,但这并不影响其他开发工具的使用者阅读,因为这都是微软的转载 2005-10-07 08:48:00 · 1484 阅读 · 0 评论 -
模拟WSockExpert,拦截API来截获封包
转载自 zwell 的专栏:不知道大家用过WSockExpert没有, 它可以用来截获指定进程网络数据的传输.前面我还以为它是通过实时远程注入DLL来更改IAT. 不过后来发现在程序一运行时,它就已经将DLL插入所有进程了,这个跟冰哥写的那个模拟SOCKCAP的程序很相似.似乎是将DLL注入所有进程, 不过再想一下, 如果是这样的话,那么后来启动的程序应该不会被注入DLL(除非用定时^_^,这转载 2005-09-14 10:55:00 · 2695 阅读 · 0 评论 -
SPI拦截网络封包(DLL篇)
#include #include #include #pragma comment(lib, "ws2_32.lib")//// 用来保存系统服务提供者路径信息的自定义注册表键值//#define REG_INSTALL_KEY "SYSTEM//CurrentControlSet//Services//WinSock2//MySPI"//// 全局变量,用来保存系统服务提供者30个服务函数指针原创 2005-03-13 08:39:00 · 3446 阅读 · 0 评论 -
通过CreateProcess插入DLL的方法 (DLL篇)
#include #include #include #pragma comment(lib, "ImageHlp.lib")#pragma pack (push ,1) //以下结构字节对齐typedef struct{ BYTE int_PUSHAD; BYTE int_PUSH; DWORD push_Value; BYTE int_MOVEAX; DWORD eax_Value;原创 2005-03-13 08:25:00 · 2027 阅读 · 0 评论 -
CreateProcess插入DLL的方法 (EXE篇)
#include #include #pragma comment(lib, "ImageHlp.lib")#pragma pack (push ,1)typedef struct{ BYTE int_PUSHAD; BYTE int_PUSH; DWORD push_Value; BYTE int_MOVEAX; DWORD eax_Value; WORD call_eax; BYTE jmp_原创 2005-03-13 08:29:00 · 1780 阅读 · 0 评论 -
拦截API(修改函数地址方法)
#include #include #include #include #include #pragma comment(lib, "ImageHlp.lib")#define HookExceptionNo 5BOOL Init();BOOL SysVer = true;HMODULE g_hModule;DWORD dwIdOld, dwIdNew;//####################原创 2005-03-13 08:11:00 · 1932 阅读 · 0 评论 -
SPI拦截网络封包(EXE安装篇)
//以下是安装类/*InsPkgCls.h*/#include #include #include #define MY_DLL_NAME _T("spidll.dll")#define MY_DLL_PATH _T("//spidll.dll")#define MY_VAR_PATH _T("//myvar.dat")#define REG_INSTALL_KEY _T("SYSTEM//原创 2005-03-13 08:44:00 · 2288 阅读 · 0 评论