自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bobopeng

十年磨一剑

  • 博客(59)
  • 资源 (3)
  • 收藏
  • 关注

转载 获取浏览器密码

当你在登录网站时,你是否习惯浏览器IE或者FireFox记住你的密码?即便是自己的个人电脑这样做也是很危险的,密码信息将很容易被他人窃取。IE Passview 可以查看IE记住的所有密码.下载基地: http://www.nirsoft.net/utils/iepv.zip运行IE Passview,你将看到IE中所有的被你记住的密码: FireFox则可以不用第三方工具直接查看

2014-07-31 13:49:05 4110

原创 MFC中使用GetParent获得子窗口的父窗口句柄

今天真是晕了,为了解决

2014-07-28 23:00:57 6166

转载 解决error C2011: 'fd_set' : 'struct' type redefinition的方法

首先说明这个问题由于重复定义引起的编译错误。先说明解决方法,然后再说是什么原因导致了这个问题。 解决方法:下列任何一种方法都可以。1. 在所有包含windows.h的代码之前加上#define  WIN32_LEAN_AND_MEAN2. 或者直接在工程的properties( vc6 以上)/Setting(vc6) -> c/c++ -> preprocesso

2014-07-28 14:04:46 3945 1

转载 WM_CLOSE,WM_QUIT,WM_DESTROY的区别

WM_DESTROY, WM_CLOSE, WM_QUITWM_DESTROY 是关闭程序的    WM_CLOSE   是关闭窗口的  WM_QUIT    是关闭消息环的以下是程序结束的过程:1、使用者按[File/Close],系统发出WM_CLOSE消息2、Frame把这条消息直接发给预处理程序3、预处理程序发出WM_DESTROY消息4、预处理程序收到WM

2014-07-28 00:15:59 567

转载 MFC模态对话框与非模态对话框

MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。 一、模态对话框(model dialog box)        在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。       点击模态对话框中的OK按钮,模态对话框会被销毁。        

2014-07-28 00:14:42 621

原创 使用memcpy缓冲区溢出了

今天继续编写远控,但是

2014-07-26 02:23:24 7891 1

原创 使用完成端口投递WSARecv出现错误

今天使用刚学完成端口实现

2014-07-26 01:22:26 1718

原创 从win32中的写时复制(Copy on write )机制谈起

我们知道,内存映射文件的物理存储器来自

2014-07-24 00:11:24 3405

原创 socket网络编程中的数据传输的问题

在前面的很多博文中

2014-07-23 22:22:47 2503

原创 在windows系统下使用CMD进行服务操作

当使用“运行”输入serv

2014-07-22 17:16:35 1344

原创 在DLL 的DllMain函数中创建线程

最近在写一个代码的时候想在DLL的DllMain

2014-07-22 16:31:04 6564 2

转载 数据逆向分析(4)——识别结构体

