栈局部变量交叉引用
idapython在github上有一些examples,里面的 vds 包含关于hex-rays的一些相关用法
From PyQt4 import QtCore,QtGui报错load dll error(同PySide)
已经想办法排除:
1.确认PyQt和python都是32位
2.添加了一些环境变量(eg:C:\Python27\Lib\site-packages\PyQt4)确保能找到QtCore4.dll
3.重新安装PyQt4
我发现在cmd中 " from PyQt4 import QtCore,QtGui " 是没有问题的,但是在idapython中仍然报错找不到dll
stack overflow中也有相同的提问:From PySide import QtCore error:Fine in terminal but Fail in idapython
提问者自己解决了问题,通过重新安装ida pro,并且选择python的安装路径
类似的,我在使用ida7.0 portable版本(唉~别喷),为了保证portable已经内部包含一个python27,我在该python路径中安装PyQt4,并在idapython下 "from PyQt4 import QtCore,QtGui" 成功!
【栈局部变量交叉引用】所以一个大致可行的办法是:重新安装ida,可以为ida准备一个单独的python27,更加方便且避免和其他python冲突
调用hex-rays的反编译功能
f = idaapi.get_func ( Address )
cfunc = idaapi.decompile ( f )
指定地址添加注释(汇编页面)
idc.MakeComm(Address,"")
指定地址添加注释(伪代码页面)
NULL
idapython-栈中局部变量的交叉引用
事实上,我发现无论是《idapython beginer》中提到的那些API(XrefTo,XrefFrom等等),还是idapython/examples中那些例子,给出的交叉引用都仅仅适用于全局变量(global)。
虽然ida pro无论是反汇编界面还是hex-rays的反编译伪代码界面,都支持局部变量、全局变量、函数、结构体的交叉引用,但在idapython中实现局部变量的交叉引用查询似乎要格外花上一番力气
Q:idapython:get xref to a stack variable --Stack Overflow
文章图片
推荐阅读
- Shell-Bash变量与运算符
- (二)ES6第一节变量(let|(二)ES6第一节变量(let,const)
- 概率论/统计学|随机变量 的 分布函数 与 概率密度函数 的区别
- 程序员客栈TOP收入的萌系开发者心得|程序员客栈TOP收入的萌系开发者心得 - 雨晴
- C语言进阶栈帧示例详解教程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- linux环境变量相关操作
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- 【课程-Perl】Lesson|【课程-Perl】Lesson 2: 值与变量
- 变量声明前置与函数声明前置