Closed ms-xy closed 8 years ago
If you want to optimize this further take a look at profiling: https://blog.golang.org/profiling-go-programs
You might to also have a look at third party JSON implementations and/or build the final output by hand to shave off some more time.
I just accepted #76 and this breaks some of your code. Would you mind refactoring your pull so it account for the change from Novetta to Holmesprocessing?
I'll close this pull request as I have to do a bunch of commits to test out the refactoring, I'll create a new pull request later (I'm not sure if I got each and every change right)
Currently limited to a maximum amount of opcodes that needs to defined in the config. Cannot be unlimited. (no -1 or such option) This limitation is due to efficiency trimming.
Output format of the service: { "fileformat": "...", "number_of_opcodes": 1234, "sections": { ".init": { "name": ".init", "blocks": [ { "name":"blockname/undefined", "offset":"40103f", "opcodes":["jmp","nop","pushq",...] }, ... ] }, ... } }
Average run time for 10k opcodes should not exceed 200ms.
Contains a prototype implementation of a go version of the configuration parser that is available in the totem library (python).