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窗口被不小心关掉了的打开方式的更多相关文章

  1. Windows下使用VSCode搭建IDA Python脚本开发环境

    由于本人是VSCode的重度沉迷用户,需要写代码时总会想起这个软件,因此选择在VSCode中搭建IDA Python的开发环境 本文适用的环境如下: 1.操作系统 windows 2.Python3 ...

  2. 【逆向】使用IDA Python脚本自动化解密字符串数据

    前言 一个肚脑虫(Donot)APT组织的下载器样本,样本中的一些关键字符串数据需要使用指定函数进行动态解密.所以正好借此机会记录下怎么使用IDA Python脚本来解密字符串数据.使用IDA Pyt ...

  3. python获取内存地址上存储的值

    在python中,可以通过id()这个方法来获取对象的内存地址. 但是反过来,怎么获取内存地址上存储的值? 先看一段代码: from ctypes import string_at from sys ...

  4. Python脚本控制的WebDriver 常用操作 <十七> 获取测试对象的属性及内容

    测试用例场景 获取测试对象的内容是前端自动化测试里一定会使用到的技术.比如我们要判断页面上是否显示了一个提示,那么我们就需要找到这个提示对象,然后获取其中的文字,再跟我们的预期进行比较.在webdri ...

  5. python os.system重定向stdout到变量 ,同时获取返回值

    Python执行系统命令的方法 os.system(),os.popen(),commands 最近在做那个测试框架的时候发现 Python 的另一个获得系统执行命令的返回值和输出的类. 最开始的时候 ...

  6. 在python里使用WriteProcessMemory修改内存地址上的值

    import os import sys from ctypes import * windll.kernel32.WriteProcessMemory.argtypes = [c_void_p, c ...

  7. 使用Python脚本强化LLDB调试器

    LLDB是Xcode自带的调试器,作为一个iOS应用开发程序员,平时我在开发应用时会使用LLDB来调试代码.在逆向应用时,也会用到LLDB来跟踪应用的执行过程. LLDB还内置了一个Python解析器 ...

  8. 如何在Windows下开发Python:在cmd下运行Python脚本+如何使用Python Shell(command line模式和GUI模式)+如何使用Python IDE

    http://www.crifan.com/how_to_do_python_development_under_windows_environment/ 本文目的 希望对于,如何在Windows下, ...

  9. py2exe打包python脚本

    在工作中遇到将python脚本转换成exe可执行程序的需求,通过查询可以使用py2exe来构建满足要求的程序,这里简要说明一下使用步骤. 一.py2exe是一个将python脚本转换成windows上 ...

  10. Jenkins自动执行python脚本输出测试报告

    前言 在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作. 借助Jenkins,我们可以结合 Git/SVN 自动拉取 ...

随机推荐

  1. Git钩子-每次提交信息添加分支名称

    Git钩子是一组脚本,这些脚本对应着Git仓库中的特定事件,每一次事件发生时,钩子会被触发.这允许你可以定制化Git的内部行为,在开发周期中的关键点上触发执行定制化的脚本. 钩子脚本文件通常放置于项目 ...

  2. Asp.Net Core3.0 微信退款

    参考文档: 微信支付申请退款API文档:https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter8_8_11.shtml   (最新更新时间:2022 ...

  3. flutter3-trip仿携程酒店预订|Flutter3.27+Getx预约旅游酒店App程序

    基于Flutter3.x+Dart3+GetX跨平台仿携程/飞猪旅行酒店客房预订查询app系统. flutter3_trip原创2025新版flutter3.27.1+dart3.6+getx+flu ...

  4. 若依-Vue 单体版本 更换mybatisPlus

    1.单体模块在pom.xml ; 多模块版本在ruoyi-common\pom.xml.模块添加整合依赖 <!-- mybatis-plus 增强CRUD --> <dependen ...

  5. 【COM3D2Mod 制作教程(5)】实战!制作身体部分(中)

    [COM3D2Mod 制作教程(5)]实战!制作身体部分(中) 帽子是很典型的装扮类型,较为简单适合入门,所以我们先制作帽子 Mod,流程基本和第二章中的概述相符.因为导入插件及其功能位置也都已在第二 ...

  6. MybatisPlus - [02] HelloWorld

    参考:https://www.cnblogs.com/haoxinyue/p/5208136.html(分布式系统唯一ID生成方案汇总) 一.准备工作 (1)创建数据库: create databas ...

  7. 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)

    #div_digg { float: right; font-size: 12px; margin: 10px; text-align: center; width: 120px; position: ...

  8. redux vs redux-toolkit 及源码实现

    我们是袋鼠云数栈 UED 团队,致力于打造优秀的一站式数据中台产品.我们始终保持工匠精神,探索前端道路,为社区积累并传播经验价值. 本文作者:霜序 前言 为何讲这个内容?以为后续大家会使用 redux ...

  9. docker部署codegeex4实现本地IDE编程助手

    实现了使用docker运行的ollama作为VSC或者其他IDE的编程助手,实现本地化的AI推理 环境 debian12 docker ollama 环境配置 ollama 参考 ollama在doc ...

  10. 表访问方法:PostgreSQL 中数据更新的处理方式

    作者:Cary 前言 本文将详细探讨 PostgreSQL 如何处理更新操作.在 PostgreSQL 中,成功的更新可以被视为"插入一条新记录",同时"标记旧记录为不可 ...