结构体       struct是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。它的实现方法上和数组是一样的,即每一个成员的访问是直接寻址方式。唯一的区别是,为了提高访问效率,成员无论类型为何,编译器将它们按照4字节对齐。 eg:struct test       {            char str;            int i;     

2014-07-20 21:17:53 3211

转载 数据逆向分析(3)——识别字符串与数组

字符串    在C语言中,字符串是由字符组成,单字符不是字符串,至少有两个字符组成,且结尾字符是'/0'。    例如:"ABCD" 内存中实际储存结构是 41H 42H 43H 44H 00H     字符串的寻址,依靠首字节进行寄存器相对寻址方式:    例如:访问"ABCD"中的第二字节,byte ptr [ebx+1]     正是因为字符串的首字节索引的寻址方

2014-07-20 21:17:04 634

转载 数据逆向分析(2)——区分变量,常量以及指针

做数据逆向分析最先应该区分数据是常量、变量,还是指针。可是作为二进制数据本身不会标记自己是什么,然而编译器将不同的的类别储存在不同的区域。  变量数据应分为这两类:      1.局部非静态变量:对于1KB以下的该种变量,一般都要放在栈区,那么它的寻址必然用到ebp寄存器来间接变址进行寻址。另外,有些编译器(比如gcc)出于优化考虑,也会用到esp寄存器。举例:void

2014-07-20 21:13:26 757

转载 数据逆向分析(1)——开篇

许多人将软件逆向工程看做代码逆向工程,然而软件被看做是“软件=代码+数据”。那么对等的就应存在“数据逆向工程”,虽然数据逆向工程与代码逆向工程有交叉部分,但是它们各有侧重。代码逆向工程主要利用反汇编分析代码的执行流程。数据逆向工程重点在于数据结构和数据内容。       二进制文件的数据可以逆向,却不可能反汇编,因为数据连续的静静地躺在栈区和数据段,但为了分析数据,我们又不得不利用代码反汇编,

2014-07-20 21:12:24 2267

转载 C++设计一个简单的壳(1)

本文中的代码均来自《黑客免杀攻防》,如要转载,需写明来源,请勿用于非法用途,作者对此文章中的代码造成的任何后果不负法律责任。看了一遍书本的第11章,感觉内容确实比较高级,之前虽然自认为是热衷于搞C/C++开发,但是运用windows API的开发真的是太少了。先来看看一个简单的壳的编写。         这个加壳脱壳程序分为三部分,首先是用MFC写的界面程序,这个自然不用多说,主要功能就是

2014-07-20 21:08:51 1688

转载 C++设计一个简单的壳(2)

本文中的代码均来自《黑客免杀攻防》,如要转载,需写明来源,请勿用于非法用途,作者对此文章中的代码造成的任何后果不负法律责任。本文接上一篇简单的壳1.2.加壳部分         写这个部分的时候我自己对于这部分的代码也没有做到很熟悉,因为这部分相对于前一部分来说复杂了许多,后面就会看见。所以我也是通过再次巩固来进一步理解加壳的基本步骤。废话不多说,首先还是从声明部分说起。对了在这之前,最好

2014-07-20 21:08:13 955

转载 关于PE病毒编写的学习(10)——空隙覆盖病毒的实现方法

这类病毒名字很多,选这个名字主要是它比较形象说明其感染方式,即将病毒代码分成多份,分别注入到程序各节由于对齐产生的空白中。 1.核心——病毒描述表  将病毒代码分割成多份,分别注入到未知地址的区域内,却能完整运行。这看似神奇,其实实现方法却很简单———建立病毒分割描述表 病毒分割描述表举例(汇编): Virus_Distribution struct;病毒片段描述符

2014-07-20 21:01:41 540

转载 关于PE病毒编写的学习(9)

原本这一篇应该和上一篇同时发,但是我的原来代码写得很烂,而且由于我的目标是编写一个“追加病毒”框架,代码又要具备良好的模块特征。这两天改来改去,已经头脑混乱了,所以还是先发文章把原来的代码挂上,有时间再改,我会配上说明。  另外提一句,我把一个bug写再AddSection这个函数里,很多教学码也故意写这个错误,这个错误本意是修改由于PE文件头的修改使“xx值”应适当变化,实际写入的是空位置,

2014-07-20 20:59:48 609

转载 关于PE病毒编写的学习(8)

OK,兑现我的承诺,从本章开始讲述“追加病毒”的编写方法。我们将实现一个只弹出对话框的良性病毒,但是考虑到这个代码可能造成的危害,我会在感染模块中写入一个小Bug。不过,对于大家的学习是毫无影响的。   回到正题,先介绍一下“追加病毒”,在DOS时代中,这种病毒相当常见。由于.com文件的入口点是固定的,而且我们知道DOS平台程序可以随意使用中断,因此追加病毒只要将病毒代码追加到宿主文件尾

2014-07-20 20:58:56 610

转载 关于PE病毒编写的学习(6)——关于PE文件结构操作的程序编写

对PE文件结构的各个值定义和作用,这里不提了,网上资源很多,百度一下就好了。所以,本章只说一下,作为代码编写者对PE文件结构操作的方法和技巧。还是通过改进代码,来体会一下吧。  你应该记得前面的BOOL IsPEFile(HANDLE hFIle) 这个函数吧,它的作用是判断文件是否为PE格式文件。它把文件句柄作为参数,虽然许多函数需要文件句柄这个参数,但是作为对PE文件结构操作的函数,这

2014-07-20 20:56:02 630

转载 关于PE病毒编写的学习(7)——定位API的N种方法

由于大部分的文件感染型病毒框架都不可以像“前置病毒”那样拥有自己的输入表,因此需要自行定位API说一千道一万,想要定位API,大方向是要定位Kernel32.dll的基地址。 总结所以这些方法,可以分为是五个小方向,它们又产生很多变种。 一、定位kernel32.dll基地址的方法(1)硬编码方式    由于kernel32.dll的基地址在相同版本windows下,基

2014-07-20 20:55:10 831

转载 关于PE病毒编写的学习(4)——关于遍历磁盘的讨论

在上一章中的“前置病毒”中,由于它只是一个测试病毒,因此该病毒只是搜索病毒文件所在文件夹的exe文件。 显然,为了让它具有更好传染性,能够历遍整个磁盘或某些重要文件夹的特性,是十分重要的。 开始讨论历遍之前,先让我们来改进原来的代码首先在上一章的代码中,只要结尾是“.exe”的文件就被判断为"可执行程序",这种方法在大多数情况下是正确的,但是如果程序经过压缩或加密后,该文件的P

2014-07-20 20:53:15 664

转载 关于PE病毒编写的学习(5)——病毒如何做标记和记录信息

1.做标记和记录信息的区别   做标记:它是为了其它病毒识别自己,而在固定或符合一定规则的位置上记录的符号信息。    记录信息:它是为了病毒本身正确运行,而存储的某些信息,甚至是部分代码,比如解密程序的随机密匙、所感染宿主文件的某些信息 2.那些地方可以做标记和记录信息   (1)可标记的位置       1/程序的入口区域和尾部区域;并非一定是开头和结尾,比如 

2014-07-20 20:51:59 785 1

转载 关于PE病毒编写的学习(2)

这篇说一下,PE病毒需要那些技术积累,以及这些技术的学习方法和重点是什么。 1.先说汇编吧       其实我说的汇编关于两个方面:汇编语言设计 和 微机原理       汇编语言设计,它也是两方面: 常规教材讲的 和 病毒的技巧       常规教材上讲的基本都得学会,最基本的8086/8088肯定都得会,各种书籍视频很丰富,学起来不难。80x86也是必须得学,建

2014-07-20 20:51:12 915

转载 关于PE病毒编写的学习(1)

首先声明,因为害怕被删帖,我肯定不会展示正确完整病毒代码,但是会介绍可行的学习方法。 网上有很多关于介绍PE病毒编写的帖子,但基本上都是分析源码FunLove和《计算机病毒分析与对抗》中PE病毒的代码翻版。事实上这两个代码是用于原理展示,前者根本通不过编译,后者编译后并不能正确运行,虽然有部分帖子对其做了修改,受到正统汇编教材代码的影响,导致其修改方法是错误的。 关于病毒编写充满了

2014-07-20 20:49:56 1918

转载 关于PE病毒编写的学习(3)

历史上,在windows95发布后,用高级语言编写的外壳病毒,经过简单地改造编译,就能从DOS平台迁移到windows平台上。并且在这当中很多“前置病毒”,仅仅需要重新编译。 另外之所以用“前置病毒”作为第一分析样本,理由如下:1.它具有基本病毒功能模块,这些模块在文件型病毒中是通用的2.其框架结构,所需病毒技巧极少3.拓展方便,通过不断地加入新功能,循序渐进的学习各种病毒

2014-07-20 20:49:39 695

转载 vc 6.0之DLL的调试

你写的DLL或者ActiveX需要调试,因为他们不能直接运行 ,所以不能够直接调试,那么可以试试下面的方法:1. 在Vc 6.0中新建一个Win32 Console Application工程(例如DLLTest),代码中调用需要调试的DLL,编译该工程,生成Debug/DLLTest.exe,关闭该工程。2. 打开VC 6.0,打开需要调试的DLL工程,点击菜单Build->Set Ac

2014-07-20 20:38:42 1044

转载 使用c++扩展python的功能

使用C++扩展Python的功能   环境VS2005Python2.5.4 Windows7(32位) 简介长话短说,这里说的扩展Python功能与直接用其它语言写一个动态链接库,然后让Python来调用有点不一样(虽然本质是一样的)。而是指使用Python本身提供的API,使用C++来对Python进行功能性扩展,可以这样理解,使用更高效的语言实现一些算法计算等

2014-07-20 20:36:31 734

转载 C++调用python浅析

C++调用Python浅析   环境VS2005Python2.5.4 Windows XP SP3 简述一般开发过游戏的都知道Lua和C++可以很好的结合在一起,取长补短,把Lua脚本当成类似动态链接库来使用,很好的利用了脚本开发的灵活性。而作为一门流行的通用型脚本语言Python,也是可以做到的。在一个C++应用程序中,我们可以用一组插件来实现一些具有统一接口的

2014-07-20 20:32:29 842

转载 每个程序员都应该做事情——代码审查( Code review )

翻译:magictong(童磊)2011年9月版权:Mack CC原文地址:http://scientopia.org/blogs/goodmath/2011/07/06/things-everyone-should-do-code-review/原文名称:Things Everyone Should Do: Code Review       之前在一些项目中发现,修改代

2014-07-20 20:31:49 798

转载 PE病毒技术剖析

任何语言只要表达能力足够强,都可用于编写PE病毒。但现存的绝大部分PE病毒都是直接用汇编编写的,一方面是因为汇编编译后的代码短小精悍,可以充分进行人工优化,以满足隐蔽性的要求;另外一方面之所以用汇编是因为其灵活和可控,病毒要同系统底层有时甚至是硬件打交道,由于编译器的特点不尽相同,用高级语言实现某些功能甚至会更加麻烦,比如用汇编很方便地就可以直接进行自身重定位、自身代码修改以及读写IO端口等操作,

2014-07-20 18:24:48 1689

转载 给进程提权的3个方法

第一个方法:bool EnableDebugPrivilege() { HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TO

2014-07-20 17:14:21 2334

原创 GetLastError函数返回值的含义

通常只有在发生了错误的情况下,嗲GetLastError的返回值的含义:(0)-操作成功完成。(1)-功能错误。(2)- 系统找不到指定的文件。(3)-系统找不到指定的路径。(4)-系统无法打开文件。(5)-拒绝访问。(6)-句柄无 效。(7)-存储控制块被损坏。(8)-存储空间不足,无法处理此命令。(9)-存储控制块地址无效。(10)-

2014-07-20 17:08:04 958

原创 在Windows下使用LoadLibrary导入自定义的DLL出现998错误

今天在使用LoadLibrary导入自定义的一个DLL的时候出现了998的错误

2014-07-20 17:06:31 3536

转载 深入解析完成端口(Completion Port )

手把手叫你玩转网络编程系列之三   完成端口(Completion Port)详解                                                             ----- By PiggyXP(小猪)前 言         本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿

2014-07-18 06:18:32 804

原创 通过直接读取修改exe文件的方式编写远控/木马配置器

一般的远控或木马都有配置器,

2014-07-17 22:07:34 3507 1

转载 Windows服务编写原理及探讨(4)

(四)一些问题的讨论   前面几章的内容都是服务的一些通用的编写原理,但里面隐含着一些问题,编写简单的服务时看不出来,但遇到复杂的应用就会出现一些问题,所以本章就是用来分析、解决这些问题的,适用于高级应用的开发人员。我这一章的内容都是经过实验得到的,很有实际意义。  我在第一章里面就说过,是由一个服务的主线程执行CtrlHandler函数,它将收到各种控制命令,但是真正处理命令

2014-07-17 00:13:44 435

转载 Windows服务编写原理及探讨(3)

(三)对服务的深入讨论之下现在我们还剩下一个函数可以在细节上讨论,那就是服务的CtrlHandler函数。  当调用RegisterServiceCtrlHandler函数时,SCM得到并保存这个回调函数的地址。一个SCP调一个告诉SCM如何去控制服务的Win32函数,现在已经有10个预定义的控制请求:Control codeMeaning

2014-07-17 00:11:55 604

转载 windows服务编写原理及探讨(2)

(二)对服务的深入讨论之上  上一章其实只是概括性的介绍,下面开始才是真正的细节所在。在进入点函数里面要完成ServiceMain的初始化,准确点说是初始化一个SERVICE_TABLE_ENTRY结构数组,这个结构记录了这个服务程序里面所包含的所有服务的名称和服务的进入点函数,下面是一个SERVICE_TABLE_ENTRY的例子:SERVICE_TABLE_ENTRY serv

2014-07-17 00:07:23 478

Windows消息机制

Windows消息机制

2013-01-03

windows程序设计

windows程序设计,PPT 消息机制,基础

2013-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除