- 博客(59)
- 资源 (9)
- 收藏
- 关注
原创 手动加载PE文件
今天手撸一下加载PE文件,并执行加载的PE文件。看完这一节之后相信大家会对PE文件的结构和在内存中的加载顺序有一个比较深刻的理解。本文中可能对PE文件的基础知识介绍的不是很详细,建议大家先看看PE文件的基础结构,了解了这些基础知识后再看本文会简单许多。废话不多说,下边让我们进入正是环节吧~
2024-05-13 18:49:54
1007
原创 ShellCode详解一
这些数据会导致什么问题呢,那就是当当我们的shellcode代码调用这些数据地址时,执行shellcode的进程若不是我们shellcode的进程则会出现一些无法预料错误,它是找不到这些数据的地址的。大功告成,现在已经没有那些杂乱的数据了,剩下的就可以不用管了,它并不影响我们的shellcode代码,接下来就到了我们的正题了(编写shellcode代码),哈哈哈,别着急,请听下回分解^ - ^从上图中可以看到,导入表中的库明显少了,那么剩下的这个库怎么去掉呢,别着急,我们继续往下走。
2024-05-11 11:46:53
947
原创 Windows下驱动监控设备热插拔
至此,监控热插拔的驱动完成,所有的操作均可在回调函数中操作,不管是获取设备数据还是拒绝访问,都可以灵活的根据实际场景进行控制。
2024-01-25 11:54:47
729
1
原创 go读取pptx文件
主要使用 “baliance.com/gooxml” 中的 presentation 包。原理:windows下pptx格式文件实际上是一个压缩包,打开之后可以看到具体的格式。
2022-12-21 10:20:02
977
原创 go读取Excel(xlsx格式)文件
主要使用 “baliance.com/gooxml” 中的 spreadsheet 包。原理:windows下xlsx格式文件实际上是一个压缩包,打开后可以看到具体的格式。
2022-12-21 10:14:10
712
原创 C++使用winpcap生成wireshark可解析文件
#define HAVE_REMOTE#include "pcap.h" int test() { pcap_if_t* alldevs; pcap_if_t* d; pcap_t* adhandle; char errbuf[PCAP_ERRBUF_SIZE]; int inum; int i = 0; u_int netmask; char packet_filter[] = "ip and tcp"; struct bpf_program fcode;
2021-09-14 15:21:13
842
原创 winpcap编译
一、编译Packet.dll1、打开下载winpcap目录下WpcapSrc_4_1_3\winpcap\packetNtx\Dll\Project\Packet.sln 文件2、选择编译的选项,直接编译即可二、编译wpcap.dll1、打开下载winpcap目录下WpcapSrc_4_1_3\winpcap\wpcap\PRJ\wpcap.sln 文件2、选择编译的选项,直接编译即可注:编译wpcap遇到的问题:1、编译 wpcap 需要使用 Packet 库,所以需要检查 vs 中“链接-
2021-09-14 15:14:53
583
原创 Duilib使用其他目录资源时新窗口读取xml出错问题
当点击红色框的按钮时,按钮的背景图会替换成选中的图片。正常点击标记的按钮会弹出此窗口,但是当发生第一张图片时的事件时再点击此按钮设置框无法弹出,原因是选择图片之后默认的加载资源文件目录改变,需要再重新选择一下加载资源目录。创建设置窗体的代码LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled) { //BUG /*********begin 需要再次指定目录************/ .
2021-05-19 19:35:05
2164
原创 windows下C++获取快捷方式的属性
//快捷方式绝对路径 TCHAR ExcelFileName[260]; //起始位置、目标位置等输出 TCHAR ExcelFilePath[260]; IShellLink* psl = NULL; // Initialize the COM library. HRESULT hr = CoInitialize(NULL); if (FAILED(hr)) { printf("ERROR - Could not initialize COM library"); return .
2021-05-17 10:27:59
685
转载 DuiLib 窗口透明方法
在遍寻所有属性之后无果,最后测试出来在Window标签中加上下面两个属性就可以实现透明啦:layeredimage="" layeredopacity=“255”PS:layeredimage属性不要为空,最后设置为何窗口背景一样的图片,不行的话就做一张全透明的背景图片,如果这个地方不设置图片会导致窗口存在一些奇奇怪怪的问题。...
2021-04-27 09:47:55
599
原创 Duilib拖动还原之后图标不变的问题
需要处理“WM_SYSCOMMAND”消息LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled){ // 有时会在收到WM_NCDESTROY后收到wParam为SC_CLOSE的WM_SYSCOMMAND if (wParam == SC_CLOSE) { ::PostQuitMessage(0L); bHandled = TRUE; return 0; } BOOL bZo
2021-04-26 10:44:01
109
原创 Duilib中最大化之后任务栏变黑或覆盖问题
//需要修改最大化和最小化的消息LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled){ MONITORINFO oMonitor = {}; oMonitor.cbSize = sizeof(oMonitor); ::GetMonitorInfo(::MonitorFromWindow(*this, MONITOR_DEFAULTTOPRIMARY), &oMonitor);
2021-04-25 17:27:16
342
原创 linux下系统的makefile编写
#编译程序名称APPNAME = XXX#编译程序生成临时文件(.o)目录OBJDIR = build/CC = g++#头文件目录SYSCLUDE = -I ./include_linux#程序用到的系统的头文件SYSTEMLIB = -ldl -lz -pthread#静态库文件LIBPATH = -L./lib_x86COMMON_LIB = $(LIBPATH) -lcurl -lssl -lcrypto -lsqlite3 -lcares#添加工程的cpp文件,只
2021-02-19 09:52:56
224
原创 Duilib列表多行显示
//获取控件指针m_pMessagelist = static_cast<CListUI*>(m_PaintManager.FindControl(_T("MessageList")));//设置list控件多行显示m_pMessagelist->SetItemTextStyle(DT_WORDBREAK | DT_CENTER | DT_VCENTER | DT_END_ELLIPSIS);
2021-02-18 11:14:33
710
原创 Windows下读取Excel(仅支持xls格式)
main.cpp//读取excelint main(){ YExcel::BasicExcel e; e.Load(excelfile); e.Load("D:\\360安全浏览器下载\\info1601434112318.xls"); YExcel::BasicExcelWorksheet* sheet1 = e.GetWorksheet((size_t)0); if (sheet1) { size_t maxRows = sheet1->GetTotalRows(); s
2020-10-15 10:53:38
937
原创 Duilib编辑选择框修改单击编辑
ComboEdit中修改消息事件处理//void CComboEditUI::DoEvent(TEventUI& event)函数中 if (event.Type == UIEVENT_BUTTONDOWN) { if (m_pEditWnd) { m_pEditWnd->ShowWindow(TRUE, TRUE); } if (m_pEditWnd) return; m_pEditWnd = new CComboEditWnd();
2020-10-15 10:40:11
284
原创 使用openssl进行sm4加密(附带MD5)
#include <openssl/evp.h>#include <openssl/ossl_typ.h>#include <openssl/md5.h>#include <string.h>int Enclicense(unsigned char* in, int inlen, unsigned char* _out){ int ret = 0; unsigned char out[1024] = { 0 }; int
2020-10-13 19:41:10
4139
1
原创 libcurl解决解析hostname慢问题(添加c-ares编译)
1、编译c-ares./configure --prefix=XXXXmakemake install2、编译curl./configure --enable-ares=XXX
2020-09-27 09:58:06
983
原创 windows下C++创建快捷方式
HRESULT hr = CoInitialize(NULL); if (SUCCEEDED(hr)) { IShellLink *pisl; hr = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pisl); if (SUCCEEDED(hr)) { IPersistFile* pIPF; //快捷方式的原始文..
2020-09-22 10:18:55
1259
原创 Duilib增加选择编辑选择框(ComboEdit)
1、UIDefine.h#define DUI_CTR_COMBOEDIT (_T("ComboEdit"))2、UIDlgBuilder.cppCControlUI* CDialogBuilder::_Parse(CMarkupNode* pRoot, CControlUI* pParent, CPaintManagerUI* pManager) 函数中else if (_tcsicmp(pstrClass, DUI_CTR_COMBOEDI
2020-08-19 10:47:49
1656
原创 Linux下16进制转字符串(中文)
void XtoUtf8(const char* src,char* desStr){//src = "\\xE5\\x8C\\x97\\xE4\\xBA\\xAC" if(*src != '\\') return; int des[200] = {0}; int i = 0,j = 0; while(*(src+i) != '\0') { char buf[5] = {'\0'}; strncpy(buf,src+i,4); sscanf(buf,"\\x%x",&d
2020-07-31 10:24:11
2477
原创 Duilib控件拖动改变大小
只有向HorizontalLayout、VerticalLayout等容器种才可使用xml进行拖动改变控件的大小。HorizontalLayout:sepimm=“true” 允许拖动改变大小sepwidth=“6” 响应的宽度minwidth=“500” 最小宽度maxwidth=“800” 最大宽度VerticalLayout:sepimm=“true” 允许拖动改变大小sepheight=“6” 响应的高度minheight=“500” 最小高度maxheight=“8
2020-07-10 09:34:30
1178
原创 libcurl编译---支持https
1、先编译openssl(要生成动态库,以shared方式编译)将生成的*.a 和 .so放到 ./lib目录下2、编译curl添加 --with-ssl=XXX(openssl库所在的目录)执行完./configure … 之后SSL support项后边应该是“enabled (OpenSSL)”如图:如果是“no”,则是没有将openssl的动态库(.so)放到相应的lib目录下...
2020-04-29 13:46:23
1662
1
原创 linux下交叉编译(编译openssl和curl)
以openssl和curl为例:openssl:1、先执行: ./config no-asm 如果需要动态库,执行: ./config no-asm shared。–prefix=/usr/local/openssl选项指定install的地址,有需要的话,可以加入-fPIC选项2、修改生成的makefile1、将gcc和ar加上XX对应编译链的前缀,例如: XX-XX-linux-2、...
2020-04-07 14:38:39
811
原创 windows下时间转换
1、时间戳转换时间格式 { wstring strTime = L"1560841784"; struct tm sTime; swscanf(strTime.c_str(), L"%d-%d-%d %d:%d:%d", &sTime.tm_year, &sTime.tm_mon, &sTime.tm_mday, &sTime.tm_hour,...
2020-04-01 14:16:32
987
原创 获取windows和linux下文件最后修改时间
windows下:int GetModifyDateTime(const wstring& strFilename){ struct _stat64i32 statbuf; _wstat64i32(strFilename.c_str(), &statbuf); return statbuf.st_mtime;}Linux下:#include <sys/st...
2020-04-01 14:12:54
760
原创 windows下生成托盘图标及添加菜单
1、生成托盘图标void AddTrayIcon(){ NOTIFYICONDATA trayIcon; memset(&m_trayIcon, 0, sizeof(NOTIFYICONDATA)); trayIcon.cbSize = sizeof(NOTIFYICONDATA); trayIcon.hIcon = ::LoadIcon(GetModuleHandle(NUL...
2020-03-30 13:07:45
1058
原创 Duilib杂识
1、链接静态库的时候报“无法解析的外部符号”解决方法:预处理命令添加 “STATIC_LIB”2、添加窗口阴影SetClassLong(m_hWnd, GCL_STYLE, GetClassLong(m_hWnd, GCL_STYLE) | CS_DROPSHADOW);3、使窗口显示到顶层CDuiRect rcWnd;::GetWindowRect(*this, &rcWnd...
2020-03-30 11:17:13
164
原创 Linux GUI命令 zenity及其在C++中使用
1、使用日历控件:szDate=$(zenity --calendar --text "Pick a day" --title "Medical Leave" --day 13 --month 5 --year 2010); echo $szDate2、创建一个Entry对话框:szAnswer=$(zenity --entry --text "where are you?" --ent...
2020-03-23 15:31:15
1079
原创 sqlite操作数据库函数总结
1、 sqlite3_open打开数据库函数,若数据库不存在,则创建//打开数据库//m_db 数据库句柄//db_filename 数据库位置sqlite3* m_db;if (SQLITE_OK != sqlite3_open(db_filename, &m_db)){ return false;}2、sqlite3_prepare准备sql语句 std::s...
2020-03-19 15:49:49
1526
原创 duilib 中list控件GetCurSel()异常问题
第一次点击列表中的子项时,点击第一个,返回的是-1,每次返回都是返回的上次记录的下标。需要修改UIList.cpp文件中的内容:搜索“DUI_MSGTYPE_ITEMCLICK”(“itemclick”),可以找到两个地方,需要将如下代码修改 if( event.Type == UIEVENT_BUTTONDOWN || event.Type == UIEVENT_RBUTTONDOW...
2020-03-19 15:34:09
250
原创 windows下定位内存泄漏
主要是使用了_CrtDumpMemoryLeaks和_CrtSetBreakAlloc函数由于win32有界面的程序不能打印,所以需要将打印的数据输出到文件中,代码如下:#define CRTDBG_MAP_ALLOC //使生成的内存dump包含内存块分配的具体代码为止int APIENTRY _tWinMain(_In_ HINSTANCE hInstance, _In_opt_ H...
2020-03-12 10:36:38
414
BaseExcel库
2020-10-15
xlnt.rar(windows下C++操作excel文件)
2019-07-08
sqlite.rar(linux下)
2019-06-27
openssl.tar.gz(linux下)
2019-06-27
curl.tar.gz(linux下)
2019-06-27
curl-7.65.0.rar(windows下)
2019-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人