当前位置: 首页 > news >正文

软件逆向入门理论

目录
  • 大脉络
  • 软件的构成


软件逆向是一种技术手段,它能达成的目的:

  • 分析该软件的漏洞;
  • 分析这个软件,想作为跳板获取其他软件、系统的更高权限;
  • 分析该软件的安全性、可靠性等;
  • 分析该软件的构成;

下面粗浅的进行软件逆向入门,将选择经典的x86平台下的软件来进行分析。

主要梳理系统和软件的层次功能区别,最后以一个典型案例结尾。


大脉络

  • CPU
    • 寄存器,各寄存器的运行逻辑
  • 系统
    • 汇编指令,各指令的运行逻辑
    • 编程语言指令,各指令的运行逻辑

软件的构成

x86的windows系统下的软件,是以一个.exe文件去执行的,一个.exe 通常是一个PE格式的文件。

PE的定义:
PE是一个可移植的可执行文件(Executable File)的蓝本,系统在创建一个进程时,就会依照这个蓝本按部就班执行下去。

接着问 什么是可执行文件?
可执行文件是为进程创建所服务的,进程在运行之前,需要将该进程所需要运行的代码、该进程支持的相关数据等一个进程创建所必须的信息以某种格式存储在磁盘中,而这种格式就是可执行文件格式。

这个文件格式由操作系统直接加载执行,系统运行程序都是以创建进程的方式。

简单来说就是在进程创建之前会将该进程创建所需要的信息以可执行文件格式存储在磁盘中,同样也可以说进程创建所需要的信息会在可执行文件中详细记录。

有了该进程的详细记录,那么操作系统在创建进程的时候就可以根据该进程的详细记录来创建进程,也就是说可执行文件是进程创建的前身。

但可执行文件和进程不能完全划等号,因为进程是动态的,是会根据你的操作变化而变化;

而可执行文件是静态的,是没有执行权的。

PE结构可以大致分为如下5部分:

  • DOS部分
  • PE文件头
    包含文件的基本信息,如CPU类型、入口点地址、所需的子系统等。
  • 节表(块表)
    描述文件中各个“节”或“区段”的表。节是实际存放代码、数据、资源等内容的地方(如 .text, .data, .rsrc)
  • 节数据(块数据)
  • 调试信息

打开一个.exe,里面都是用二进制数据记录了各个部分的信息,5个部分如同5个部门各司其职,有专门的符号去分割开。
image

...逆向可真是量大管饱呀.....(ㅎ-ㅎ;)

http://www.wxhsa.cn/company.asp?id=6344

相关文章:

  • 鸿蒙应用开发从入门到实战(七):ArkTS组件声明语法
  • P1115 最大子段和
  • 麒麟系统关闭防火墙
  • P14003 [eJOI 2025] Reactions 解题报告
  • 计算机科学入门
  • Windows Server 2019开启远程桌面无法远程处理
  • 英语_阅读_This makes me crazy_待读
  • 一位华裔数学家40年目睹之怪现状:美国学生的数学为什么那么差?
  • 这些年轻科学家不再满足于“追赶美国”
  • 英语_阅读_
  • 聊聊理想的影像团队
  • 黑芝麻智能上半年亏损超7亿 CEO单记章去年薪酬高达1.66亿
  • 英语_阅读_BMI_待读
  • Flutter数据可视化:fl_chart图表库的高级应用
  • 教材大纲-Python
  • 2025 年 PHP 常见面试题整理以及对应答案和代码示例
  • 0130_中介者模式(Mediator)
  • 零门槛入局 AI 创业!瓦特 AI 创作者平台,让普通人轻松抓住风口
  • 基环树
  • 2025介绍1个简单好用免费的版权符号复制生成网站
  • 【GitHub每日速递 250917】69k 星标!这个 MCP 服务器大集合,竟能解锁 AI 无限可能?
  • WPF 通过 WriteableBitmap 实现 TAGC 低光增强效果算法
  • 最新学王点读笔破解教程2025
  • css-3
  • 基于 RQ-VAE 的商品语义 ID 构建及应用案例
  • U3D 动作游戏开发中数学知识的综合实践案例
  • 删除根目录前的准备
  • Player Mini MP3 模块播放音乐
  • Linux服务器部署FRP及配置Token
  • 最大子列和问题