【经验】IDA|python 脚本怎么使用反汇编的变量,以及获取反汇编地址上的值,附 IDA的output窗口被不小心关掉了的打开方式
文章目录
IDA脚本怎么用变量——怎么获取目标文件内的值(python)
通过光标位置获取地址上的一系列值。
1 获取地址
ea = here()# 获取光标所在地址(等价于idc.get_screen_ea())
参考:IDAPython脚本编写指南(一) - #搬砖仔 - 博客园
2 获取地址上的值
def Byte(addr) #以字节为单位获取地址处的值
def Word(addr) #以字为单位获取地址处的值
def Dword(addr) #以双字为单位获取地址处的值
def Qword(addr) #以四字为单位获取地址处的值
def isLoaded(addr) #判断地址处的数值是否有效
参考:总结idapython在逆向中的应用 - 『脱壳破解区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
可能出现的问题:NameError: name ‘Byte’ is not defined
这是因为"Byte"是IDA7.0下的python语言,而我们的IDA可能是7.5或者7.6版本,这句"PatchByte"不兼容,所以会出现报错。
解决方法:我们只需在python脚本的第一行加上
from idc_bc695 import *
就能解决报错问题。
参考:运行IDApython报错NameError: name ‘PatchByte‘ is not defined_皮皮蟹!的博客-CSDN博客
3 综上
#print(idc.get_screen_ea())
ea=here()
print(hex(Byte(ea)))

4 进一步地
组合成列表:
ea=here()
unk_403018=[hex(Byte(ea+x)) for x in range(32)]
print(unk_403018)
输出:
['0x6d', '0x55', '0x6b', '0x77', '0x62', '0x61', '0x9a', '0x62', '0x59', '0x89', '0x90', '0x7b', '0x9a', '0x8d', '0x62', '0x80', '0x80', '0x89', '0x92', '0x99', '0x91', '0x97', '0x96', '0x90', '0x4e', '0x99', '0x5d', '0x62', '0x8c', '0x8e', '0x7e', '0x81']
IDA的output窗口被不小心关掉了怎么打开
今天在看ida的output窗口的时候把该窗口给关了,找了一分钟愣是没找到怎么打开这个output。

网上直接搜都说是View。

实际上,在Windows:

除了上面这两个之外,还有个常用的窗口Debugger:

【经验】IDA|python 脚本怎么使用反汇编的变量,以及获取反汇编地址上的值,附 IDA的output窗口被不小心关掉了的打开方式的更多相关文章
- Windows下使用VSCode搭建IDA Python脚本开发环境
由于本人是VSCode的重度沉迷用户,需要写代码时总会想起这个软件,因此选择在VSCode中搭建IDA Python的开发环境 本文适用的环境如下: 1.操作系统 windows 2.Python3 ...
- 【逆向】使用IDA Python脚本自动化解密字符串数据
前言 一个肚脑虫(Donot)APT组织的下载器样本,样本中的一些关键字符串数据需要使用指定函数进行动态解密.所以正好借此机会记录下怎么使用IDA Python脚本来解密字符串数据.使用IDA Pyt ...
- python获取内存地址上存储的值
在python中,可以通过id()这个方法来获取对象的内存地址. 但是反过来,怎么获取内存地址上存储的值? 先看一段代码: from ctypes import string_at from sys ...
- Python脚本控制的WebDriver 常用操作 <十七> 获取测试对象的属性及内容
测试用例场景 获取测试对象的内容是前端自动化测试里一定会使用到的技术.比如我们要判断页面上是否显示了一个提示,那么我们就需要找到这个提示对象,然后获取其中的文字,再跟我们的预期进行比较.在webdri ...
- python os.system重定向stdout到变量 ,同时获取返回值
Python执行系统命令的方法 os.system(),os.popen(),commands 最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类. 最开始的时候 ...
- 在python里使用WriteProcessMemory修改内存地址上的值
import os import sys from ctypes import * windll.kernel32.WriteProcessMemory.argtypes = [c_void_p, c ...
- 使用Python脚本强化LLDB调试器
LLDB是Xcode自带的调试器,作为一个iOS应用开发程序员,平时我在开发应用时会使用LLDB来调试代码.在逆向应用时,也会用到LLDB来跟踪应用的执行过程. LLDB还内置了一个Python解析器 ...
- 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE
http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...
- py2exe打包python脚本
在工作中遇到将python脚本转换成exe可执行程序的需求,通过查询可以使用py2exe来构建满足要求的程序,这里简要说明一下使用步骤. 一.py2exe是一个将python脚本转换成windows上 ...
- Jenkins自动执行python脚本输出测试报告
前言 在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作. 借助Jenkins,我们可以结合 Git/SVN 自动拉取 ...
随机推荐
- TCP 和 UDP 可以使用同一个端口吗?
文档地址:https://mp.weixin.qq.com/s/3fMZN_LidCi5fiD16nNWWA
- CentOS7安装RabbitMQ (安装包安装)
环境: CentOS7 需要安装:erlang 22.2 rabbitmq 3.8.3 参考: rabbit官网地址:http://www.rabbitmq.com/which-erlang.htm ...
- msfconsole攻击指令
Post后渗透模块 sysinfo #查看目标主机系统信息 run scraper #查看目标主机详细信息 run hashdump #导出密码的哈希 load kiwi #加载 ps #查看目标主机 ...
- 本地部署Grok2.0
Grok-beta2.0(通过ChatBox实现) 个人使用: 1.注册登录 官方地址https://x.ai/ 2.创建API密钥 地址https://console.x.ai/ 3.登录githu ...
- WSL2走主机IP地址代理的方式
前言 工作需求导致需要使用到WSL2,git的时候出现网络原因无法拉取.故记录一下走完整个WSL2代理的流程 WSL1 和 WSL2 网络的区别 在 WSL1 时代,由于 Linux 子系统和 Win ...
- [CF901D] Weighting a Tree 题解
想象力惊人的想到生成树,因此对于一种 \(c\) 序列,容易求出只有根不满足要求的构造,且只有树边有权.考虑通过非树边们修改根. 对于一条非树边(都是返祖边),假如我们给它的权值 \(+1\),那么对 ...
- [BZOJ3811] 玛里苟斯 题解
不得不说这题的确挺苟的. 注:下述"引理"表示: 对于长度为 \(n\) 的数组 \(V\),其线性基为 \(B\),定义 \(c_v=\bigoplus\limits_{a\in ...
- EasyExcel合并行处理并优化
业务场景 由于业务需要导出如下图中订单数据和订单项信息,而一个订单对应多个订单项,所以会涉及到自定义合并行 1.简单处理项目使用的EasyExcel,经查找发现Excel种有个AbstractMerg ...
- 最新版go-cqhttp的sign 签名服务器搭建教程
安装go-cqhttp 传送门 自建sign签名服务器容器: 拉取镜像(只支持amd64) docker pull hansaes/unidbg-fetch-qsign:latest 启动容器 doc ...
- 玩转摄像头之MT9V034(最新打样,展示下,欢迎观摩,哈哈)低照度 红外透视应用
分辨率:752*480 低照度 效果超好先上图 图像处理.物联网.fpga.stm32研究 我的店铺:ccjt.taobao.com