2008年10月13日
摘要: ---- 屏幕截取是令人比较感兴趣的事情.虽然现在有不少应用程序如HYPERSNAP等可以用来截取你所喜欢的屏幕画面,但是如果能把这个功能加到自己的程序中,就更能利用它强大的作用. ---- 下面用VC来逐步介绍在Windows95下的实现过程.首先我们要确定屏幕截取的区域,用LPRECT结构来定义.可以截取一个窗口,或整个屏幕.以下代码把选定的屏幕区域拷贝到位图中. HBITMAP CopySc... 阅读全文
posted @ 2008-10-13 23:38 一个人的天空@ 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 本文首先讨论16位Windows下不具备的线程的概念,然后着重讲述在32位Windows 95环境下多线程的编程技术,最后给出利用该技术的一个实例,即基于Windows95下TCP/IP的可视电话的实现。 一、问题的提出 作者最近在开发基于Internet网上的可视电话过程中,碰到了这样一个问题。在基于Internet网上的可视电话系统中,同时要进行语音采集、语音编解码、图象采集、图象编解码... 阅读全文
posted @ 2008-10-13 23:35 一个人的天空@ 阅读(690) 评论(0) 推荐(0) 编辑
摘要: UDP 是USER DATAGRAM PROTOCAL 的简称,是一种在网络上提供的无连接的传输协议。 用UDP通信有以下特点: 1、 数据传输不用建立连接,所以不可靠; 2、 数据的发送是面向整个网络的,任何一台在局域网内的计算机都可以接收到相同的数据; 具体实现很简单,但是现在在网络上很少看到这方面的代码;我也参考了VCKBASE上的关于UDP通信的原代码和一些书籍,写了这个简单的客户端,接收... 阅读全文
posted @ 2008-10-13 23:31 一个人的天空@ 阅读(1055) 评论(0) 推荐(0) 编辑
摘要: 与socket有关的一些函数介绍 1、读取当前错误值:每次发生错误时,如果要对具体问题进行处理,那么就应该调用这个函数取得错误代码。 int WSAGetLastError(void ); #define h_errno WSAGetLastError() 错误值请自己阅读Winsock2.h。 2、将主机的unsigned long值转换为网络字节顺序(32位):为什... 阅读全文
posted @ 2008-10-13 23:28 一个人的天空@ 阅读(270) 评论(0) 推荐(0) 编辑
摘要: Socket(套接字) ◆先看定义: typedef unsigned int u_int; typedef u_int SOCKET; ◆Socket相当于进行网络通信两端的插座,只要对方的Socket和自己的Socket有通信联接,双方就可以发送和接收数据了。其定义类似于文件句柄的定义。 ◆Socket有五种不同的类型: 1、流式套接字(stream socket) 定义: #define S... 阅读全文
posted @ 2008-10-13 23:26 一个人的天空@ 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 这几天都在玩socket了,有一点心得,贴出来与大家共赏,若有不妥或错误的地方,还请各位看官指点一二。什么是socket?socket就是...,我在这里就不抄书了,有兴趣的同仁去查查书吧。不过还要说一句,socket就是不同进程之间的一种通信方式。就象打电话是朋友之间的一种通信方式是一样。个人理解:所谓“通信”,就是相互之间发送数据。有人理解socket是不同计算机之间的一种通信方式,这是不确切... 阅读全文
posted @ 2008-10-13 23:23 一个人的天空@ 阅读(1414) 评论(0) 推荐(1) 编辑
摘要: #include #include #include //winpcap的头文件#include #include //多线程编程的头文件#include #include //提取网关用的头文件#pragma comment(lib,"ws2_32")#pragma comment(lib,"pcap")#pragma comment(lib,"IPHlpApi")////////////... 阅读全文
posted @ 2008-10-13 23:07 一个人的天空@ 阅读(3653) 评论(2) 推荐(1) 编辑
摘要: #include "stdafx.h”#include “stdio.h”#include “string.h”#include #include #include “tlhelp32.h”#pragma comment(lib,”wininet.lib“)/***********************************************/typedef HINSTANCE (__s... 阅读全文
posted @ 2008-10-13 23:00 一个人的天空@ 阅读(2594) 评论(0) 推荐(0) 编辑
摘要: ; ; __pkdge32 procedure ; =================== ; ; ; Description ; ----------- ; ; This is the main procedure of the engine. It controlz the whole generation ; process, including SEH setup, instruc... 阅读全文
posted @ 2008-10-13 22:52 一个人的天空@ 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 【pker / CVC.GB】 11、多态(Polymorphism) ----------------------- 在谈多态之前让我们先来看一看简单的代码加密(当然,在这里我指的不是密码学上的加密 :P)。考虑如下代码: __start: mov esi,code2encrypt mov edi,esi ... 阅读全文
posted @ 2008-10-13 22:51 一个人的天空@ 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 9、实现一个最简单的病毒 ----------------------- 在这一节,我们来看一个最简单的病毒,一个search+infect+payload的direct action病毒 :P 嗯...有什么好解释的呢?似乎过于简单了,我们还是直接看代码吧: format PE GUI 4.0 entry _vStart include 'useful.inc' virtual at es... 阅读全文
posted @ 2008-10-13 22:50 一个人的天空@ 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 【pker / CVC.GB】 8、API函数地址的获得 -------------------- 回忆一下刚才我们是如何调用API的:首先,引入表是由一系列的IMAGE_IMPORT_DESCRIPTOR 结构组成的,这个结构中有一个FirstThunk字段,它指向一个数组,这个数组中的值在文件 被pe ldr加载到内存后被改写成函数的真正入口。一些编译器在调用API时把后面的地址指向 一个跳转... 阅读全文
posted @ 2008-10-13 22:49 一个人的天空@ 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 6、重定位的奥秘 --------------- 重定位源于代码中的地址操作,如果没有地址操作那么就不存在所谓的重定位了。让我们先 来分析一段代码。考虑如下代码: format PE GUI 4.0 mov esi,pszText ret pszText db '#$%*(*)@#$%',0 打开softice,看看我们代码被编译为: 001B:00401000 B... 阅读全文
posted @ 2008-10-13 22:47 一个人的天空@ 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 【pker / CVC.GB】 5、关于FASM ----------- 下面我们用FASM来编写我们的第一个程序。我们可以编写如下代码: format PE GUI 4.0 entry __start section '.text' code readable executable __start: ret 我们把这个文件存为test.asm并编译它:... 阅读全文
posted @ 2008-10-13 22:46 一个人的天空@ 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 【pker / CVC.GB】 1、声明 ------- 本文仅仅是一篇讲述病毒原理的理论性文章,任何人如果通过本文中讲述的技术或利用本文 中的代码写出恶性病毒,造成的任何影响均与作者无关。 2、前言 ------- 病毒是什么?病毒就是一个具有一定生物病毒特性,可以进行传播、感染的程序。病毒同样 是一个程序,只不过它经常做着一些正常程序不常做的事情而已,仅此而已。在这篇文章中 我们将揭开病毒的神... 阅读全文
posted @ 2008-10-13 22:42 一个人的天空@ 阅读(628) 评论(0) 推荐(0) 编辑
摘要: The ICO File An Icon file, which usually has the ICO extension, contains one icon resource. Given that an icon resource can contain multiple images, it is no surprise that the file begins with an icon... 阅读全文
posted @ 2008-10-13 22:38 一个人的天空@ 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 一、数据传输指令 ─────────────────────────── 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈. POPA 把DI,SI,B... 阅读全文
posted @ 2008-10-13 22:34 一个人的天空@ 阅读(193) 评论(0) 推荐(0) 编辑
摘要: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Cli... 阅读全文
posted @ 2008-10-13 22:23 一个人的天空@ 阅读(227) 评论(0) 推荐(0) 编辑
摘要: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; ... 阅读全文
posted @ 2008-10-13 22:22 一个人的天空@ 阅读(239) 评论(0) 推荐(0) 编辑
摘要: unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; procedu... 阅读全文
posted @ 2008-10-13 22:20 一个人的天空@ 阅读(316) 评论(0) 推荐(0) 编辑