首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏ccf19881030的博客

    VS2005中关于char[]转换成LPCWSTR的问题

    '“char [20]”转换为“LPCWSTR”       一、问题的原因:VS2005默认采用宽字符UNICODE编码方式,定义了Unicode,因此相关的字符串必须为unicode字符串,而非 LPCWSTR中的W是宽字符的意思,是UNICODE,就是说不是传统的char这种单字节字符,而是一个字符占两字节. 四、那么如何将char*或者char数组转换成VS2005中的LPCWSTR呢? )buffer, strlen(buffer)); 这个只能显示第一个字母“W” 错误方法二:          sprintf((LPCWSTR)buffer,L"Key State = 0X% X  ",key_state);          TextOut(hdc, 0,16,(LPCWSTR)buffer, strlen(buffer)); 这个出现的是乱码!

    1.8K20发布于 2019-04-29
  • 来自专栏技术点滴

    Windows文件操作基础代码

    once #include<Windows.h> #include<assert.h> class File {     HANDLE hFile;//文件句柄 public: void open(LPCWSTR ; void movefp(long disp,int type); int write(char*data,int len); void close(); static void copy(LPCWSTR  src,LPCWSTR des); static void move(LPCWSTR src,LPCWSTR des); static void del(LPCWSTR name); };      src,LPCWSTR des) {     assert(CopyFile(src,des,true)); } void File::move(LPCWSTR src,LPCWSTR des) {     assert(MoveFile(src,des)); } void File::del(LPCWSTR name) {     assert(DeleteFile(name)); }

    87790发布于 2018-02-05
  • 来自专栏FreeBuf

    使用WFH搜索Windows可执行程序中的常见漏洞或功能

    : MSFTEDIT.DLL [+] Potential DllMain Sideloading: LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags charmap.exe,LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE mspaint.exe,LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL mspaint.exe,LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE 如果你想让WFH输出更多详细内容,可以使用 : MSFTEDIT.DLL'} {'type': 'send', 'payload': 'LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE' : MSFTEDIT.DLL'} {'type': 'send', 'payload': 'LoadLibraryExW,LPCWSTR : MSFTEDIT.DLL, dwFlags : NONE'

    1.4K40发布于 2021-08-24
  • 来自专栏全栈程序员必看

    WinHTTP教程

    函数原形如下: HINTERNET WinHttpOpen( __in LPCWSTR pwszUserAgent, __in DWORD dwAccessType , __in LPCWSTR pwszProxyName, __in LPCWSTR pwszProxyBypass __in DWORD 函数原形如下: HINTERNET WinHttpConnect( __in HINTERNET hSession, __in LPCWSTR pswzServerName 函数原形如下: HINTERNET WinHttpOpenRequest( __in HINTERNET hConnect, __in LPCWSTR pwszVerb , __in LPCWSTR pwszObjectName, __in LPCWSTR pwszVersion, __in LPCWSTR

    1.2K20编辑于 2022-09-14
  • 来自专栏红队蓝军

    如何自己实现一个Psexec

    , LPCWSTR lpwsUserName, LPCWSTR lpwsPassword) { // 用于存放SMB共享资源格式 PWCHAR lpwsIPC = new WCHAR[MAX_PATH lpServiceName, LPCWSTR lpDisplayName, DWORD dwDesiredAccess, DWORD dwServiceType, DWORD dwStartType, DWORD dwErrorControl, LPCWSTR lpBinaryPathName, LPCWSTR lpLoadOrderGroup , LPDWORD lpdwTagId, LPCWSTR lpDependencies, LPCWSTR lpServiceStartName, LPCWSTR lpPassword lpwsSCMServer, LPCWSTR lpwsServiceName, LPCWSTR lpwsServicePath) { wprintf(L"Will Create Service

    77210编辑于 2022-05-17
  • 来自专栏全栈程序员必看

    qt 获取窗口句柄「建议收藏」

    appwnd = (HWND)w.winId(); QString ClassName("Qt5QWindowIcon"); QString AppName = QStringLiteral("GG"); LPCWSTR app = reinterpret_cast<LPCWSTR>(ClassName.data()); LPCWSTR appCaption = reinterpret_cast<LPCWSTR>(AppName.data

    4.4K30编辑于 2022-09-16
  • 来自专栏逆向技术

    Detours HOOK 库 过滤LoadLibraryExW

    自己定义的函数如下: HMODULE WINAPI MyLoadLibraryExw(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags) { 你知道你的函数地址在哪你都可以写成如下; static HMODULE(WINAPI *PFnLoadLibraryExW)(LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags) = (HMODULE(WINAPI *)(LPCWSTR, HANDLE, DWORD))0x40001200 假设你的函数地址是0x40001200,那么Detours namespace std; #pragma comment(lib,"Detours.lib") static HMODULE(WINAPI *PFnLoadLibraryExW)(LPCWSTR "LoadLibraryExW"); void DetoursUnHook(); void DetoursHook(); HMODULE WINAPI MyLoadLibraryExw(LPCWSTR

    2.2K20发布于 2019-05-25
  • 来自专栏HACK学习

    psexec原理分析

    /en-us/windows/win32/api/winnetwk/nf-winnetwk-wnetaddconnection2w DWORD ConnectSMBServer(LPCWSTR lpwsHost , LPCWSTR lpwsUserName, LPCWSTR lpwsPassword) { // 用于存放SMB共享资源格式 PWCHAR lpwsIPC = new WCHAR[MAX_PATH] dwStartType, DWORD dwErrorControl, LPCWSTR lpBinaryPathName, LPCWSTR lpLoadOrderGroup, LPDWORD lpdwTagId, LPCWSTR lpDependencies, LPCWSTR lpServiceStartName, LPCWSTR lpPassword ); 先使用OpenSCManager lpwsSCMServer, LPCWSTR lpwsServiceName, LPCWSTR lpwsServicePath) { wprintf(L"Will Create Service %s\

    1.5K40发布于 2021-06-24
  • 来自专栏全栈程序员必看

    Windows编程(操作注册表)

    提供了大量的函数操作注册表 RegCreateKey 创建指定的注册表项 RegCreateKeyW( _ In_ HKEY hKey, //打开的当前项的句柄 实际上就是那几个分支 _ In_opt_ LPCWSTR phkResult //用来接收创建或者打开表项句柄 regclosekey ); RegOpenKeyW( _In_ HKEY hKey, //打开的当前项的句柄 实际上就是那几个分支 _ In_opt_ LPCWSTR lpSubKey, //打开或者创建的表项的名称 _In_ DWORD dwType, //指示被存储信息的类型 REG_SZ类型 _ In_reads_bytes_opt_(cbData) LPCWSTR DWORD cbData //要存放的字符串数据的大小、 长度 ); RegSetValueExW( _ In_ HKEY hKey, //打开的当前项的句柄 实际上就是那几个分支 _In_opt_ LPCWSTR (cbData) CONST BYTE * lpData, _ In_ DWORD cbData ); 查询注册表 RegQueryValueW( _ In_ HKEY hKey, _In_opt_ LPCWSTR

    1.8K20编辑于 2022-07-13
  • 来自专栏HACK学习

    红队 | IAT Hook技术实现

    pImport++; } return Flag; } 达到目的后要恢复原来的函数 自己希望执行的函数 int WINAPI MyMessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType) { printf("%x %s %ws %x\n", hWnd, lpText, lpCaption , uType); typedef int (WINAPI* pMessageBox)(HWND, LPCWSTR, LPCWSTR, UINT); //int ret = MessageBox lpText, LPCWSTR lpCaption, UINT uType) { printf("%x %s %ws %x\n", hWnd, lpText, lpCaption, uType ); typedef int (WINAPI* pMessageBox)(HWND, LPCWSTR, LPCWSTR, UINT); //int ret = MessageBox(hWnd,

    77630发布于 2021-05-14
  • 来自专栏涛的程序人生

    【EasyX】飞机大战

    "), NULL, 0, NULL); mciSendString(LPCWSTR("play gemusic"), NULL, 0, NULL); // 播放音乐 score++; if = 0) { mciSendString(LPCWSTR("close 5music"), NULL, 0, NULL); // 关闭上一次的音乐 mciSendString(LPCWSTR ("open 5.mp3 alias 5music"), NULL, 0, NULL); mciSendString(LPCWSTR("play 5music"), NULL, 0, NULL) ; // 播放音乐 } if (score % 10 == 0) { mciSendString(LPCWSTR("close 10music"), NULL, 0, NULL); // 关闭上一次的音乐 mciSendString(LPCWSTR("open 10.mp3 alias 10music"), NULL, 0, NULL); mciSendString(

    60930编辑于 2023-07-10
  • 来自专栏全栈程序员必看

    Visual Studio——使用多字节字符集与使用Unicode字符集

    lpText, __in_opt LPCWSTR lpCaption, __in UINT uType); #ifdef UNICODE #define MessageBox MessageBoxW UNICODE 当选用“使用Unicode字符集”时,调用函数MessageBox,实际使用的是MessageBoxW,MessageBoxW关于字符串的入参类型是LPCWSTR,使用MessageBox LPCSTR与LPCWSTR的区别 LPCSTR的定义如下 typedef __nullterminated CONST CHAR *LPCSTR, *PCSTR; typedef char CHAR; LPCWSTR的定义如下 typedef __nullterminated CONST WCHAR *LPCWSTR, *PCWSTR; typedef wchar_t WCHAR; // wc , 16-bit UNICODE character 可以看出LPCSTR与LPCWSTR的区别即为char与wchar_t的区别 下面是常用的多字节和宽字节对照表。

    4.9K20编辑于 2022-11-03
  • 来自专栏鸿鹄实验室

    红队技巧--winAPI添加用户

    API原型: NET_API_STATUS NET_API_FUNCTION NetUserAdd ( IN LPCWSTR servername OPTIONAL, IN LPDWORD parm_err OPTIONAL ); NET_API_STATUS NET_API_FUNCTION NetLocalGroupAddMembers ( IN LPCWSTR servername OPTIONAL, IN LPCWSTR groupname, IN DWORD level, IN LPBYTE

    1.5K20发布于 2021-04-15
  • 来自专栏林冠宏的技术文章

    C++ 与 php 的交互 之----- C++ 获取 网页文字内容,获取 php 的 echo 值。

    ;//第一个是打开标记,i是下面的转化控制变量 23 WCHAR exchange_text_from_url[256],exchange_text_from_x[256]; 24 LPCWSTR py = exchange_text_from_url;// url 转 lpcwstr 的中间变量 25 LPCWSTR pz = exchange_text_from_x; //另外的信息 下的 设置,我这里使用了宽字节,免去转换的麻烦 27 MultiByteToWideChar( 0, 0,x, -1,exchange_text_from_x, 64 );//WCHAR to LPCWSTR

    3.2K50发布于 2018-01-03
  • 来自专栏FreeBuf

    MSBuild后门技术分析

    LoadVersionDll(), "GetFileVersionInfoExW", a1, a2, a3) EndProcedure ;DWORD GetFileVersionInfoSizeW( ; LPCWSTR CallCFunction(LoadVersionDll(), "GetFileVersionInfoExW", a1, a2) EndProcedure ;BOOL GetFileVersionInfoW( ; LPCWSTR VerFindFileA", a1, a2, a3, a4, a5, a6, a7, a8) EndProcedure ;DWORD VerFindFileW( ; DWORD uFlags, ; LPCWSTR szFileName, ; LPCWSTR szWinDir, ; LPCWSTR szAppDir, ; LPWSTR szCurDir, ; PUINT puCurDirLen szSrcFileName, ; LPCWSTR szDestFileName, ; LPCWSTR szSrcDir, ; LPCWSTR szDestDir, ; LPCWSTR

    96910发布于 2021-03-09
  • 来自专栏林冠宏的技术文章

    C++ 制作 json 数据 并 传送给服务端(Server) 的 php

    WCHAR exchange_text_from_url[256],exchange_text_from_x[256];//宽字符char,如果爆红,修改项目的编码为多字节就可以了 10 LPCWSTR py = exchange_text_from_url; 11 LPCWSTR pz = exchange_text_from_x; 12 13 MultiByteToWideChar ( 0, 0,x, -1,exchange_text_from_x, 64 );//WCHAR to LPCWSTR,转化 14 15 MultiByteToWideChar( 0, 0,url_for_lgh_connect_database

    90450发布于 2018-01-03
  • C/C++ x64 Inline Hook 代码封装

    HookCode[12] = { 0x48, 0xB8, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0xFF, 0xE0 }; void Hook(LPCWSTR // 拷贝Hook机器指令 VirtualProtect((LPVOID)FuncAddress, 12, OldProtect, &OldProtect); } void UnHook(LPCWSTR / 保存函数入口代码 BYTE m_bNewBytes[12]; // 保存Inlie Hook代码 public: MyHook(); ~MyHook(); BOOL Hook(LPCWSTR lpModule, LPCSTR lpFuncName, LPVOID lpFunction); BOOL UnHook(LPCWSTR lpModule, LPCSTR lpFuncName); #include <windows.h> #include "hook.h" MyHook MsgHook; static int WINAPI MyMessageBoxW(HWND hWnd, LPCWSTR

    1.2K30编辑于 2022-12-28
  • 来自专栏全栈程序员必看

    detour使用教程_devour怎么使用道具

    Detours/lib.X86/detours.lib") //保存函数原型 static int (WINAPI *OldMesssageBoxW)( _In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType)=MessageBoxW; //改写函数 static int WINAPI NewMessageBoxW ( _In_opt_ HWND hWnd, _In_opt_ LPCWSTR lpText, _In_opt_ LPCWSTR lpCaption, _In_ UINT uType) { return

    2.2K20编辑于 2022-09-20
  • 来自专栏中国白客联盟

    绕过AMSI进行逃避审计

    nf-amsi-amsiscanbuffer HRESULT AmsiScanBuffer( HAMSICONTEXT amsiContext, PVOID buffer, ULONG length, LPCWSTR static HRESULT(WINAPI* OriginalAmsiScanBuffer)(HAMSICONTEXT amsiContext, PVOID buffer, ULONG length, LPCWSTR AmsiScanBuffer; HRESULT HookedAmsiScanBuffer(HAMSICONTEXT amsiContext, PVOID buffer, ULONG length, LPCWSTR

    88710发布于 2020-11-03
  • 来自专栏我的知识小屋

    C++ winhttp 实现文件下载器

    一个 WinHttp 的函数圆形如下: WINHTTPAPI HINTERNET WinHttpOpen( [in, optional] LPCWSTR pszAgentW, [in] DWORD dwAccessType, [in] LPCWSTR pszProxyW, [in] LPCWSTR pszProxyBypassW, pwszVerb, [in] LPCWSTR pwszObjectName, [in] LPCWSTR pwszVersion, [in] LPCWSTR pwszReferrer , [in] LPCWSTR *ppwszAcceptTypes, [in] DWORD dwFlags ); hConnect 为 WinHttpConnect 返回的 HINTERNET 服务器 函数原型如下: WINHTTPAPI BOOL WinHttpSendRequest( [in] HINTERNET hRequest, [in, optional] LPCWSTR

    2.3K50编辑于 2023-04-06
领券