利用PE结构给Windows可执行程序加密码
来源:互联网 发布:网络推广人员工资高吗 编辑:程序博客网 时间:2024/04/30 21:23
Windows下可执行文件称为PE格式,包括常见的exe、dll等,通过PE格式的合理利用,可以实现许多有趣且使用的功能。本文提出了利用PE结构给Windows可执行程序加密码的方法(仅针对未经加壳处理的exe文件,且因为Kernel32.dll不同,故仅适用于Windows XP操作系统)。
大致思路是:为目标程序添加三个新区块,分别为WndProc、Strings、ShellCode,分别存放登录窗口例程、字符串、新入口点的ShellCode。在ShellCode中创建登录窗口,接收用户密码;在WndProc中处理登录窗口的消息;在Strings中存放要用到的字符串。
先保存好目标程序的原始入口点,再改变入口点为ShellCode,执行完权限验证后再转到原始入口点OEP;
在ShellCode的编写过程中,要用到许多技巧,因为ShellCode中不能直接调用任何API函数和库函数,要自己手动寻找相关的API地址;另外,要求对较为底层的操作,如寄存器、堆栈、内存寻址等,也要有所了解。例如传递参数,就不能像普通程序那样处理,而要先申请一块内存,A把参数放在该内存,B再从该内存中取出。
下面以Windows自带的记事本Notepad为例,程序界面截图如下,点击“打开PE文件”按钮,选择要加密码的程序。
点击“区块表”,出现如下界面。
点击“添加新区块”按钮,便可以给记事本程序加上密码,在此密码设置为“whacker”。
经过本程序处理后,再打开notepad.exe,便会出现下图的登录框,要求输入密码。
如果密码输入错误,出现如下提示,并且不能启动记事本。
如果密码输入正确,记事本成功运行,如下图。
(注:小弟是绝对菜鸟一个,此文是本人的处女作,请各位大侠和老鸟们多加指教,不胜感激。由于小弟不会上传附件,有需要程序的请与本人联系,谢谢包涵!)
- 利用PE结构给Windows可执行程序加密码
- 初识pe结构--手写可执行程序
- 【EXE PE】初识pe结构--手写可执行程序
- 利用htpasswd给nginx加访问密码
- 给PE文件增加可执行代码
- 可执行程序的结构
- 纯手工编写的PE可执行程序
- 纯手工编写的PE可执行程序
- 纯手工编写的PE可执行程序
- 纯手工编写的PE可执行程序
- PE 结构 windows版
- windows PE结构解析
- windows PE结构解析
- 给windows目录加密码防止恶意软件入侵
- 给网页加密码
- PE修复Windows系统密码
- 【PE】如何将Python程序变成可执行程序?
- Windows PE文件结构简介
- 针对上传木马找不到名字的解决办法
- ActiveMQ 安装、测试全过程
- 从网络开始
- MyEclipse9下开发Hibernate实例
- c++学习札记(三)
- 利用PE结构给Windows可执行程序加密码
- VFS之mount函数分析
- XPCOM开发实例
- 在 64位Ubuntu系统上 建立32位编译环境
- 手工MSSQL注入常用SQL语句
- NoSQL数据库探讨之一 - 为什么要用非关系数据库?
- 网页制作人员必看的24条技巧
- java doc html 转成 chm
- MIT教数学的老师总结了十条经验,对理工科学生应该很有教益