|
Usage
perdr [options] <executable>
Options are similar to Posix semantic
-- |
end option (useful if filename start with -) |
--help |
print help screen |
-v, --version |
print version |
-b, --bytes |
show bytes on disassembly |
-p, --show-priority |
show disassembler priority |
--raw-dump |
don't disassemble, print only raw bytes |
--extract-icon-resource |
extract icon into separate files (resicoX.ico) |
--no-entry-code |
do not assume entry point points to code |
--disable-3dnow |
disable 3DNow! disassembly (even enhanced) |
--disable-enh3dnow |
disable enhanced 3DNow! disassembly |
--disable-pentium3 |
disable Pentium III disassembly |
--disable-athlon |
disable Athlon disassembly |
-h, --show-headers |
show short headers |
-H, --full-headers |
show full headers |
-i, --show-imports |
show imports |
--show-relocations |
show relocations |
-e, --show-exports |
show exports |
-r, --show-resources |
show resources |
-R, --raw-resources |
show resources in raw format |
-c, --show-code |
show code or dump |
--show-cref |
show call references |
--show-Uref |
show unconditional jump references |
--show-Cref |
show conditional jump references |
--show-refs |
show all references |
This reverse the executable to screen
Priority
"secure code": |
entry point |
code executed by entry point |
safe export |
code executed by known export (not yet implemented) |
safe heuristics |
code executed by heuristics (very sure code) |
"not secure": |
export |
code executed by export (mm.. not all export are code) |
heuristics |
code executed by heuristics (not very sure, like a single call found) |
constant |
only a constant in code |
filler |
only printed for completion |
none |
this is not code |
check only |
wow! If you find there is a bug |
Work to do
BUG:
- This program assume that code segment contain only code
- More check
TO DO:
- Data analysis completing
- String checking completing
- More option (no code analysis, some check skipping, etc)
- Resource analysis and dumping
- Relocation analysis and test on data pointers
- Heuristic motor completing
- Some instruction process are incomplete (complex reference)
- Unknown bytes analysis (not only code)
- Print of some type (float or MMX). Now only in raw mode (binary)
|