摘要: 在熟悉了PE结构之后,我们还有知道系统从磁盘加载静态文件映射到内存,作了哪一些的改变。 PE结构,就好像一张指南,告之系统自己的各个属性,哪些地方保存着哪些数据,随后又加载到哪里去。加壳的PE文件始终是也是一个文件,同原始的PE文件比较,只不过是两种数据结构相同,却数据内容不同罢了。 下面我们模拟一次系统loader的过程,探讨一下PE文件是如何从磁盘的静态数据加载的内存中去的。 首先,loader会判断目标文件是否问正常的PE文件IMAGE_DOS_HEADER结构的MZ标志IMAGE_NT_HEADER结构的PE/0/0标志如果出错,就会弹出一个错误提示。\如果是正确的PE格式那么load 阅读全文
posted @ 2012-04-18 23:21 r3call 阅读(353) 评论(0) 推荐(0) 编辑
摘要: PE文件中的结构众多,但是其实,这些结构一多半是告诉loader怎么去加载自身PE的。正常的PE文件总是很严格去填充自身的内部结构,但是也有一小部分变形PE文件没有那么的中规中矩,所以PE结构中有的信息到了loader可能最终也只是起到了一个校验作用。在纵观PE整个大结构的时候,不应该去拘泥于每一个数据结构的特征,应该从大体上去把握它。本文试图通过loader加载方式的类比和举例的角度,介绍了loader是如何讲PE结构中相关重要数据进行加载的。因为介绍PE的优秀文章有很多加上作者水平很有限,如果有错误,请各位指正。下面,就开始逐一的介绍相关重要的结构:1.各种表头 1.1 Dos表头 1.2 阅读全文
posted @ 2012-04-18 23:20 r3call 阅读(791) 评论(0) 推荐(0) 编辑
摘要: from:http://www.2cto.com/Article/201202/118214.html这是我对之前学习写一个简单压缩壳的总结。期间查阅了很多的资料,借鉴了很多的代码,做了很多的笔记,有一些小心得和体会,希望与大家共同的交流和学习。再一次的感谢各位前辈们提供的无数资料。 文章分为了4个部分,从最基本的概念,到最后学习实践的代码,都在这个系列之中。文章包括:1.数据与指令,以及加载前期相关概念2.pe文件的结构解析3.pe文件load的过程4.壳的处理 因为小弟才疏学浅,肯定有不足和错误之处,希望各位大虾能多多的指点。希望为学习写压缩壳的朋友提供一点参考,哪怕是一点点,就很知足了: 阅读全文
posted @ 2012-04-18 23:19 r3call 阅读(494) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-04-18 18:42 r3call 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 在程序中,.cpp扩展的文件并不是唯一一种常见的文件。另一种文件称为头文件,有时被称为include file。都文件基本都有一个.h扩展名。头文件的目的是将其它文件要用到的声明整合到一起。标准库头文件的使用看一下下面的程序: 1: #include <iostream> 2: int main() 3: { 4: using namespace std; 5: cout << "Hello, world!" << endl; 6: return 0; 7: }这个程序使用cout将Hello, world!输出到控制台的屏幕中。但是,你 阅读全文
posted @ 2012-04-18 13:10 r3call 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 下载地址:http://files.cnblogs.com/tk091/crackme6.7z先用peid检测,为ASPack 2.x (without poly) -> Alexey Solodovnikov [Overlay]壳。用od载入1 00405000 60 pushad2 00405001 > E8 03000000 call crackme6.004050093 00405006 - E9 EB045D45 jmp 459D54F64 0040500B 55 push ebp默认运行到第二行,利... 阅读全文
posted @ 2012-04-18 09:35 r3call 阅读(2680) 评论(0) 推荐(0) 编辑
摘要: 使用过QQ的人都知道,只要把文件拖拽到消息框中就可以传送文件了。那么这种功能是如何实现的呢?其实很简单,只需要响应一个WM_DROPFILES消息就可以了。 在基于对话框的程序中,默认是没有这个消息的,按下Ctrl+W,弹出类向导对话框,选择Class Info标签,在Message fileter下拉列表中选择Window,然后再点击Message Maps标签,就出现WM_DROPFILES消息了,添加该消息的响应函数: void CTestDlg::OnDropFiles(HDROP hDropInfo) { // TODO: Add your... 阅读全文
posted @ 2012-04-17 22:37 r3call 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 1 // CalculatorDemoDlg.cpp : implementation file 2 3 4 #include "stdafx.h" 5 #include "TestCalculatorDemo.h" 6 #include "CalculatorDemoDlg.h" 7 #include "math.h" 8 #include "string" 9 10 #ifdef _DEBUG 11 #define new DEBUG_NEW 12 #undef THIS_FILE 13 s 阅读全文
posted @ 2012-04-17 22:28 r3call 阅读(419) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2012-04-17 22:04 r3call 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 先从http://upx.sourceforge.net/上下载基于win32的upx加密程序。用vc6.0编写一个基于对话框的MFC程序,默认的框架就OK了。为upx创建快捷方式到sendto文件夹,即添加到右键菜单。对程序进行加密。1.使用esp定律1 00439DF7 8D4424 80 lea eax,dword ptr ss:[esp-80]2 00439DFB 6A 00 push 03 00439DFD 39C4 cmp esp,eax4 00439DFF ^ 75 FA jnz sho... 阅读全文
posted @ 2012-04-17 22:02 r3call 阅读(342) 评论(0) 推荐(0) 编辑