先普及几个概念:

  1. PE文件:portable executable(可移植的可执行文件),主要在Windows系统中,包括exe/dll/sys文件。
  2. 加壳:是利用特殊的算法,对EXE、DLL文件里的资源进行压缩、加密。类似WINZIP 的效果,只不过这个压缩之后的文件,可以独立运行,解压过程完全隐蔽,都在内存中完成。它们附加在原程序上通过Windows加载器载入内存后,先于原始 程序执行,得到控制权,执行过程中对原始程序进行解密、还原,还原完成后再把控制权交还给原始程序,执行原来的代码部分。加上外壳后,原始程序代码在磁盘 文件中一般是以加密后的形式存在的,只在执行时在内存中还原,这样就可以比较有效地防止破解者对程序文件的非法修改,同时也可以防止程序被静态反编译。
    一、使用UPX对exe文件进行加壳:打开文件之后直接执行,会发现exe文件的大小变小了
  3. 使用PEiD对于加壳后的文件进行探测:可以看到显示被加了壳
  4. 使用UPX脱壳:并且大小恢复到原来的大小
  5. 再用PEiD进行探测:发现已经脱掉了壳

PE文件的简单加壳和脱壳(UPX和PEiD)相关推荐

  1. Python pyc文件 bytecode的压缩, 加壳和脱壳解析

    我们常常看到, 自己用PyInstaller等库打包的exe被别人反编译.而源代码在exe文件中是以字节码形式存储的.掌握了字节码的加密技巧, 就可以防止源代码的反编译. 目录 1.字节码是什么 2. ...

  2. 什么是加壳和脱壳技术?加壳和脱壳技术是什么意思?

    什么是加壳和脱壳技术?加壳和脱壳技术是什么意思? 加壳,是一种通过一系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩.加密驱动程序),以达到缩小文件体积或加密 ...

  3. BUUCTF-Reverse:新年快乐 + 加壳与脱壳

    题目地址:https://buuoj.cn/challenges#%E6%96%B0%E5%B9%B4%E5%BF%AB%E4%B9%90 用IDA打开文件: 怎么可能才两个函数,猜测加了壳,直接查: ...

  4. 软件的壳和壳的含义、概念以及加壳和脱壳方法

    软件的壳和壳的含义.概念以及加壳和脱壳方法 PE(Portable Executable) 也就是EXE和DL)文件所具有的起压缩.加密.保护作用的东西.可以用PEiD等软件查壳. 加壳通过修改程序入 ...

  5. 实验四:使用UPX加壳与脱壳

    一.实验目的 了解程序加壳.脱壳原理 掌握PE文件结构 学习利用UPX Shell.LoardPE.IDA等工具完成软件的加.脱壳操作 二.实验题目 UPX加壳:对crackme加上UPX壳,用 Lo ...

  6. .NET程序的代码混淆、加壳与脱壳

    通常我们通过代码混淆.加密的形式达到软件保护的目的.在Web开发里我们接触过的可能就是JS代码加密了,可以通过对JS代码进行混淆.加密从而实现对核心JS代码的保护.如果没有接触过的可以在这里简单了解一 ...

  7. 恶意代码分析-第十八章-加壳与脱壳

    目录 笔记: 实验: Lab18-1 Lab18-2 Lab18-3 笔记: 壳的功能:缩减程序的大小,阻碍对加壳程序的探测和分析 解析函数导入表:1.仅导入LoadLibrary和GetProces ...

  8. Android 加壳与脱壳方式总结

    介绍 说到加壳,之前接触的主要都是pc端的壳,当时的脱壳就是用的esp脱壳法,大概意思就是程序运行到将当前环境保存之后,在当前的esp指向的地址下硬件断点,然后再次运行到该点时,进行dump内存,即可 ...

  9. 360 so加壳动态脱壳方法

    转载地址:http://mp.weixin.qq.com/s?__biz=MjM5NzAxMzk4NA==&mid=209300616&idx=1&sn=bcc440640f6 ...

最新文章

  1. SQL Server 2005下的分页SQL
  2. SpringBoot 三招组合拳,手把手教你打出优雅的后端接口
  3. pandas使用replace函数和正则表达式移除dataframe字符串数据列中头部指定模式字符串(Removing leading substring in dataframe)
  4. python输出命令_Python输出各行命令详解
  5. Java基础--类与对象
  6. 电脑温度测试软件_网购电脑够便宜?坑连着坑真的不好躲
  7. 机器学习中的凸优化理论
  8. cron 12点执行_Linux中得循环调度任务执行
  9. HDU4911 Inversion 解题报告
  10. 大佬 | 从啥也不会,到Java大佬,他就因为会了这一门绝技
  11. [19/06/08-星期六] CSS基础_表格表单
  12. Java控制无人机程序_深入了解ROS之编写无人机控制程序包
  13. shell - 在文本中的前一行或后一行添加一行内容,指定行前后增加一行内容
  14. 基于SpringBoot的家具销售管理系统
  15. 偷偷看,别让老板发现了...微信如何多开,实现工作号和私人号分离|亲测,win系列所有系统都可以实现
  16. Linux服务器通过X11实现图像化界面显示
  17. nohup怎么更改名字_公司相关信息可以变更吗?公司注销怎么处理?
  18. 基石为勤能补拙的迷宫之旅——第二天(编程语言介绍、Python解释器介绍与安装、执行Python程序的方式和变量)
  19. 快捷方式病毒的解决方法
  20. python pexpect_python 终端模拟模块 pexpect

热门文章

  1. win7修复计算机消失,win7旗舰版系统重装后本地连接不见的恢复方法
  2. Git中tag的用法及作用
  3. systrace的简单介绍及使用
  4. 加锁和解锁-ReentrantLock详解-AQS-并发编程(Java)
  5. python毕业设计之django+vue流浪宠物动物救助领养网站
  6. Java基础 创建一个账户Account类,该类有id:账户号码(长整数),password:账户密码,name:真实姓名
  7. 各种波形文件vcd,vpd,shm,fsdb仿真工具中所需要的
  8. docker私有仓库registry(v2)的搭建
  9. 以太坊创始人:17岁的亿万富翁养成记
  10. excel中怎么拆分表格之按指定行数拆分