* Contains 78 rebased commits
- add R_PDB struct
- add implementation of init_pdb_parser()
- add stub for init_pdb7_root_stream()
- add init_pdb_stream() function
- add functions for working with stream_file
- do fixes for stream_file_read
- add getting of sizes
- save streams to rlist
- add light implementation of read_root function
- add stubs for parsed_pdb_stream_init
- add parsing of pdb info stream
- start of parsing tpi header
- add stub for tpi stream
- fix stream file read. +stubs for eFIELD_LIST
- add parsing of lf_enumerate
- add parsing of lf_nesttype()
- add parsing of LF_METHOD
- add parsing of lf_member
- add some additional parsing of types
- fix some memory leaks
- add support of LF_METHOD and LF_MEMBER
- add support of LF_NESTTYPE
- add support of LF_ENUM
- add parsing of lf_structure
- add parsing of lf_pointer
- start of lf_array implementation
- back implementation of lf_array
- add implementation of LF_MODIFIER
- add implementaion of lf_arglist
- add implementaion of lf_mfunction
- add useful macros
- add implementation of lf_procedure
- add implementation of lf_union
- add free of sval and printf name of sval
- add implementation of LF_BITFIELD
- add implementation of LF_CLASS
- add implementation of LF_VTSHPAE
- start of refactoring
- finish refactor of the code
- fix memory leak issues
- some refactor of memory managment
- fix memory managment
- add supprot of ushort type
- add function for printing type name and value
- add API for getting leaf types members
- refactor of SType and STypeInfO
- add implementation of get_name/val/... for new types
- fix cast in some function of getting name, val, etc
- add stubs for resolving type
- add pointers to function for getting types
- add connections for types function pointers
- add stub for printing structures
- update memory manadgement and fix some problems in API for working with types
- add process of result from init_pdb function
- print more info about structure
- refactor of printing structure info
- Revert of 9fa8e7083c
refactor structure info printing
more pretty print
refactor code
add parsing of dbi header
add structure stabs for dbi stream
add parsing of dbi_ex_headers
add free for dbi stream
finish parsing of dbg stream
add stubs for streams from dbg stream
add fpo parsing
add free for fpo stream and do some refactor
add parsing of gdata stream
add parsing of pe stream
add parsing of fpo new stream
add fpo new stream
add omap stream parsing
add implementation of printing gvars
add setting parameters for pdb_parser
delete unused comments
delete unused comments
* invalid instruction color is now configurable
* fixed SAR as unknown instruction issue
* Bring back dead code to render flags between the offset and opcode
* Fixes for the rasta and solarized themes
JSON output support has been added for the following cmds:
| / foo\x00 search for string 'foo\0' // Si
| /j foo\x00 search for string 'foo\0' (JSON output) // Si
| /! ff search for first occurrence not matching // Si
| /+ /bin/sh construct the string with chunks // No
| /!x 00 inverse hexa search (find first byte != 0x00) // No
| // repeat last search // Si
| /a jmp eax assemble opcode and search its bytes // Si
| /b search backwards // Si
| /B search recognized RBin headers // No
| /c jmp [esp] search for asm code (see search.asmstr) // Si
| /C[ae] search for crypto materials // No
| /d 101112 search for a deltified sequence of bytes // Si
| /e /E.F/i match regular expressions // Si
| /E esil-expr offset matching given esil expressions %%= here // No
| /i foo search for string 'foo' ignoring case // Si
| /m magicfile search for matching magic file (use blocksize) // No
| /p patternsize search for pattern of given size // No
| /P show offset of previous instruction // Si
| /r sym.printf analyze opcode reference an offset // No
| /R [grepopcode] search for matching ROP gadgets, comma-separated // Si
| /v[1248] value look for an `asm.bigendian` 32bit value // Si
| /w foo search for wide string 'f\0o\0o\0' // Si
| /wi foo search for wide string ignoring case 'f\0o\0o\0' // Si
| /x ff..33 search for hex string ignoring some nibbles // Si
| /x ff0033 search for hex string // Si
| /x ff43 ffd0 search for hexpair with mask // Si
| /z min max search for strings of given size // Si
Since commit baf3145598 buffers for
bin_keyword and bin_keymask at RSearchKeyword structure need to be
allocated dynamilly. The allocation was missing causing a crash.
Added check to avoid empty regexp filters