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

PC端逆向会用到的常见伪指令

由于之前学到的编程还只是在刚刚入门的地步,现在重新来看伪指令,只能浅浅说一些基础的、常见的伪指令,做出一些简单的理解。

一开始学汇编的时候,会先接触到类似codesg segment ......codesg ends这样表达一个代码段的开始和结束的伪指令,但是其实在实际的逆向分析中这种伪指令还是比较少见的,更多的是其他的,例如我们这边用一个简单的程序来用ida分析看看

追踪这个变量去看他的汇编代码

这里边出现最多的就是db这个伪指令,用于定义字节数据,像这里就标识%d,类似的还有dw,dd,dq都是定义的不同的字节数据类型。

但是这个标识符老实说也没什么用,主要是后面的进制数表示的内容。

那么常见的,比较有用的伪指令有哪些呢?像我们常见的.text代码段标识,.rdata只读数据段,.data数据段,其实也是一种伪指令,归根到底,伪指令始终是服务于人的理解的。

学习伪指令是为了让我们快速的定位到需要分析的一个进程,通过伪指令形成一个可视的结构,利于我们去理解整个代码的结构和进程。

类似的有align对齐指令,帮助区分有效数据和编译器自动填充的垃圾数据,帮助我们顺利定位到程序的逻辑

align也方便于数据储存和访问,可能会想到为什么明明我们写程序的时候没有接触过这些伪指令,但是编译,反编译之后确确实实存在了,这就是编译器对于编写的程序源码的处理,这些伪指令本质也就是二进制数据,这些都服务于让这些程序能够较好的执行

XREF标注当前数据被哪些地址引用了,这个也可以帮助我们顺利的掌握程序的逻辑,只不过还要去学习地址的定位和使用

像这里面就标出来了数据和对应的引用的地址。

off_XXXX偏移标识,例如off_403000表示指向403000地址的指针,我们可以通过这个去区分普通的数值和内存指针。

总的来说,平常在逆向过程中,如果是简单的逆向一般较少涉及到具体利用伪指令分析汇编代码,进而了解程序进程,到目前为止,我了解到的伪指令也不多,主要是通过追踪变量或关键函数,去理解程序的进程。实际上,伪指令的存在就是方便我们在分析程序的时候构建出一个代码理解的框架,进而分析出程序作用。

主要是目前学到的伪指令还是太少了,上学期学汇编也才堪堪学到栈的概念而已,这块确实不是很熟悉……

; int scanf(...)注释伪指令,从图中也清晰的看出来作用
proc near函数开始伪指令,这边就标识了scanf函数的开始
后续还有符号定义伪指令,和偏移定义伪指令,在栈上进行的操作。
XREF前面可以加code或者data标识代码交叉引用或数据交叉引用,后面有跟段名称和地址,可以很好的去定位到数据位置
最后是函数的结束标识
总体而言这段汇编代码就是实现了scanf这个函数的底层逻辑,上面各种伪指令可以帮助我们理解这个函数的逻辑。

http://www.xdnf.cn/news/18929.html

相关文章:

  • 解读 “货位清则标识明,标识明则管理成” 的实践价值
  • 灰狼算法+四模型对比!GWO-CNN-BiLSTM-Attention系列四模型多变量时序预测
  • EasyClick 生成唯一设备码
  • 【CV】图像基本操作——①图像的IO操作
  • XC95144XL-10TQG144I Xilinx XC9500XL 高性能 CPLD
  • 从0到1:用 Qwen3-Coder 和 高德MCP 助力数字文旅建造——国庆山西游
  • 我的小灶坑
  • Web程序设计
  • 《 nmcli网络管理学习》
  • 28 FlashAttention
  • sudo 升级
  • 牛客周赛 Round 106(小苯的方格覆盖/小苯的数字折叠/ 小苯的波浪加密器/小苯的数字变换/小苯的洞数组构造/ 小苯的数组计数)
  • “华生科技杯”2025年全国青少年龙舟锦标赛在海宁举行
  • Linux网络套接字
  • 0825 http梳理作业
  • 自由学习记录(88)
  • springboot中操作redis的步骤
  • 将盾CDN:高防CDN和游戏盾有什么区别?
  • 【数据结构】LeetCode160.相交链表 138.随即链表复制 牛客——链表回文问题
  • SQL每日一练
  • 盲盒经济新风口:盲盒抽谷机小程序系统开发全解析
  • 深度学习-----《PyTorch神经网络高效训练与测试:优化器对比、激活函数优化及实战技巧》
  • Telematics Control Unit(TCU)的系统化梳理
  • 数据结构:红黑树(Red-Black Tree)
  • git开发基础流程
  • Springboot应用如何与SkyWalking集成,并使用Docker进行发布
  • Python爬虫实战:研究amazon-scrapy,构建亚马逊电商数据采集和分析系统
  • 扣子智能体商业化卡在哪?井云系统自动化交易+私域管理,闭环成交全流程拆解
  • 小程序开发指南(四)(UI 框架整合)
  • 机器视觉的3C玻璃盖板丝印应用