吉德拉9.2

2020-11-14 10:15:58

绘图。创建了一个新的图形服务和实现。图表服务提供基本的绘图功能。它还用于生成几种不同类型的图,包括代码块图、调用图和AST图。此外,还创建了支持各种格式的导出图形服务。(GP-211)。

PDB。添加了一个新的独立于平台的原型PDB分析器,该分析器可以处理原始(非XML转换)PDB文件中的数据类型和符号,并将其应用到程序中,从而使用户能够更轻松地利用PDB信息。(GT-3112)。

分析。通过更好地检查和减少通过程序的次数,提高了嵌入式媒体分析器的速度(这对于大型程序来说尤其糟糕)。(GT-3258)。

分析。对GCC编译的二进制文件中发现的异常记录的处理速度大大加快。此外,错误的代码反汇编已更正。(GT-3374)。

分析。利用更快的查找根RTTI类型描述符的技术,提高了RTTI结构的处理速度。(GP-168,2075期)。

原料药。提高了向同一类别添加大量数据类型的性能。(GT-3535)。

原料药。添加了BigIntegerNumberInputDialog,允许用户输入大于Integer.MAX_VALUE(2147483647)的整数值。(GT-3607)。

基础设施。引入了扩展点优先级注释,以便用户可以控制扩展点排序。(GT-3350,1260期)

基础设施。已更改Launch.bat中的文件名,以始终从System32运行可执行文件。(GT-3614,1599期)。

建造。Ghidra的原生Windows二进制文件现在可以使用Visual Studio 2019构建。(GT-3277,999期)。

建造。减少了构建JAR文件中重复的帮助文件的数量。(GP-57,第2144期)。

建造。Git提交散列已经被添加到每个构建(不仅仅是发布)的applation.properties文件中。(GP-67)。

