
WINDOWS API应用开发
文章平均质量分 82
一瓶不满半瓶晃
一瓶子不满,半瓶子晃。工作问题总结目标是提供问题一站式解决方案
展开
-
使用C编译器编写shellcode
准备工作为了确保能生成可用作shellcode这样特定格式的代码,我们需要对Visual Studio做些特殊的配置。下面的各项配置,可能随编译器的变更而变更:1、使用Release模式。近来编译器的Debug模式可能产生逆序的函数,并且会插入许多与位置相关的调用。2、禁用优化。编译器会默认优化那些没有使用的函数,而那可能正是我们所需要的。3、禁用栈缓冲区安全检查(转载 2016-08-19 17:59:40 · 1205 阅读 · 0 评论 -
文件和注册表的重定向解决方法
注册表重定向解决办法:转载http://www.2cto.com/os/201411/350858.html32位程序如何访问64位的注册表(HKLM/Software)在调用函数RegCreateKeyEx创建注册表项时,对其第六个参数REGSAM samDesired设置中添加参数KEY_WOW64_64KEY,这样可以实现对64位注册表的访问;在调用函数R转载 2016-10-24 09:33:38 · 3371 阅读 · 0 评论 -
关于PE可执行文件的修改
关于PE可执行文件的修改创建时间:2001-09-21文章属性:原创文章提交:ILSY (masteruser_at_263.net)在windows 9x、NT、2000下,所有的可执行文件都是基于Microsoft设计的一种新的文件格式Portable Executable File Format(可移植的执行体),即PE格式。有一些时候,我们需要对这些可执行文件进行修转载 2016-10-24 09:40:25 · 545 阅读 · 0 评论 -
巧用COM接口IARPUninstallStringLauncher绕过UAC
巧用COM接口IARPUninstallStringLauncher绕过UAChttp://www.freebuf.com/articles/system/116611.html编码实现绕过UAC的功能核心提权代码HRESULT CoCreateInstanceAsAdmin(HWND hwnd, REFCLSID rclsid, REFIID riid, __ou转载 2016-11-14 09:26:35 · 1229 阅读 · 0 评论 -
IDA反汇编学习- 修改.text段数据
http://blog.sina.com.cn/s/blog_45e2b66c0101bsfb.html转载 2016-11-14 10:28:44 · 7572 阅读 · 0 评论 -
IARPUninstallStringLauncher绕过UAC
巧用COM接口IARPUninstallStringLauncher绕过UAChttp://www.freebuf.com/articles/system/116611.html转载 2016-11-02 10:50:59 · 560 阅读 · 0 评论 -
生成shellcode
使用Release模式。近来编译器的Debug模式可能产生逆序的函数,并且会插入许多与位置相关的调用。禁用优化。编译器会默认优化那些没有使用的函数,而那可能正是我们所需要的。禁用栈缓冲区安全检查(/Gs)。在函数头尾所调用的栈检查函数,存在于二进制文件的某个特定位置,导致输出的函数不能重定位,这对shellcode是无意义的。以上为在vs中的设置.#include转载 2016-11-02 11:44:04 · 2055 阅读 · 0 评论 -
更改pe文件时间戳
BOOL randomChangeTimeStamp(LPBYTE pData, DWORD size, BYTE key){if (PeTypeUnknown != getPeType((LPBYTE)pData, size)){PIMAGE_DOS_HEADER pImageDosHeader = (PIMAGE_DOS_HEADER)pData;PIMAGE_NT转载 2016-12-28 14:06:37 · 2445 阅读 · 0 评论 -
windows API CryptBinaryToString
// windowsapi 直接调用的base64编码解码函数// #include #include #pragma comment(lib,"crypt32") #include "base64.h" using namespace gloox; static unsigned long get_file_size(const char转载 2017-02-09 09:47:29 · 2501 阅读 · 0 评论 -
字符与16进制互转
#include stdio.h>#include string.h>int strToHex(char *ch, char *hex);int hexToStr(char *hex, char *ch);int hexCharToValue(const char ch);char valueToHexCh(const int value);转载 2017-01-23 13:29:01 · 582 阅读 · 0 评论 -
inject dll note it
hello world原创 2016-08-19 17:55:57 · 351 阅读 · 0 评论 -
RC中资源更换
HANDLE hFile = CreateFileA(res.c_str(), GENERIC_READ, 0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if (INVALID_HANDLE_VALUE != hFile){dwFileSize = GetFileSize(hFile, NULL);翻译 2016-07-22 09:47:25 · 334 阅读 · 0 评论 -
摘录:多进程并发
多线程与并发 现在是多核时代,并发才能实现更高的吞吐量、更快的响应,但也是把双刃剑。总结如下几个用法:多线程+显示锁;接口是被多线程调用的,当被调用时,显示加锁,再操作实体数据。悲剧的是,工程师为了优化会设计多个锁,以减少锁的粒度,甚至有些地方使用了原子操作。这些都为领域逻辑增加了额外的设计负担。最坏的情况是会出现死锁。多线程+任务队列;接口被多线程调用,但请求会被暂存转载 2015-03-19 16:06:56 · 551 阅读 · 0 评论 -
fiddlercore 类库应用- 检查客户端调用的服务接口内容.
fiddlercore是.NET类库,你可以加入到.NET框架和单框架的应用。 也可以应用到Managed C++公共运行时语言程序中.本次是在 Managed C++ 程序中应用的。 fiddlercore可以捕获和修改HTTP和HTTPS流量就像Fiddler一样,但没有Fiddler的UI。 fiddlercore主要特点HTTP和HTTPS流量捕获和修改。强大的内容过滤和修原创 2015-11-23 09:12:34 · 2581 阅读 · 0 评论 -
Fiddler的使用方法介绍 ,http有条件的响应.
转载 http://www.cnblogs.com/weiyi19831104/articles/1362471.htmlFiddler可以帮您记录,调试IE与Web应用程序的交互,找到Web程序运行性能的瓶颈,还有如查看向Web服务器发送cookies的内容,下载内容的大小等功能。说多一点是,Fiddler站在用户与Web服务器的中间,由它转发请求与响应,因此Fidd转载 2015-11-23 10:03:49 · 4806 阅读 · 0 评论 -
C++ 使用事件(event)
C++ 使用事件(event) // mcppv2_events.cpp// compile with: /clrusing namespace System;// declare delegatesdelegate void ClickEventHandler(int, double);delegate void DblClickEventHandler(St转载 2015-11-17 09:41:51 · 2547 阅读 · 0 评论 -
C++Managed中加入fiddler的BeforeRequest
public:static event SessionStateHandler^ BeforeResponse { void add (SessionStateHandler^ value); void remove (SessionStateHandler^ value);} ValueType: Fiddler:: SessionStateHandler转载 2015-11-17 09:44:54 · 990 阅读 · 0 评论 -
自动重置事件练习
#include "iostream" #include "windows.h" using namespace std; DWORD WINAPI ThreadProc1(LPVOID lpParam); DWORD WINAPI MonitorProc(LPVOID pvContext);DWORD WINAPI CheckWindows(LPVOID pvVal);H原创 2016-01-24 13:55:40 · 402 阅读 · 0 评论 -
文件捆绑
// Filesize3.cpp : Defines the entry point for the console application.#include "stdafx.h"#include #include using namespace std;#include #include #define FINDFLAG 0x12345678//定义一原创 2016-07-26 09:57:14 · 1980 阅读 · 0 评论 -
VC++编程实现修改EXE文件图标
VC++编程实现修改EXE文件图标刚才发现论坛上面有网友问:如何通过编程实现修改EXE文件的图标,类似于 熊猫烧香 的效果!自己也对这个比较感兴趣网上找了找,找到了两种方法,可以满足大家都要求了,这里面收集转载过来,大家可以实践下,看看好不好用,起码有代码可以参考:方法一:通过API编程实现:这个问题以前在优快云上解答过,但是当时只是提了提几个要用到的函数,自己并没有去动转载 2016-07-27 15:30:30 · 4071 阅读 · 0 评论 -
从内存中加载映像(EXE/DLL)到本地或者远程进程执行
被加载的映像EXE,固定基址(/FIXED:NO)即必须有重定位表, 否则无法处理重定位.在vs的linker->advanced 中设置 fixed base address。从其他博主中摘取的// WinMain001.cpp : Defines the entry point for the application.//#include "stdafx.h"#includ转载 2016-07-06 20:28:00 · 3019 阅读 · 3 评论 -
尝试往pe.data区写数据
if (!CopyFile(lpccpPath, newFileName, FALSE)) { eLogA("**CopyFile failed..error: %d.!\n",GetLastError()); continue; } //改写PE区段头部.data 数据原创 2016-07-18 10:06:13 · 1193 阅读 · 0 评论 -
注册表重定向
32位程序如何访问64位的注册表(HKLM/Software)在调用函数RegCreateKeyEx创建注册表项时,对其第六个参数REGSAM samDesired设置中添加参数KEY_WOW64_64KEY,这样可以实现对64位注册表的访问;在调用函数RegOpenKeyEx打开注册表项时,要对其第四个参数REGSAM samDesired设置中添加参数KEY_WOW64_64K转载 2016-07-22 09:23:41 · 488 阅读 · 0 评论 -
修改TimeDateStamp值,造不同的文件.
HANDLE hFile = CreateFileA(externName.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (INVALID_HANDLE_VALUE != hFile) { dwFileSize = GetFileSize(hFile,转载 2016-07-22 09:36:52 · 1278 阅读 · 0 评论 -
PE文件RVA-VA-Offset
VA | Memory | Offset | Disk Files | | | | |00400000 +-------------+ | DOS Header | | DOS Header转载 2017-01-12 12:05:13 · 2136 阅读 · 0 评论