Ellié Computing Home Page
My Shopping Cart

Your shopping cart is empty

Display Cart

Call us at +1 586 62 ELLIE / +1 586 62 35543 Office Closed
sales@elliecomputing.com - Contact us


Fields

 

 

The controls on this page let you define fields in specific groups of binary files.

The list contains all the fields for a file type. In the Binary Comparisons options panel, you will be able to enable or disable them by role using checkboxes. The New and Edit buttons open the Field details dialog box. Use the Remove button to delete a field from the list.

Each field contains the following information:

  • a name: used to be displayed in the list
  • a role: used to describe the kind of things the field contains. The roles from all the declared fields are gathered in the Binary Comparison options panel. By checking a single role in the Binary Comparison options panel, ECMerge will ignore all the fields with that role in the binary files. For example, use names such as "Timestamp", "Comment", "Random filling"...
  • a dynamic field flag
  • if static field, its start and length.

Dynamic field are defined in a script you can edit just below the fields list. The PE File format is provided in the factory-file-types directory of the installation (as ms-executable.ecmft), this is a good sample of how to write such a script to define dynamic fields ranges.

The target of the script is to fill a collection dynamic_fields from the content object which represents the content of the dinary file. Here is a basic example of what is expected:

var timestamp_field = new BinaryDocument.Field;
timestamp_field.name = "Header Time";
timestamp_field.role = "Timestamp";
// let's imagine the location of the timestamp field is stored at offset 16
//  in the file as a 32 bit offset itself (in a little endian unsigned int)
timestamp_field.start = content.read_number (16, 4, 'little', 'uint');
timestamp_field.length = 8; // 8 bytes for a 64 bits timestamp
dynamic_fields.push (timestamp_field);

See also