assembly - Ghidra:自动将字节设置为 Unicode/CString

标签 assembly unicode reverse-engineering binaryfiles ghidra

我有一个 Ghidra 问题要问你。我正在剖析一个可执行二进制文件,我注意到大量数据类型在“列表” Pane 中显然是 Unicode,但显示为未知字节。

我知道我可以单击第一个地址,然后选择“数据”>“终止Unicode”,但有数百个字节需要转换为 Unicode。

有没有一种自动化的方法来执行这项繁琐的任务?

Data in Byte Format instead of Unicode

Manually casting individual Byte Data Types to Unicode

最佳答案

这应该是一个相当简单的脚本,基本上只是循环中的 createUnicodeString(Address)getUndefinedDataAfter(Address) 。棘手的部分是决定何时实际停止,但如果您知道此内存范围何时结束,那么这只是一个简单的附加检查。处理填充/对齐将是另一个小陷阱,但重复 getUndefinedDataAfter 直到当前地址不是空字节

应该足够了

关于assembly - Ghidra:自动将字节设置为 Unicode/CString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72932978/

相关文章:

assembly - X86 汇编中的 SAR 命令具有一个参数

assembly - 解释汇编代码

unicode - 各种编程语言的Unicode支持

php - 如何使用 PHP 将一些多字节字符转换为其数字 html 实体?

Python:如何让 StringIO.writelines 接受 unicode 字符串?

c - 数组转置及对应的汇编代码

performance - 在大多数现代 64 位处理器上, `mulq` 的速度是否取决于操作数?

push vs. mov(stack vs. near memory)的成本,以及函数调用的开销

c - 为什么 GCC -mcmodel=large 在没有 -fPIC 的情况下即使使用 -no-pie 标志也会向函数调用添加偏移量?

binary - 您将如何对从设备中提取的一组二进制数据进行逆向工程?