首页 > 其他分享 >IDA PRO 变量重用/variable-reuse

IDA PRO 变量重用/variable-reuse

时间:2024-07-19 09:51:50浏览次数:9  
标签:变量 DiaSymbol vtbl PRO reuse 右键 variable IDA

igors-tip-of-the-week-79-handling-variable-reuse


way1:强制新变量/force new variable

一种常见的情况是,编译器出于不同的目的重用局部变量甚至传入堆栈参数的堆栈位置。例如,在这样的代码片段中:

vtbl = DiaSymbol->vtbl;
vtbl->get_symTag(DiaSymbol, (int *)&DiaSymbol);
Symbol->Tag = (int)DiaSymbol;

get_symTag调用的第二个参数显然是一个输出参数,并且与调用之前的 DiaSymbol 具有不同的含义和类型。
在这种情况下,您可以使用“强制新变量”命令(快捷键 Shift+F )。
由于实现细节的原因,有时右键单击变量本身不会显示该选项;在这种情况下,请尝试右键单击伪代码行的开头。
image

举例

ole32.dll CoGetObject

image
force new variable
image
image

设置后
image

way2:使用union

创建联合体后,然后Alt+Y选择成员

标签:变量,DiaSymbol,vtbl,PRO,reuse,右键,variable,IDA
From: https://www.cnblogs.com/DirWang/p/18310854

相关文章

  • D. Maximum Sum of Products
    链接https://codeforces.com/problemset/problem/1519/D题目分析总的来说不算难的一道题,主要是敢写就行,控制在O(n^2),枚举中心点,分成两类:一类是奇数,一类是偶数对称就行。代码#define_CRT_SECURE_NO_WARNINGS#include<iostream>#include<vector>#include<algorithm>#in......
  • ts vue3 定义props写法参考
    写法1exportinterfaceConfig{arr1:Array<IObject>,obj1?:IObject}constprops=defineProps({title:{type:String, //必须的proprequired:true,default:'DefaultTitle'},//数组dicts:{type:Array,requ......
  • 学习 profcontrol 之锁定与隐藏
    我们画出来的任何元素,点击它,点击右键菜单都会有隐藏功能,隐藏之后我们在底部工具栏可以选择全部显示,使其还原出来;同时我们也可以按着shift键框选,将他们整体一起隐藏或者一起显示。隐藏功能更多的时候推荐使用图层隐藏,图层隐藏的好处是我们对于一个图层隐藏完之后,我们在这里......
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-19读写I2C接口EEPROM实验
    软件版本:Anlogic-TD5.9.1-DR1_ES1.1操作系统:WIN1064bit硬件平台:适用安路(Anlogic)FPGA实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述1.1EEPROM简介......
  • [米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-19读写I2C接口EEPROM实验
    软件版本:Anlogic-TD5.9.1-DR1_ES1.1操作系统:WIN1064bit硬件平台:适用安路(Anlogic)FPGA实验平台:米联客-MLK-L1-CZ06-DR1M90G开发板板卡获取平台:https://milianke.tmall.com/登录"米联客"FPGA社区http://www.uisrc.com视频课程、答疑解惑! 1概述......
  • Profinet IO从站数据 转EthernetIP项目案例
    目录1 案例说明 12 VFBOX网关工作原理 13 准备工作 24 使用PRONETA软件获取PROFINETIO从站的配置信息 25 设置网关采集PROFINETIO从站设备数据 56 使用ETHERNETIP转发数据 87 选择槽号和数据地址 108 选择子槽号 119 案例总结 121 案例说明设置网关采集ProfinetIO从......
  • 基于注解注册连接的Thrift框架(03)——TProtocol
    前情提要之前介绍了TProcessor的同步和异步实现,也说明了TAsyncMethodCall中的状态循环以及它是如何和TServer进行交互的。TProtocolTProtocol是一个抽象类,主要做了两件事情:绑定一个TTransport定义一系列读写消息的编解码接口。包括两类,一类是复杂数据结构比如readMessageBe......
  • nginx出现499错误码的原因以及proxy_ignore_client_abort配置 及 nginx日志配置变量大
    一、nginx出现499错误码的原因以及proxy_ignore_client_abort配置1. nginx出现499错误码的原因    最近发现服务器上出现很多499的错误,出现499错误的原因是客户端关闭了连接,在我这篇文章:服务端在执行时中途关闭浏览器退出之后php还会继续执行吗?个人实践实验得到结果( h......
  • 猫头虎分享已解决Bug ||Asset validation failed (90296) App sandbox not enabled. T
    ......
  • COMP9021 Principles of Programming
    COMP9021PrinciplesofProgrammingTerm2,2024Assignment2Worth13marksanddueWeek11Monday@10amGeneralMatters1.1AimThepurposeofthisassignmentisto:Developyourproblem-solvingskills.Designandimplementthesolutiontoapr......