首页 > 其他分享 >ghidra---导出数据到文件

ghidra---导出数据到文件

时间:2023-03-25 21:23:57浏览次数:49  
标签:filepath 导出 len --- start file test data ghidra

ghidra---导出数据到文件

Ghidra里,没有比较方便的方法直接导出数据到文件,可以执行python脚本实现。
写了一个Ghidra用的脚本: https://github.com/qux-bbb/ghidra-scripts/blob/master/export_data_to_file.py, 可以复制直接用了,下面内容可以不看

核心就是指定数据起始位置和长度,这里根据使用场景给出4个代码示例。

指定数据起始位置、长度:

# coding:utf8

data_start = 0x00400000
data_len = 0x40
filepath = "test_test_test_data"

data = getBytes(toAddr(data_start), data_len)

the_file = open(filepath, "wb")
the_file.write(data)
the_file.close()

指定数据起始位置、结束位置:

# coding:utf8

data_start = 0x00400000
data_end = 0x00400100
filepath = "test_test_test_data"

data_len = data_end - data_start
data = getBytes(toAddr(data_start), data_len)

the_file = open(filepath, "wb")
the_file.write(data)
the_file.close()

当前位置为起始地址、指定长度:

# coding:utf8

data_start = currentAddress
data_len = 0x40
filepath = "test_test_test_data"

data = getBytes(data_start, data_len)

the_file = open(filepath, "wb")
the_file.write(data)
the_file.close()

当前位置为起始地址、指定结束地址:

# coding:utf8

data_start = currentAddress
data_end = 0x00400100
filepath = "test_test_test_data"

data_len = data_end - data_start.getOffset()
data = getBytes(data_start, data_len)

the_file = open(filepath, "wb")
the_file.write(data)
the_file.close()

2023/3/21

标签:filepath,导出,len,---,start,file,test,data,ghidra
From: https://www.cnblogs.com/-rvy-/p/17255617.html

相关文章

  • 2023-03-26 红黑树
    红黑树1红黑树与2-3树红黑树举例《算法导论》中堆红黑树的定义首先红黑树一定是一棵二分搜索树BST1.每个节点或者是红色的,或者是黑色的2.根节点是黑色的3.每一......
  • CF1806C-Sequence Master
    题目地址题意:给出m和一个长度为2m的数组a,令数组b长度也为m,且对于b任意一个长度为m的子序列的积等于剩下的和,求出最小的Σ|a[i]-b[i]|Solution显然只有一下几种情况:1.m=......
  • 设计模式-用代理模式(Proxy Pattern)来拯救你的代码:打造可靠的程序设计
    前言设计模式是一种高级编程技巧,也是一种通用的解决方案。它能在不同的应用场景中使用,它可以提高代码的可读性、可复用性和可维护性。设计模式的学习能提高我们的编程能力......
  • 有趣的 CSS - 好看的呼吸灯效果
    整体效果这个效果主要用css3的animation属性来实现的。这个效果可以用作在网站的整体Loading,也可以放在网站首屏当一个banner的背景也是非常棒的!代码部分html......
  • k8s--etcd 租约
    介绍授予租约可以为etcd集群里面的键授予租约。当键被附加到租约时,它的存活时间被绑定到租约的存活时间,而租约的存活时间相应的被time-to-live(TTL)管理。在租约授予时......
  • v-model 的使用
    1.v-model的基本使用1.1v-model是一个语法糖<template><input:value="text"@input="event=>text=event.target.value"/><inputv-model="text"/><!--......
  • docker-compose部署elk并设置账户密码
    docker-compose部署elk并设置账户密码系列最近因为在搭建微服务环境所以要用到elk首先介绍一下什么是elk,以及负责的功能模块(部署的过程比较坎坷我尽量把遇到的坑,以及如何......
  • 1073-76
    #include<iostream>#include<cmath>usingnamespacestd;intmain(){ intn; doublex,z,c,j,p; intr=0; cin>>n; doublex2=0,z2=0; for(inti=0;i<n;i++){......
  • Qt音视频开发29-ffmpeg中x264/x265编码库支持
    一、前言有了解码当然对应又有编码,编码是信息从一种形式或格式转换为另一种形式的过程也称为计算机编程语言的代码简称编码。用预先规定的方法将文字、数字或其它对象编成......
  • PentestLab-web安全目录穿越-EXP3
    我们打开靶机选择第三个目录穿越打开图片观察发现可以看到后缀名称已经隐藏或者是过滤了我们尝试http://192.168.20.157/dirtrav/example3.php?file=../../../../etc/passwd......