吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4500|回复: 2
收起左侧

[其他转载] 16进制编写简单PE(原创)

 关闭 [复制链接]
willJ 发表于 2011-10-19 16:31
本帖最后由 xiangshen 于 2011-10-19 17:40 编辑

本人菜鸟一只,最近觉得自己对PE不是很了解,就查看了很多资料用16进制编辑器写了一个简单的hell52pojie的PE程序,希望大牛们以后多多指教,现在分享下我的学习:

MZ-DOS MZ头部(大小:64字节)


MS-DOS(大小112字节)


PE文件标志(4字节)


PE文件头(20字节)


PE文件可选头(224字节)


各段头部(i*40字节)


各段实体数据

所有的PE文件必须有一个DOS MZ头部,这是考虑到对DOS系统一个兼容性问题,有了这个头才能在DOS下识别是一个可执行文件,然后运行紧跟的MS-DOS
MS-DOSPE文件中只是实现一句话“This program cannot run in DOS mode”来提醒用户,在编写时我直接00填充了。
PE文件标志是PE结构的起始标识,就是50450000
ASCII
PE。
PE文件头是IMAGE_NT_HEADERS的简称,其中包含了重要信息,当PE可以运行时可以直接跳过MS-DOS定位到PE文件头。
PE可选头虽然取的名字是可选,但是是必须的,而且有重要信息,所有必须编写。
各段节头部,做病毒分析时,打开lordPE里有个区段就可以看见了,Windows NT典型的拥有9个区段:.text .bss .rdata .data .rsrc .edata .IDAta.pdata .debug。我们也可以自己定义一些区段加入PE中,病毒感染PE就是加了自己的区段,加入代码,修改入口点执行的。
大体可以看出PE可以分为4个部分:DOS部分,PE部分,各段头部,各段实体部分。
下面是写的一个Hello,52pojie!的程序,非常简洁,只有重要数据,大家可以用16进制编译器(C32ASMWinHex等)打开看看。多有总结不当,还望大牛们多多指出{:1_931:}。
hello52projie.rar (368 Bytes, 下载次数: 25)
连接:http://115.com/file/bhqx4ahi#

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

764619208 发表于 2011-10-19 17:19
大哥,你不知道CB紧张阿。发个连接吧、。
 楼主| willJ 发表于 2011-10-19 17:35
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-22 08:03

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表