配角。扩展现在安装到用户的设置目录中,而不是Ghidra安装目录中。(GT-3639,1960年第#期)。

数据类型。改进了结构编辑器的编辑组件操作,以处理数组指针。(GP-205,1633期)。

反编译程序。增加了反编译器的次要亮点。此功能允许用户为令牌创建高亮显示,以显示该令牌的所有匹配项。此外,还允许同时使用多个次高光,每个次高光使用唯一的颜色。有关详细信息,请参阅反编译器帮助。(GT-3292,784期)。

反编译程序。在反编译程序中添加了启发式算法,以更好地区分哈佛体系结构中的常量指针是否引用了代码或数据地址空间中的某些内容。(GT-3468)

反编译程序。改进了对具有小数据类型的局部变量的反编译分析,消除了不必要的强制转换和掩码操作。(GT-3525)。

反编译程序。反编译程序的文档(可从代码浏览器中访问)已被重写和扩展。(GP-166)。

反编译程序。反编译程序现在可以显示它呈现的符号的命名空间路径(或其中的一部分)。使用默认显示配置时,会打印出在当前范围内完全解析符号所需的最少路径元素。(GP-236)。

反编译程序。反编译程序现在支持它显示的字符串文字的字符集和翻译设置。(GP-237)。

反编译程序。反编译程序对数组访问的分析有了很大改进。即使基址偏移量不包含在数组中,它也可以检测优化代码产生的更多和不同的访问模式。多维阵列也会被检测到。(GP-238,问题#461,#1348)。

反编译程序。扩展了反编译器对分析类方法的支持。即使在方法的完整原型未知的情况下,类数据类型也会通过this指针传播。方法isThisPointer()和isHiddenReturn()现在填充到HighSymbol对象中,并且可以在Ghidra脚本中访问。(GP-239,第2151期)。

反编译程序。反编译程序现在将从一个常量推断出一个字符串指针,该常量寻址字符串的内部,而不仅仅是开头。(GP-240,1502期)。

反编译程序。反编译程序现在总是使用最少的定点或科学记数法字符来打印全精度的浮点值。(GP-241,第778期)

反编译程序。反编译程序的自动创建结构命令现在将来自功能原型的数据类型信息合并到新结构中。该命令的Auto Fill in Structure变量将用发现的数据类型覆盖未定义的和其他更一般的数据类型(如果它们更具体)。(GP-242)。

德曼格勒。已修改Microsoft Demangler(MDMang),以便在MD5哈希码的正常损坏长度超过4096时处理由MD5哈希码表示的符号。(GT-3409,1344期)。

德曼格勒。已将GNU Demangler升级到版本2.33.1。添加了对现已弃用的GNU Demangler版本2.24的支持,该版本将用作解除钓鱼的后备选项。(GT-3481,问题#1195、#1308、#1451、#1454)。

德曼格勒。如果进行了一般性更改,Demangler现在会更加谨慎地应用信息。以前,如果函数签名已从默认签名以任何方式更改,则解析器不会尝试应用包括函数名称在内的任何信息。(GP-12)。

德曼格勒。更改了MDMang,以便强制转换运算符名在限定的函数名中完整,从而影响内部API的可用性。(GP-13)。

功能图。为Function Graph添加了导航历史记录工具选项,以向其发送信号以生成更少的导航历史记录条目。(GT-3233,第1115期)。

阿贵。用户现在可以查看Function Tag(函数标记)窗口来查看与某个标记关联的所有函数,而不必检查列表。(GT-3054)。

阿贵。已更新复制特殊操作,以便在没有选择的情况下处理当前地址。(GT-3155,第1000期)

阿贵。添加了许多优化以提高表排序和筛选的速度。(GT-3226,第500期)。

阿贵。改进了最近引入Structure Editor的位视图组件的性能。(GT-3244,1141期)。

阿贵。添加了导航到导航历史记录中的下一个/上一个功能的工具操作。(GT-3291,第475期)。

阿贵。更新了Ghidra文件选择器,以便用户可以在列表和表格视图中键入文本,以便快速跳转到所需的文件。(GT-3396)。

阿贵。更新了Ghidra,允许用户设置键绑定来执行与双击清单中的XREF字段相同的操作。请参见工具选项中的显示外部参照操作...。密钥绑定部分。(GT-3446)。

阿贵。Ghidra的操作上下文机制已更改,因此修改程序的操作不会意外地在错误的上下文中调用,因此可能会以用户不想要的方式修改程序,或者在用户不知道它发生的情况下修改程序。这还修复了导航历史记录下拉菜单不代表按下下一步/上一步按钮时将使用的位置的问题。(GT-3485)。

阿贵。更新了字体大小选项,允许用户设置任何字体大小。(GT-3606,第160期,第1541期)。

阿贵。更新了Ghidra选项,允许用户清除默认键绑定值。(GP-61,1681期)

阿贵。向符号树添加了一个新操作,以允许用户将命名空间转换为类。(GP-225,第2301期)。

进口商:PE。改进了对使用DUMPBIN/EXPORTS生成的微软序号映射文件的解析(请参阅Ghidra/Features/Base/data/symbols/README.txt).。(GT-3235)。

正在挂牌。在清单的pcode字段中,唯一空间中的varnode的访问现在总是以访问的大小显示。修正了在极少数情况下会导致pcode模拟器拒绝有效pcode的错误。(GP-196)。

列表:数据。改进了操作数或整数值中嵌入的字符序列的处理和显示。(GT-3347,1241期)。

多用户:Ghidra服务器。添加了为svrAdmin add和Reset命令指定初始Ghidra服务器用户密码(仅限-a0模式)的功能。(GT-3640,第321期)。

处理器。实现了vstmia/db vldmia/db的语义,添加了缺失的指令,并修复了ARM/Thumb霓虹灯指令集的几条指令的移位值。(GT-2567)。

处理器。添加了AVR8处理器的XMEGA变体,并将通用寄存器移至非内存映射寄存器空间。(GT-2909)。

处理器。更正了语言升级期间与保留指令上下文相关的问题。在极少数情况下,这种保留的上下文可能会干扰指令重新汇编。这种上下文清除机制由一个新的pspec属性控制:setContextOnUpgrade。(GT-3531)

处理器。为get_pc_thunk.ax/si的32位GCC程序添加了缺失的调用修复,以处理调用副作用。(GP-10)。

处理器。当在内存位置上建立了适当的TMode上下文时,清单中的外部反汇编字段现在显示拇指反汇编。(GP-49)。

处理器。已将RISC-V跳转指令更改为更合适的GOTO而不是CALL。(GP-54,第2120期)。

处理器。添加了对SH4处理器调用约定的浮点参数和返回的支持。(GP-183,第2218期)。

处理器。增加了对许多AARCH64霓虹灯指令的语义支持。现在预先计算了寄存器通道的地址,从而减少了生成的p码的数量。(GP-343)。

处理器。更新了RISCV处理器,包括重组、新指令和对几条指令的修复。(GP-358,第2333期)。

编写脚本。现在,Python脚本可以从GhidraScript API调用受保护的方法。(GT-3334,1250期)。

编写脚本。更新了GhidraDev插件(v2.1.1),以便在通过Eclipse dropins目录安装PyDev时支持Python调试。(GP-186,1922年第#期)

雪橇。雪橇编译器生成的错误消息已重新格式化,在布局上更加一致,在提供行号信息方面也更具描述性和一致性。(GT-3174)。

分析。在0x0处找到的函数启动模式、在0x0处从数据类型管理器应用的函数签名以及在0x0处应用的矮小调试符号将不再导致堆栈跟踪。此外,具有零长度地址范围的矮小符号不再堆叠轨迹。(GT-2817,第386期,1560期)。

分析。常量传播会将带零(0)的OR视为简单副本。(GT-3548,1531期)。

分析。更正了根据选择创建结构的问题,该问题在构建过程中未能使用正确的数据组织。这可能会导致指针和基元类型等组件大小不正确。(GT-3587)。

分析。修复了存储上下文不断地初始化寄存器集的问题。(GP-25)。

分析。修复了在分析不引用RTTI4的RTTI0结构时出现的RTTI Analyzer回归。(GP-62,第2153期)。

分析。修正了RTTI分析器在某些情况下没有填写RTTI3结构的问题。(GP-111)。

原料药。更新了类搜索器,以便加载Ghidra/patch目录中的扩展点。(GT-3547,1515期)

字节查看器。修复了Byte Viewer正确加载鼠标中键突出显示颜色选项的更改。(GT-3471,1464期,1465期)。

数据类型。修复了对字符集的字符大小小于平台字符大小的静态字符串的解码问题。(GT-3333,1255期)。

数据类型。正确处理不支持编码操作的Java字符集。(GT-3407,1358期)。

数据类型。修复了导致数据类型管理器编辑器键绑定被删除的错误。(GT-3411,1355期)。

数据类型。已更新DataTypeParser以处理包含模板的数据类型名称。(GT-3493,1417期)。

数据类型。已更正指针数据类型为Equivalent()方法,以正确检查基本数据类型的等价性。旧的实现可能会导致指针被具有相同名称的冲突指针替换,而该指针的基本数据类型不是等效的。此更改具有与之相关的负面性能影响,并可能由于严格的数据类型关系而导致额外的冲突数据类型。(GT-3557)。

数据类型。改进了复合冲突解决性能,并更正了存在复合位域和/或灵活数组时的复合合并问题。(GT-3571)。

数据类型。修复了SymbolPathParser朴素解析方法中的错误,当尖括号紧跟在名称空间分隔符之后时,该错误会导致不够充分的回退解析。(GT-3620)

反编译程序。修复了将符号引用存储到堆中时导致反编译器错过符号引用的错误。(GT-3267)。

反编译程序。反编译程序现在可以正确补偿移位、除法和余数运算中的整数提升。(GT-3572)。

反编译程序。默认的反编译选项现在最大限度地降低了重命名或重新键入变量时丢失代码的风险。(GT-3577)。

反编译程序。如果变量包含与子函数无关的额外数据流,则反编译程序不再从子函数继承变量名。(GT-3580)。

反编译程序。修复了要在整个C代码语句上启用的反编译器覆盖签名操作。(GT-3636,1589期)。

反编译程序。修复了在反编译器中执行自动创建结构或自动创建类操作时频繁出现的ClassCast和IllegalArgument异常。(GP-119)。

反编译程序。修复了反编译程序中的一个错误,该错误会导致在极少数情况下为不同的变量指定相同的名称。(GP-243,1995年第#期)。

反编译程序。修复了反编译器中导致PTRSUB关闭非指针类型异常的错误。(GP-244,1826期)

反编译程序。修复了反编译程序中的一个错误,该错误导致易失性内存中的加载操作作为死代码被移除。(GP-245,第393期,1832期)。

反编译程序。修复了一个错误,如果其偏移量本身存储在堆栈中,则会导致反编译器丢失堆栈别名。(GP-246)。

反编译程序。修复了导致反编译程序丢失对传递给间接调用的函数的常量的相等引用的错误。(GP-247)。

反编译程序。解决了在重命名或重新键入堆栈位置后反编译器意外将活动指令作为死代码移除的各种情况。如果该位置确实是数组元素或结构字段,则重命名会强制反编译程序将该位置视为不同的变量。随后,反编译程序认为基于该位置之前的间接引用不能为任何后续堆栈位置设置别名,而这些堆栈位置可能会被视为已死。从9.2版开始,反编译程序的重命名操作不再将注解切换为Forcing(如果注解尚未切换为Forcing)。重新键入操作虽然是强制的,但它不会触发原子数据类型的别名阻塞(这是可配置的)。(GP-248,问题#524,#873)。

反编译程序。修复了解编译器错误:pcode:xml coms:<;high>;标记中缺少symref属性。(GP-352,第2360期)。

反编译程序。修正了阻止反编译程序看到附加到比较指令的等价物的错误。(GP-369,第2386期)。

德曼格勒。修复了GnuDemangler以解析运算符符号的完整命名空间。(GT-3474,1441期,1448期)。

德曼格勒。修复了大量GNU Demangler解析问题。最值得注意的是增加了对C++Lambda函数的支持。(GT-3545,1457期,1569期)

德曼格勒。更新了GNU Demangler,以使用未命名类型语法正确解析和应用C++字符串。(GT-3645)。

德曼格勒。修复了解析包含运算符文本的TypeInfo字符串时出现的GnuDemangler ClassCastException异常。(GP-160,1870期,2267期)。

德曼格勒。在GNU Demangler中添加了stdlib.h,以修复某些系统上的构建问题。(GP-187,2294期)。

侏儒。更正了矮人重新定位处理,其中地址镜像基数调整被考虑了两次。(GT-3330)。

文件格式。修复了EXT4文件系统中潜在的被零除异常。(GT-3400,1342期)。

文件格式。修复了CDROM iso9660图像文件中日期的日期和时间解析。(GT-3451,1403期)。

绘图。修复了执行Select-&>;作用域流-&>;正向作用域流时有时遇到的ClassCastException异常。(GP-180)。

阿贵。修复了结构编辑器错误,该错误阻止F2编辑操作在使用箭头键后编辑正确的表格单元格。(GT-3308,第703期)

阿贵。更新了结构编辑器,以便将删除操作置于后台任务中,以防止用户界面锁定。(GT-3352)。

阿贵。修复了位置列在列过滤器中使用时导致弹出无关对话框的问题。(GT-3623)。

阿贵。修复了数据类型预览复制操作,以便保留换行符;更新表导出到CSV以转义引号和逗号。(GT-3624)。

阿贵。修复了Ghidra中的表格,以复制呈现的文本。有些表错误地复制了错误的值,例如函数表的函数签名列。(GT-3629,1628期)。

阿贵。重命名结构时,标题栏和选项卡中的结构编辑器名称现在会更新。(GP-19)。

阿贵。修复了拖放导入锁定Windows文件资源管理器源窗口,直到用户关闭导入对话框的问题。(GP-27)。

阿贵。修复了GTreeModel中FireNodeChanged无效的问题。这可能导致过时的节点信息和与Gtree中的节点相关联的文本被截断。(GP-30)。

阿贵。修复了HiDPI Windows上文件选择器目录列出带有省略号的截断文件名的问题。(GP-31)

阿贵。更新了错误处理,当遇到一系列错误时只显示一个对话框。(GP-65,第2185期)。

阿贵。修复了存在快照时无法正确恢复停靠窗口的问题。(GP-92)。

阿贵。修复了导致某些用户出现NullPointerException的文件选择器错误。(GP-171,1706期)。

阿贵。修复了导致脚本进度条间歇显示的问题。(GP-179,1819期)。

阿贵。修复了在显示多个同名函数时导致调用树节点丢失的错误。(GP-213,1682期)。

桂:项目窗口。修复了前端复制操作,允许复制程序名称,以便用户可以将这些名称粘贴到外部应用程序中。(GT-3403,第1257期)。

无头的。无头Ghidra现在可以正确使用-处理器标志,即使指定的处理器不是有效的意见也是如此。(GT-3376,1311期)。

进口商。已修复文件-&>添加到程序...。在用户创建覆盖时不显示内存冲突错误的操作。(GT-3491,1376期)

进口商。修复了批量导入中的问题,在尝试删除项目选择时,只删除了选择的一个项目。(GP-138)。

进口商。更正了处理压缩的PNG图像的各种问题。(GP-146,问题#1854、#1874、#1875、#2252)。

进口商。修复了尝试加载资源未知的网元程序时发生的RounmeException问题。(GP-182,问题#1596,#1713,#2012)。

进口商:精灵。更正了R_ARM_PC24(类型:1)的ELF重新定位处理,该处理导致手臂拆卸中出现不正确的流动。(GT-3654)。

进口商:精灵。更正了关联PLT条目的DT_JMPREL重新定位和标记的ELF导入处理。(GP-252,第2334期)。

进口商:PE。修复了PeLoader中当节的大小超出文件末尾时发生的IndexOutOf边界异常。(GT-3433,1371期)。

列表:评论。修正了评论栏中的错误,当点击评论中标签所在的地址或符号时,会阻止导航。(GT-3440)。

记忆。修复了扩展内存块时插入随机字节而不是0x00的错误。(GT-3465)

处理器。更正了通过符号扩展由两个子字段组成的20位立即值生成的SuperH指令中的偏移量。(GT-32。

.