Here you read what's storming in my brain...
More grammars arrived
ICC (color) profiles can be decoded now using the grammar you find on this page as well as a basic grammar for Audible (.aa) files.
A grammar for ELF binary files is on the way but needs some extensions in Synalyze It! which will be implemented in the next days.
Thanks to all users sharing their grammars for free!
Please consider providing your grammars also if they might be useful for others :)
All users noticing the bug when copying number elements with min/max values please download SynalyzeIt_1.0.3.2.zip
Enjoy your day
Andreas
New grammars arrived
With version 1.0.3 I uploaded a grammar for saved games of Borderlands. Today Pascal Werz sent me a grammar for Mach-O files that could be useful for several developers.
Enjoy & have a nice week :)
Andreas
Next step ahead
The next version of Synalyze It! is almost done... I hope.
Please have a look at SynalyzeIt_1.0.2.6.zip and report any bugs or whatever you think.
The version will come along with some new grammars for mach-o files and others :)
Have a great weekend!
Andreas
PowerPC is still alive ... a bit
Some days ago I installed Xcode 3.2.6 and unfortunately I built version 1.0.2 with it. Today a user noticed that the new version was not a complete universal binary anymore - the PPC part was missing.
Now the version is again a full universal binary - sorry for the confusion.
It seems that Apple tries to get rid of PPC quickly - with Lion even Rosetta will be dismissed...
Have a good <whatever you want>
Andreas
1.0.2 is out
Eventually Synalyze It! was released now also in the Mac App Store. Unfortunately the versions you find in the MAS and here on this site are not the same.
First, I had to remove some features due to MAS rules (synalyze shell tool and automatic online update as well as the automatic suggestion of grammars available on this site). Additionally in the version you get here are some fixes made while the version in the MAS waited for approval more than two weeks.
Hopefully I can keep both versions better on the same state in the future.
Thanks again for all the positive feedback, version 1.0.3 is already in the works :)
Happy synalyzing!
Andreas
Waiting for the Mac App Store
While waiting for the approval of Synalyze It! in the Mac App Store I created a grammar for Windows EMF files.
The version in the Mac App Store will have no automatic online update check and also the downloading of grammars has to be done manually due to the Mac App Store rules.
As soon as the version 1.0.2 will be approved I'll also provide it on this site.
All the best...
Andreas
Ecoutez!
Since je ne parle pas francais very well I don't actually know what's been spoken in this french podcast of CocoaCast - could someone tell me more?
Localization of software can be really annoying so I wrote a Ruby script now to compare two UTF-16 encoded Strings files and a Rakefile that creates the German XIBs from the English ones using the strings.
The script is not yet really nice because of the redundant code but it does its job and tells me about missing strings in the localized version of the strings file.
Version 1.0.1 was just released and includes many enhancements and fixes. Please report any problems you find :)
Happy synalyzing!
Andreas
Thank you all
Thanks for all the positive feedback! :-D
A lot has been improved and fixed in the past days. The most frequently asked extension - use a number element as repeat count of structures, has been implemented.
Please have a look before I release the next version and give me feedback.
Happy synalyzing!
Andreas
Tutorial, sample files, ...
A binary version number
Just in time I released today version 1.0. Bon anniversaire, Synalyze It!
There's much to come in the next year. Yesterday I worked on a grammar for ICC profiles and noticed that it works quite well except for two things: The repeat count of structures or structure elements must depend on other elements; even more difficult: There's first the reference (file offset), then the length of the referenced structure. Let's see how this can be solved ...
An interesting year has come to its end. Another lesson in accepting the world as it is, understanding the past, heading forward and focusing on the presence.
Happy new Year 2011С новым годом 2011
Invisible progress...
Quite some time has passed since the last beta version was published. Fortunately this doesn't mean nothing happens in Synalyze It! :)
My plan is to release a version 1.0 by the end of this year that is stable and has some additional features not seen in previous versions.
If you have a look at http://www.synalysis.net/formats.xml you may notice that the page looks the same as http://www.synalysis.net/the-grammar-page.html but since it's XML plus a XSL style sheet it can be easily parsed by Synalyze It!.
This means you can get suggestions for available grammars when you open some file and install the grammar on your computer with just one click. Could it be easier than this?
Of course this will work also for grammars installed locally.
In order to collect more grammars there'll be also a publish button that allows you to send a grammar file via email (hopefully to me :).
There are some other features users asked for I'll try to implement for the first non-beta version.
Happy Christmas (or whatever you like)
Grammar and more...
The hex editor part of Synalyze It! is now more or less complete - just a few things are missing.
So in the next weeks I'll focus more on the grammar and what can be expressed with it. Most importantly the length of string and binary structure elements must be able to depend on the value of number structure elements.
The new offset structure element type allows to display related contents that are spread over a file to be displayed next to each other.
Yes, I know... how to create a grammar is not really self-explaining. More documentation will come... :)
Not to forget: Thanks for all the feedback I got already! It helps to implement what's really needed and to create an application that makes Windows users jealous. :-D
P.S.: I found another (free) hex editor with additional features for the Mac: PeekIt.
Hex Editors - State of the Art
When I started developing on the Mac, I was of course in the need of a capable hex editor. Even now there is no such comparable with what can be found on Windows. In the English Wikipedia, there is a useful Comparison of Hex Editors.
Since ordinary hex editing is not what I was looking for, I concentrated on the hex editors with "file structure view" (see second table on the Wikipedia page). If you're searching for a tool that disassembles machine code, this page is probably not for you while some of the applications do support this.
When I digged deeper and checked what the applications are really able to accomplish, only these products remained in my list (all on Windows only):
Additionally should be mentioned DataWorkshop which has some nice ideas but is completely outdated - not able to open and process large files and not really intuitive to use.
On the Mac there are only PeekIt and iBored offering more than simple binary file editing, the others (Hex Editor, HexEdit, hexedit, 0xED, Bless, beye, Hex Fiend, MadEdit, wxHex Editor) all don't help you much to understand what's encoded in a binary file. For PeekIt you can write a plugin for file analysis if you're a developer. The good thing all Mac application have in common: they're free :)
Most important now
While Synalyze It! gets more and more stable I notice what's missing most now.
So first I need to add editing capabilities to make it a full-blown hex editor that allows to change files like in traditional hex editors as well as in the results view.
Second, to become able to parse any file format, I want to integrate Ruby as a scripting language.
The scripting integration will give you the power of both worlds: structures can be defined interactively in the hex view but can also be parsed using a capable language that can access the Synalyze It! objects - grammars, structures and the results of the mapping process.



