多线程编程之一——问题提出

多线程编程之一——问题提出作者:韩耀旭 下载源代码 一、问题的提出 编写一个耗时的单线程程序:   新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: void CSingleThreadDlg::OnSleepSixSecond() { Sleep(6000); //延时6秒 }   编译并运行应用程序,单击“延时6秒”按钮,你就会发现在这6秒期间程序就象“死机”一样,不在响应其它消息。为了更...
VC++多线程 | 2008-12-11 18:35 | 阅读 3622 次 | 评论 0 条

如何修改可执行文件的图标

文章属性:转载文章来源:www.xici.net/main.asp文章提交:wzfish (wzfish_at_21cn.com)本帖版权归原作者,其它媒体或网站转载请与e龙西祠胡同[http://www.xici.net]或原作者联系,并注明出处。 作者: antghazi 发表日期: 2001-12-14 17:48:53 返回《黑客也是侠》 快速返回如何修改可执行文件的图标作者:AntGhazi/2001.12.14 主页:antghazi.yeah.net在网上有很多关于PE文件格式的说明,讲得最多莫过于IMAGE_DOS_HEADER、IMAGE_NT_HEADERS、IMA...

WinNT & Win2K下实现进程的完全隐藏[转载]

面对众多的计算机高手,考虑许久,终于还是决定出来献丑一下,文章内尽量使用最简 洁易懂的词汇及例子来介绍,希望能够对一些初学与进阶者有所帮助。 关于进程的隐藏,98下的例子数不胜数。WinNT/Win2K下的隐藏方法,西祠的高手s hotgun在去年的6月就已经在网上发布出实例《揭开木马的神秘面纱<四>》 ,我也多次 拜读他的文章,对他的计算机水平及热心帮助朋友的作风十分敬佩。这里也可算是对sh otgun的文章的补充与深入介绍吧,好了,闲话少说。 在WinNT下真正隐藏进程这一说法,可以讲是根本不可能实现,只要我们的程序是以进 程内核的形式运行,都是不可能逃离CTRL+ALT+DEL的法...

简单的QQ盗号核心编程(转)

先讲一下思路:需要三个进程A,B,C;两个DLL。 初始进程A,用于在进程B中创建远程线程,创建成功立即退出,不会留给任务管理器任何捕捉它的机会(你根本来不及观察)。 进程B作为远程线程的寄主,选择的时候应该是那些系统中必须执行的进程,比如EXPLORER.EXE。其中的远程线程用于监视目标进程。 进程C为目标进程在这里也就是QQ.EXE。 第一个DLL(InspectQQLandDlg.dll),远程线程的载体。 第二个DLL(MyHook.dll),全局钩子函数的载体。 现在要做是利用进程A把InspectQQLandDlg.dll映射到进程B,同时启动该DLL中的远程线程,再利用该...

Windows NT/2000中获取窗口标题文本的更快速的方法 (转)

InternalGetWindowText函数为我们提供了获取Windows NT/2000系统中窗口标题的最快速的方法。它位于User32.dll。这个函数的功能类似于 GetWindowText,但是比GetWindowText快多了,因为它使用INT 2E 中断。InternalGetWindowText 是一个未公开的函数,它只能在Windows NT/2000 系统中使用,Windows 95/98系统中虽然也有这个函数,但只是摆摆样子而已,每次调用都返回错误代码 ERROR_CALL_NOT_IMPLEMENTED。 // fastgetwndtext.cpp (W...
vc | 2008-11-29 16:47 | 阅读 4376 次 | 评论 0 条

C语言中的volatile关键字

来源: ChinaUnix博客  作者: ChinaUnix博客   发布时间:2008-01-01 21:40:00 volatile关键字是一种类型修饰符,用他声明的类型变量表示能被某些编译器未知的因素更改,比如:操作系统、硬件或其他线程等。遇见这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而能提供对特别地址的稳定访问。 使用该关键字的例子如下: int volatile nVint;  当需求使用volatile声明的变量的值的时候,系统总是重新从他所在的内存读取数据,即使他前面的指令刚刚从该处读取过数据。而且读取的数据即时被保存。例如:vola...

黑客技巧之自己来做服务级的木马后门

以往大多数的木马/后门都是通过修改系统ini文件(比如Win.ini,System.ini)或修改注册表的RUN值来实现自启动的,更有更简单的是修改Autobat.exe(老大,地球不适合你,你还是回火星吧),但随着网络用户安全意识的提高,连我家旁边卖茶叶蛋的大妈都知道怎么对付这些老方法了。为了适应新时代木马后门技术的发展需求,一种利用视窗系统 NT/2000/XP系统服务的后门产生了,目前的WinShell,WinEggDrop等众人皆知的Telnte扩展后门都利用了这种方式。相信非常多小菜们对这种后门技术并不了解,所以,我在这里就充个大头,给大家传授教业解解惑吧(受害MM目光呆滞,一...

如何做服务级的木马后门

以往大多数的木马/后门都是通过修改系统ini文件(比如Win.ini,System.ini)或修改注册表的RUN值来实现自启动的,还有更简单的是修改Autobat.exe(老大,地球不适合你,你还是回火星吧),但随着网络用户安全意识的提高,连我家旁边卖茶叶蛋的大妈都知道如何对付这些老方法了。为了适应新时代木马后门技术的发展要求,一种利用Windows NT/2000/XP系统服务的后门产生了,现在的WinShell,WinEggDrop等众人皆知的Telnte扩展后门都利用了这种方式。相信很多小菜们对这种后门技术并不了解,所以,我在这里就充个大头,给大家传授教业解解惑吧。 前置原理 ...

VC++多线远程IPC种植木马

要实现代码如下///////////////////////////////////////////////////////////////////////////////////// typedef struct TagHost { CString host; CString user; CString pass; CString filename; CString Lo ... 要实现代码如下///////////////////////////////////////////////////////////////////////////////////// typede...

木马原型代码

转 似水流年论坛 #include<winsock2.h>#pragma comment(lib,"ws2_32.lib")#include<windows.h>#include <Shlwapi.h>#pragma comment(lib,"Shlwapi.lib")#include <tlhelp32.h>#include <stdio.h>#include <string.h>//参数结构 ; typedef struct _RemotePara{ DWORD dwLoadLibrary; DWORD dwFreeLibrary; DWORD dwGetPr...

木马中如何编程实现远程关机(VC版)

远程控制中,有一个重要的部份就是如何实现远程关机,如在各种黑客入侵中,我们到处可以见到木马的身影,木马它作为一种远程控制软件,它一般是实现了远程关机功能的。如我国大名鼎鼎的木马“冰河”等,都是有这个功能的,只是它是各种功能的集合罢了,今天我们就来看看这个重要的关机部分是如何编程实现的,在这里我就用眼下流行的VC6.0来编写,同时用VC也大大减少了我们的一些设计工作,让我们的菜鸟也来动手写一下自己的入侵工具。   在木马中,我们是采用的让客户端Socket给服务端的Socket发送相关的指令,同时当服务端收到相应的指令后,就执行相对应的操作指令,这些操作当然是在服务端的计算机上所进行的。而...

VC++动态链接库编程之DLL木马

来源:互联网 DLL在程序编制中可作出巨大贡献,它提供了具共性代码的复用能力。但是,正如一门高深的武学,若被掌握在正义之侠的手上,便可助其仗义江湖;但若被掌握在邪恶之徒的手上,则必然在江湖上掀起腥风血雨。DLL正是一种这样的武学。DLL一旦染上了魔性,就不再是正常的DLL程序,而是DLL木马,一种恶贯满盈的病毒,令特洛伊一夜之间国破家亡。?DLL木马的原理 DLL木马的实现原理是编程者在DLL中包含木马程序代码,随后在目标主机中选择特定目标进程,以某种方式强行指定该进程调用包含木马程序的DLL,最终达到侵袭目标系统的目的。 正是DLL程序自身的特点决定了以这种形式加载木马不仅可...

木马编程DIY之系统服务

来源:黑白网络 作者: 日期:2008-04-28 对系统服务的管理几乎是目前的木马必不可少的功能,比如神气儿、上兴远程控制等,都提供了此项服务。要是我们能给自己编写的木马也加上这个功能,看着也不赖哦。好啦,废话不多说,下面开始干活!   取得配置权限   在对服务进行管理设置前,我们需要以相应的权限打开服务,本文通过下面的两个API来实现操作。 SC_HANDLE OpenSCManager( LPCTSTR lpMachineName, // pointer to machine name string LPCTSTR lpDatabaseName, // ...
默认分类 | 2008-11-29 15:29 | 阅读 4875 次 | 评论 0 条

木马编程之单实例运行

实现思路 来源:黑白网络 作者: 日期:2008-05-12 这类程序的典型代表就是木马的服务端了,我们想要达到目得,会有这样的想法:程序运行时先检查有没有另一个实例在运行,没有的话就运行自己,有的话就退出自己.编程实现通常有两种方法可以实现我们分别来介绍1.使用互斥对像使用API函数CreateMutex来创建命名互斥对象来实现程序互斥是一个比较通用的方法,我们可以在主函数加入如下代码: HANDLE hObject = CreateMutex(NULL,FALSE,"LengFeng");if(GetLastError() == ERROR_ALREADY_EXISTS)//...

木马的一些函数要素

1.锁定鼠标:这个功能很简单只要一个ClipCursor()就可以搞定了看看下面的小程序#include <stdio.h>#include <windows.h>int main(int argc, char* argv[]){printf("/n别害怕15妙后你的鼠标就可以使用了^_^/n");RECT rect;rect.bottom=1;rect.right=1; ClipCursor(&amp;rect);::Sleep(15000);ClipCursor(NULL);//释放return 0;} 注:本文于06/12月于黑客防线发表版权归黑客防线所有,转载请注明出处rec...

一个远程DLL注入。。

篇幅原因只给出部分代码。。。 static DWORD hProcessId;//查找进程ID hProcessId=0; void CRemoteDllDlg::OnBtnInject() { // TODO: Add your control notification handler code here TCHAR getName[MAX_PATH]; GetDlgItemText(IDC_EDIT_TARGET,getName,MAX_PATH); TCHAR lpStr[MAX_PATH]; GetDlgItemText(IDC_EDIT_DLL,lpStr,M...

日记都是转载的

日记都是转载的。 如果未声明作者的篇章请原谅。可以与我联系,我将改正过来补上作者名字 QQ88587583 转载的日记只为了有时候没得上网就用手机上网来查看。。请勿见怪 只为研究技术和原理。
声明 | 2008-11-27 01:16 | 阅读 1869 次 | 评论 0 条

核心编程 第三部分 内存管理 堆栈

第18章 堆栈对内存进行操作的第三个机制是使用堆栈。堆栈可以用来分配许多较小的数据块。例如,若要对链接表和链接树进行管理,最好的方法是使用堆栈,而不是第1 5章介绍的虚拟内存操作方法或第1 7章介绍的内存映射文件操作方法。堆栈的优点是,可以不考虑分配粒度和页面边界之类的问题,集中精力处理手头的任务。堆栈的缺点是,分配和释放内存块的速度比其他机制要慢,并且无法直接控制物理存储器的提交和回收。 从内部来讲,堆栈是保留的地址空间的一个区域。开始时,保留区域中的大多数页面没有被提交物理存储器。当从堆栈中进行越来越多的内存分配时,堆栈管理器将把更多的物理存储器提交给堆栈。物理存储器总是从系...
vc | 2008-11-27 01:13 | 阅读 3147 次 | 评论 0 条

核心编程 第一部分 程序员必读 第2章 U n i c o d e

第2章 U n i c o d e随着M i c r o s o f t 公司的Wi n d o w s 操作系统在全世界日益广泛的流行,对于软件开发人员来说,将目标瞄准国际上的各个不同市场,已经成为一个越来越重要的问题。美国的软件版本比国际版本提前6 个月推向市场,这曾经是个司空见惯的现象。但是,由于各国对Wi n d o w s 操作系统提供了越来越多的支持,因此就更加容易为国际市场生产各种应用软件,从而缩短了软件的美国版本与国际版本推出的时间间隔。 Wi n d o w s 操作系统始终不逾地提供各种支持,以帮助软件开发人员进行应用程序的本地化工作。应用软件可以从各种不同的函数...
vc | 2008-11-27 01:11 | 阅读 3627 次 | 评论 0 条

第二部分 编程的具体方法 第6章 线程的基础知识

理解线程是非常关键的,因为每个进程至少需要一个线程。本章将更加详细地介绍线程的知识。尤其是要讲述进程与线程之间存在多大的差别,它们各自具有什么作用。还要介绍系统如何使用线程内核对象来管理线程。与进程内核对象一样,线程内核对象也拥有属性,我们将要观察许多用于查询和修改这些属性的函数。此外还要介绍可以在进程中创建和生成更多的线程时所用的函数。 第4章介绍了进程是由两个部分构成的,一个是进程内核对象,另一个是地址空间。同样,线程也是由两个部分组成的: &#8226; 一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。 &#8226; 另...
vc | 2008-11-27 01:10 | 阅读 3289 次 | 评论 0 条