
R3
文章平均质量分 76
zhuhuibeishadiao
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
DLL注入相关
先说说DLL引用的方法:如果有lib+dll+头文件 则:建工程的时候选择导出符号#pragma comment(lib, “libname.lib”)#include “libname.h”func();只有DLL文件 LoadLibrary GetProcAddress 因为在C++中有函数重整,(函数名会被自动改变),我们需要在DLL中,在函数前加上e原创 2016-04-16 18:25:21 · 1425 阅读 · 0 评论 -
判断当前启动模式是EFI还是BIOS
思路来自国外一个EFI引导制作工具使用NtQuerySystemInformation 功能号为90 SystemLoadImage | 0x40 返回的结构体未知 有知道的朋友可以告诉下我我通过逆向那个工具得到一个结构体typedef struct{int v1;int v2;int v3;int v4;int v67;DWORD nSize;原创 2016-08-17 00:25:10 · 4908 阅读 · 2 评论 -
CProperySheet使用
自己在做一个项目 需要使用到CProperySheet 记得当初写框架的时候用过CProperySheet现在都忘光了刚好在弄界面美化 就复习复习了第一步添加一个CPropertySheet变量建议重写CPropertySheetCMyPropertySheet m_sheet;第二步 创建新的对话框资源 对话框资源的基类为CPropertyPage原创 2016-05-07 00:36:14 · 1786 阅读 · 0 评论 -
MFC控件自适应窗口大小类
AutoAdapt.h#pragma onceclass CAutoAdapt{public: CAutoAdapt(void); virtual ~CAutoAdapt(void);public: void ReSize(HWND m_hWnd); void InitSize(HWND m_hWnd); POINT old; private: };原创 2016-05-06 20:52:31 · 2407 阅读 · 0 评论 -
[持续更新]过SOD检测OD方法
使用异常Closehandle如果给CloseHandle()函数一个无效句柄作为输入参数,在无调试器时,将会返回一个错误代码,而有调试器存在时,将会触发一个EXCEPTION_INVALID_HANDLE (0xc0000008)的异常。bool getdebebugbyCloseHandle()//返回true说明有OD{ __try { CloseHandle(原创 2016-05-30 15:04:20 · 6991 阅读 · 1 评论 -
没有窗口怎么使用定时器
使用timeSetEvent#include #include #include #pragma comment(lib, "Winmm.lib")void WINAPI OnTimeFunc(UINT wTimerID, UINT msg,DWORD dwUser,DWORD dwl,DWORD dw2){ printf("OnTimeFunc\n");} in原创 2016-05-29 01:12:06 · 1160 阅读 · 0 评论 -
病毒分析,病毒原理,ASLR,DEP,EPO
1.病毒分析的基本工具方法整体的思维:利用一些工具来监控程序调用了哪些API或行为~1.对于监控API~~1.apilog18pub http://www.softpedia.com/get/Programming/Other-Programming-Files/API-Logger.shtml~~2.Api Monitor x86 x64都有 (强力推荐!!!)~2.使用行为原创 2016-05-29 01:02:25 · 2028 阅读 · 0 评论 -
linux命令和vim学习
文件相关命令man less:查看less的帮助手册 --helpsudo cat /etc/passwd:sudo用于获得ROOT权限而又不用知道ROOT密码/etc/sudoers 配置sudo权限cd:切换目录cd ~:切换到/home/zyr/cd:什么都不带,也是切换到自己的home目录。cd -:切换到之前的目录history:运原创 2016-05-14 02:13:27 · 18896 阅读 · 0 评论 -
取数组地址引发的血案(int*)(&a+1);(int*)((int)a+1);
#include int main(int argc, char* argv[]){ int a[4] = {1,2,3,4}; int *ptr1 = (int*)(&a+1);//4 int *ptr2 = (int*)((int)a+1);//20000000 把a强制变为整数+1 /* 00401000 /$ 83EC 10 sub esp,0x10 0原创 2016-05-14 02:00:36 · 1218 阅读 · 0 评论 -
R3全盘毁坏数据
打开物理磁盘或者打开分区符号(这个需要循环)然后使用下发IOCTL_DISK_DELETE_DRIVE_LAYOUT请求,删除分区表一般杀软也不会阻止不要在真机中实验!代码:#include#include#includeint main(){ DWORD lpBytesReturned; OVERLAPPED lpOverlapped={0}原创 2016-05-03 03:47:33 · 886 阅读 · 1 评论 -
WDK7的ntimage.h 用于写PE32+
/*++ BUILD Version: 0004 // Increment this if a change has global effectsCopyright (c) Microsoft Corporation. All rights reserved.Module Name: ntimage.hAbstract: This is the includ原创 2016-05-02 05:22:21 · 3647 阅读 · 0 评论 -
x64加载内核符号解析地址
原文:【推荐】分享一个x64内核符号枚举代码 50行 简洁易懂作者:友情zyj链接:http://bbs.pediy.com/showthread.php?t=204535#include #include #include #include #include "dbghelp.h"#pragma comment(lib,"dbghelp.lib")BOOL C转载 2016-05-02 04:27:55 · 2468 阅读 · 2 评论 -
R3 x64枚举进程句柄
需要注意的是:在R3使用ZwQueryObject很容易锁死,需要放到线程中,如果线程超过500ms就说明卡死了 就只能放弃这个句柄了 这个句柄外面是一个FileObject类型,但真实是一个信号类型还有在R3中枚举 有一个句柄我们是没有权限操作了 就是EtwRegistration类型的如果非要解决这个问题,可以参考国外的一个开源进程管理器ProcessHack我的操作是判断原创 2016-05-02 03:30:11 · 5873 阅读 · 0 评论 -
使用ZwQueryVirtualMemory枚举进程模块支持x64
#include "stdio.h"#include "windows.h"typedef struct _LSA_UNICODE_STRING { USHORT Length; USHORT MaximumLength; PWSTR Buffer;} LSA_UNICODE_STRING, *PLSA_UNICODE_STRING, UNICODE_STRING, *PUNICO原创 2016-05-02 02:52:03 · 8067 阅读 · 1 评论 -
[备忘]MFC各种控件使用,线程
CComoboBox: CComboBox *pCombo = (CComboBox *)GetDlgItem(IDC_COMBO_TEST); pCombo->InsertString(0, _T("男")); pCombo->InsertString(1, _T("女")); pCombo->InsertString(2, _T("秘密")); pCombo->SetCurSel(原创 2016-05-25 18:50:08 · 1124 阅读 · 0 评论 -
HOOK Engine (nthookengine.mhook)
可选引擎:nthookengine //支持x64 开源mhook //支持x64 开源Detour//x64收费方法:本进程HOOK,直接调用HOOK函数;否则,写成一个DLL,在DLL里HOOK每个函数然后将该DLL注入到目标进程,达到HOOK目标进程中的函数的目的MHOOK//需要直接获取原始函数地址#include mhook.htyped原创 2016-04-16 22:10:56 · 3360 阅读 · 2 评论 -
获取SSDT,SSSDT原始函数地址
SSDT当前函数地址 = KiSeviceTable + *(KiServiceTalbe + index * 4);TableRVA = KiSeviceTable - 内核真实加载地址 ;ImageBase = 0x140000000;(理想加载地址)ImageKiSeviceTable = ImageBase + TableRVA;LoadDLLBase = LoadLi原创 2016-05-02 04:38:36 · 4731 阅读 · 0 评论