Binary Folding Editor是一款专业的二进制折叠编辑工具。编程人员都在使用的be编辑器Binary Folding Editor。它提供了多种编辑功能,主要用于结构化浏览。该程序旨在接收一组二进制文件,并在初始化文件的帮助下解码并显示其中的定义(结构或联合); BE特别适合在文件内显示非可变长度定义,这使检查已知文件类型变得容易,并允许快速可靠地导航内存转储。 BE通常用作调试器的数据导航部分;使用页面包括调用编辑器,初始化页面包括其初始化文件,编辑页面包括如何交互使用它;它支持查找初始化文件,BE要做的第一件事是查找并加载初始化文件,该文件告诉BE各种文件格式的布局及其结构。在处理初始化文件时,命令行上指定的所有符号文件和所有数据文件将一起加载。这意味着初始化文件可以引用符号或数据本身。需要它的用户可以下载体验
软件特色:
可以解码(多个)文件中的定义。
可以按任何字节顺序处理多字节值。
可以处理有符号或无符号值。
可以从符号表或映射表中搜索以显示自纪元以来的ASCII,二进制,八进制,十进制,十六进制和第二个定义字段
字段可以是数字,缓冲区或嵌套定义。
计算字段(其值可以从数字表达式计算得出,该表达式可以包括对其他字段和/或存储位置的引用)。
可选的详细显示级别。
抑制无关紧要的结构场的能力。这包括嵌套的子结构等。
可以扩展子定义或遵循指向其他定义的绝对或相对指针。
自动链接列表如下;能够查看文本文件。
能够将当前数据视图写入/追加到文本文件。
搜索显示的数据,可以选择使用扩展的正则表达式。
包含/排除和排序行特征。
刷新数据和自动刷新数据。
编辑的能力实际上不是文件中的数据,而是BE内存扩展模块提供的数据。
此功能可以将BE变成调试器的数据导航部分!
标记显示的行并快速在标记之间移动。
可以提供在线帮助;可以调用初始化文件供用户查看。
轰炸了操作系统;多个会话,并在会话之间复制。
使用说明:
在Windows上安装
将be_win.exe复制到be.exe,位于路径上的某个位置。
将be.ini复制到与be.exe相同的目录,以便可以找到它。
(可选)将be.hlp复制到与be.exe相同的目录中,以便可以找到它。
BE是一个Win32应用程序,已经在Windows NT,2000,XP和2003上进行了广泛的测试。使用Windows 95的测试较少,并且Windows 95版本的Win32 Console API(用于屏幕)中存在许多错误。确定并解决。仍然存在与使用异常屏幕尺寸有关的一些奇怪问题。如果发现更多问题,我不会感到惊讶。
注意:从Windows 2000开始,一些新创建的MS-DOS窗口可能具有许多行的缓冲区。 BE可以处理的大小超过最大大小。您可以更改现有窗口的属性以及用于启动现有窗口的快捷方式,但是Windows注册表中有一些设置涵盖了不使用快捷方式创建的MS-DOS窗口,
而且没有简单的GUI方法可以更改此设置。我们捆绑了console.reg,可以在命令行上运行以将默认的MS-DOS缓冲区和窗口大小设置为80x50。
将UNIX平台的可执行文件(例如be_linux_rh90)复制到/ usr / bin,/ usr / local / bin或〜/ bin等位置,或复制到您认为合适的路径上的任何位置,然后重命名为。
将be.ini复制到与be.ini相同的目录中,以便可以找到它,或将其复制到主目录中的.berc。 BE优先使用本地初始化文件,而不是普通的初始化文件。
(可选)将be.hlp复制到与be.hlp相同的目录,以便可以找到它。
在Linux上,使用常规linux或xterm终端可获得最佳的颜色和键盘支持。在较旧的RedHat发行版上,xterm terminfo条目可能不包括对颜色的支持,并且您可能必须将TERM环境变量设置为xterm-color。
在AIX上,可以通过使用aixterm或通过使用HFTTERM.EXE从OS / 2登录来获得最佳的键盘和颜色支持。应该注意的是HFTTERM.EXE似乎有一个错误,即它不能为@ 9和@ 0击键生成正确的数据流。
-i标志将覆盖默认的初始化文件。
-I标志影响初始化文件中include命令的操作。
-D标志允许定义符号,可以通过$ ifdef初始化文件和类似指令进行访问。
-S标志允许定义命名常量,该常量可用于初始化文件中的数字表达式。
编辑器具有10个编辑会话,并且-d,-a和-f选项会影响所有会话(默认),除非使用-s选项指定受影响的会话(S)。缺省情况下,仅显示会话0 -p,但也可以使用-s选项进行更改。
您可以使用-d和-a标志覆盖所有/每个会话定义和要解码的初始结构的地址。通常,BE首先查找“ main”定义的定义,然后对地址0处的数据进行解码。地址表达式允许在符号表中引用符号,因为它们是在加载符号表后进行评估的。在加载任何符号表之前,将评估所有其他数字命令行参数,因此无法引用符号。
如果使用-f标志,则它必须标识指定结构中的字段。如果该字段是指向相同类型结构的指针,则BE最初将显示结构的链接列表,而不仅仅是一个结构。否则,假定该字段是字段的数组,但是显示元素列表。
您可以使用-y标志来指定符号表。假定符号文件采用ARM链接程序生成的格式。但是,-Y标志可用于通知BE紧随其后的是其他格式符号。您可以指定不同格式的多个符号文件,例如:
是-Y aix_nm -y syms.nm -Y臂-y syms.sym ...
有关受支持的符号文件格式的说明,请参阅“符号”页面。
如果指定了偏差,则将其添加到文件中的每个符号值。当符号表包含相对值而不是绝对地址时,这非常方便。
-C dx选项可用于通过使用反汇编程序扩展来扩展BE。这是具有明确定义的接口的代码的一部分,并且BE用于反汇编注释为代码的数据。
-w和-h参数可用于尝试覆盖当前屏幕尺寸。这不适用于UNIX或NetWare,但适用于32位DOS,32位OS / 2和Windows。 -c参数允许您从少量的配色方案中进行选择。
-p标志使BE以非交互方式被调用。它将给定地址解码为指定类型的结构,并将结果写入屏幕(作为stdout)。可以通过明智地使用-s标志来获得多个结构转储。
-r标志可以阻止BE用户使用嵌套的操作系统命令。
-v标志使您可以声明地址,偏移量,长度和数组索引最初将显示在显示的数据旁边(请注意,-vI关闭了索引编制)。您也可以打开地址的符号显示。另外,您可以指定索引显示模式,二进制,八进制,十进制或十六进制之一。 +和-键会影响所显示详细信息的初始级别,并且仅对-f标志有效。与-p标志结合使用时,这尤其有用。不幸的是,视图标志是全局的,而不是每个会话的。
-g参数是“段模式”开关。启用后,BE将首先转换所有地址,然后使用它们获取或存储数据。即:地址0xSSSSOOOO已映射到SSSS * 16 + OOOO。显然,这是为了调试嵌入式英特尔处理器转储中的转储,任何具有合理文件格式的人都可以忽略此fl
股份公司
通常,BE在32位地址空间中操作。 -A可用于更改此设置。例如,您可以选择24位地址空间。在这种情况下,BE在寻址数据时将忽略第24位及以上,而在显示地址时仅显示后24位。当前,某些操作系统版本的BE仅支持> 32位地址空间。
可以指定多个输入二进制文件,并且应将它们加载在不重叠的地址范围内。
BE支持--to end选项,因此允许以后指定的文件名以-开头。
每个二进制文件为BE可以查看或编辑的部分存储空间提供数据。因此,每个二进制文件都可以描述为存储部分。
或者,可以将存储节指定为mx!args。这指示BE加载内存扩展并通过内存扩展访问由参数标识的数据。通过此功能,BE可以扩展为直接编辑非文件数据,例如磁盘上的扇区。
callE的典型调用可能如下所示。
要编辑文件,文件将从0开始加载到BE内存空间中:
是picture.bmp
编辑协处理器RAM和ROM中的转储。 ROM从0开始,RAM从0x8000开始。 gizmo.sym是协处理器正在运行的微代码的符号:
是-y gizmo.sym gizmo.rom gizmo.ram@0x8000
实时编辑正在运行的协处理器。 ucode.map具有协处理器正在运行的微码的符号。 ucode.ini是自定义的初始化文件。 BEcoproc.DLL使BE可以访问协处理器内存。 io = 0x400,mem = 0xc0000告诉BEcoproc.DLL如何找到协处理器。 BEi86.DLL允许BE反汇编数据中的任何代码:-
是-Y map -y ucode.map -i ucode.ini -g -C i86 coproc! io = 0x400,mem = 0xc0000
将标头显示为512字节file.dat。解码后的数据将被写入stdout,BE是非交互式的。地址将显示在数据旁边:
是-d头-a 512 -p -vA file.dat
在三个地址处选择三个结构,执行BE解码并将所有三个结构显示到stdout:
软件特色:
地址滑动功能。
电源地址滑动功能用于系统地跟踪文件或内存空间中未知位置的定义。
将解码定义保留在连续的地址处,直到模式匹配为止。这个功能真的很棒!
定义中字段的地址,偏移量,长度和索引的可选显示。
可以显示为ASCII,EBCDIC,二进制,八进制,十进制或十六进制数组索引。
可以显示为十六进制或符号+偏移地址。初始显示模式可以在命令行上设置。
ARM解码符号代码地址的跳远。
可以使用符号表文件,以便地址可以显示为符号+偏移量,因此用户可以在数字表达式中引用符号地址。
支持多种格式的符号文件。
用户可扩展的初始化文件,在文件或内存空间中定义。
可以通过命令行选项更改初始化文件。
初始化文件中的宏支持。
在非交互模式下,BE将数据显示到标准输出并退出。
支持插件反汇编。
在某些系统上,支持> 32位数据类型和地址空间,但32位OS / 2除外,这些都是当前版本。