
C/C++
「已注销」
这个作者很懒,什么都没留下…
展开
-
动态调用VirtualProtect去除IAT特征
编译环境:windows 10 专业版 x64 vs2017获取Kennel32基址:__declspec(naked) DWORD getKernel32(){ __asm { mov eax, fs:[030h]; test eax, eax; js finished; mov eax, [eax + 0ch]; mov eax, [eax + 14h];...原创 2020-02-18 01:50:55 · 1241 阅读 · 0 评论 -
error LNK2001: 无法解析的外部符号 _memset 解决方案
最近在编写shellcode,发现编译出了一个错误:error LNK2001: 无法解析的外部符号 _memset然后我是一脸黑人问号??我全代码都没有调用memset函数,为什么会报这种无法解析的外部符号这种错误呢,后来用了注释调试法,发现了问题出现在一行代码char savePath[MAX_PATH] = { 0 };在没编写shellcode之前这句代码很正常就是一个字...原创 2019-10-17 21:30:30 · 5856 阅读 · 1 评论 -
如何检测360核晶模式和CPU虚拟化
核晶360是一种在CPU支持虚拟化并且开启虚拟化的前提下一种360防护模式,如何辨别核晶360,我的思路是从判断CPU是否支持虚拟化入手思路:1.使用第三方软件-cpu-z2.使用特定的cpu命令,捕获异常3.使用wmic获取cpu信息wmic cpu其中VirtualizationFirmwareEnabled 属性最为关键,翻译来的意思是启用虚拟化固件开启CPU虚拟...原创 2019-10-13 21:26:42 · 3137 阅读 · 0 评论 -
编译远控源码碰到的问题集合
环境:vc++6.0 win7x64 基于ghost的远控源码(1)编译Forshare类远控源码出现的编译问题致命错误 RC1121: RC : fatal error RC1121 : I/O error reading file执行 rc.exe 时出错.解决方案:关于多国语言转换的问题,原来的程序是英文版,在中文版里面就有这个问题。因为在Microsoft Wi...原创 2019-09-23 03:09:54 · 1328 阅读 · 0 评论 -
vs2017下shellcode编写原则[记录笔记]
1.杜绝双引号字符串的直接使用关闭VS自动优化没有使用到的变量自定义函数入口#pragma comment(linker,"/entry:EntryMain")1.动态获取函数的地址GetProAddress 从dll中获取函数的地址参数1:调用dll的句柄,参数2:函数名Bug:error C2760: 语法错误: 意外的令牌“标识符”,预期的令牌为“类型说明符”...原创 2019-09-23 03:01:28 · 1722 阅读 · 0 评论 -
dll导出函数名
在dll劫持中经常看到这种导出函数名 下划线开头@符号末尾跟着几个数字_CreateXXX@0_OpenXXX@2_areateXXX@4_closeXXX@4解释:__stdcall会使导出函数名字前面加一个下划线,后面加一个@再加上参数的字节数例子分析:_areateXXX@4源码:__declspec(dllexport) int _stdcall area...原创 2019-09-23 02:55:22 · 742 阅读 · 0 评论 -
远控修改功能2
发现失败的原因可能是因为类型不太一样吧,换成这种只需要发送一个命令的模板void CPcView::OnMenuitemUninstall() { // TODO: Add your command handler code here if (MessageBox(_T("确认卸载服务端吗?)"), _T("温馨提示"), MB_YESNO | MB_ICONWARNING) == ...原创 2019-09-22 03:23:07 · 576 阅读 · 5 评论 -
为远控添加功能[1]
此篇文章只为记录我修改的过程,使用的是很笨的方法,不足以作为大家参考的文章...一直想在远控上添加一些属于自己想要的功能,首先从被控端接收命令的一个switch结构入手//接收主控发来的命令void CKernelManager::OnReceive(LPBYTE lpBuffer, UINT nSize){ switch (lpBuffer[0]) { case COMM...原创 2019-09-22 03:15:20 · 1026 阅读 · 2 评论 -
修改某远控上线flag包
被控端:修改包头flag信息:CClientSocket::CClientSocket(){ WSADATA wsaData; m_gFunc.WSAStartup(MAKEWORD(2, 2), &wsaData); m_hEvent = m_gFunc.CreateEvent(NULL, TRUE, FALSE, NULL); m_bIsRunn...原创 2019-09-22 02:35:51 · 786 阅读 · 0 评论 -
Duilib学习日记[3]-屏蔽系统菜单栏-自绘标题栏
duilib其实没有区分标题栏和客户区,它的实现方式是屏蔽了系统自带的标题栏,用客户区来模拟标题栏屏蔽系统自带的标题栏,这里需要屏蔽三个系统消息WM_NCACTIVATEWM_NCCALCSIZEWM_NCPAINT修改上个日记中HandleMessage代码:virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPA...原创 2019-05-16 06:30:18 · 734 阅读 · 0 评论 -
Duilib学习日记[2]-响应按钮事件
基于上次SimpleWindowForDuilib的源代码更改就行了主要修改思路: 1.调用AddNotifier函数将消息加入到Duilib的消息循环 2.给按钮设置一个唯一的控件ID 3.在Notify函数中处理按钮点击消息直接丢源码~#include <UIlib.h>using namespace DuiLib;class CDuiF...原创 2019-05-16 06:27:15 · 642 阅读 · 0 评论 -
Duilib学习日记[1]-简单窗口
-1创建空白的Win32工程由于VS2017上没有空白win32工程的选项,我就创建了一个普通的空项目0.将编译好的lib和放到附属lib文件夹,方便引用1.设置包含库目录 lib2.设置包含目录3.预定义指令#ifdef _DEBUG# ifdef _UNICODE# pragma comment(lib, "..\\Lib\...原创 2019-05-16 06:18:26 · 454 阅读 · 0 评论 -
Duilib学习日记[0]-环境部署
https://github.com/duilib/duilib直接去github上下载源码自己编译lib和dll编译失败遇到的问题和别人的不太一样,报错了的是hFile未声明,后来把这个hFile声明放到while循环外,就可以正常编译了emmmmm在lib目录下得到lib (?这句话有点废话)在bin目录下得到dll注意是每个编译模式最好都要生成一次~...原创 2019-05-16 06:08:29 · 213 阅读 · 0 评论