RalDnoR
November 1st, 2000, 07:08
Hi all!
It pleases me to see there's already some real cool activity on this part of the forum.
This time I'd like to share with you my recommendations regarding reversing tools.
I'd like to select my tools depending on various aspects like: simplicity, size and the readability of the output.
For all newbies I'll try to explain what the purpose of the program is and where you can get it:
Disassembler
Name: W32Dasm
Location: ht*p://protools.cjb.net
Purpose: A disassembler takes an executable file (or library) and dissects it into assembly code. Good disassemblers also create string references which is usually a list of text-strings which are used from certain locations in the program. This is very handy to use when a string is displayed in the program like for example: 'Invalid serial-number'. When you know where the location is where the string is displayed it's easy to backtrace into the source-code where the validation is done.
Debugger
Name: TRW2000
Location: ht*p://www.protools.cjb.net
Purpose: I'm sure I will get some flames on this one
. Most people will reference to SoftIce when it comes to a debugger, but as I've said before one of my criteria is size and TRW is VERY small and uses almost the same instruction set as SoftIce. The only drawback is that TRW runs only under Win9x. Another advantage of TRW is that it can be loaded and unloaded, so you can load it once the anti-debugger code has passed
.
Anyway, a debugger is used to take a look inside a running program. You can halt execution of a certain program on any point and take a look at what's inside certian memory locations. This way you can for example 'sniff' serials. In many programs there's a location where the given serial is compared to a generated one (based on for example a username). With a debugger you can step through the code untill you arive on the comparison of the serials and 'sniff' the right serial (pretty cool huh?).
Registry Monitor
Name: Regmon
Location: ht*tp://www.sysinternals.com
Purpose: Well, I assume that most people know what the registry is... The registry is a centralised location where programs put information about their functionality (program settings, window-settings, encrypted registration info etc.). The registry consists of two files located in the windows dir (user.dat and system.dat). RegMon provides a live view on registry activity. So when a program tries for example to read a registration key from the registry you'll see it on the moment it occurs in RegMon.
(Message continues in reply due to exceeding of message size)
It pleases me to see there's already some real cool activity on this part of the forum.
This time I'd like to share with you my recommendations regarding reversing tools.
I'd like to select my tools depending on various aspects like: simplicity, size and the readability of the output.
For all newbies I'll try to explain what the purpose of the program is and where you can get it:
Disassembler
Name: W32Dasm
Location: ht*p://protools.cjb.net
Purpose: A disassembler takes an executable file (or library) and dissects it into assembly code. Good disassemblers also create string references which is usually a list of text-strings which are used from certain locations in the program. This is very handy to use when a string is displayed in the program like for example: 'Invalid serial-number'. When you know where the location is where the string is displayed it's easy to backtrace into the source-code where the validation is done.
Debugger
Name: TRW2000
Location: ht*p://www.protools.cjb.net
Purpose: I'm sure I will get some flames on this one


Anyway, a debugger is used to take a look inside a running program. You can halt execution of a certain program on any point and take a look at what's inside certian memory locations. This way you can for example 'sniff' serials. In many programs there's a location where the given serial is compared to a generated one (based on for example a username). With a debugger you can step through the code untill you arive on the comparison of the serials and 'sniff' the right serial (pretty cool huh?).
Registry Monitor
Name: Regmon
Location: ht*tp://www.sysinternals.com
Purpose: Well, I assume that most people know what the registry is... The registry is a centralised location where programs put information about their functionality (program settings, window-settings, encrypted registration info etc.). The registry consists of two files located in the windows dir (user.dat and system.dat). RegMon provides a live view on registry activity. So when a program tries for example to read a registration key from the registry you'll see it on the moment it occurs in RegMon.
(Message continues in reply due to exceeding of message size)