Requirements :

Numega Softice 4.05

W32DASM

Some asm knowlege

Information :

Target: TextPad 4.5

Author: hEYWIRE

Download : http://www.textpad.com

 

About:

The purpose of this Tutorial is to offer help to anyone wishing to study the art of Reverse Code Engineering. Breaking protection systems in programs is an intellectual challenge, it should NOT be used to steal software. REMEMBER, I do my cracks/keygens as a hobby and challenge, so please, if you like the utility you crack and keep using it, support the author and pay for it! . Peace hEYWIRE

Program Info:

When just getting the job done is work enough, the last thing you need is to waste time having to learn yet another computer application. Your experience with other tools should be relevant to each new application, making it possible to sit down and use that new application right away. That's why TextPad is so popular. Whether you simply need a powerful replacement for Notepad, a tool for editing your web pages, or a programming IDE, TextPad does what you want, the way you would expect. TextPad is designed to provide the power and functionality to satisfy the most demanding text editing requirements. The 32-bit edition can edit files up to the limits of virtual memory, and will work with MS Windows™ 9x, Windows NT and Windows 2000

 

Registering :

OK run the target program, scan it with your Favorite PE-Identifier. We now know its not packed/encrypted. Run TextPad and we see a nag screen telling us this program is not free etc..

Ok lets disassemble this program and see what IMPORTS its uses. After looking through the IMPRORTS these are the ones that could be used to create/destory the Nag screen:

USER32.CreateDialogIndirectParamA

USER32.CreatePopupMenu

USER32.CreateWindowExA

USER32.DestroyWindow

USER32.DispatchMessageA

USER32.EndDialog ß we could work backwards when NAG screen goes

Ok load Softice and set a break point, out of the above lets try CreateWindowExA. Run the target program and SoftICE will break Trace over this call and press F4 to view your Desktop. Still no NAG. Hit F5 and then trace over the call, hit F4 and so on. Count how many times you hit F5 till the NAG is showing, on the last time CreateWindowExA lets trace. Over ever call you trace hit F4 to see if the NAG is created. After a bit of traceing you should land here and the NAG is created.

Scroll up a bit and find any JUMPs we could reverse.You should spot this one:

0167:00404ECE

TEST

EAX,EAX

0167:00404ED0

JZ

00404EF6 ß show NAG/ No NAG

0167:00404ED2

MOV

ECX,[ESI+000000D0]

 

 

Ok clear all other break points and set a break point on this jump and get out of SoftICE. Run the program again and you should land on this JUMP, reverse it and you should land below:

==> 00404EF6

PUSH

005341E8 ß you should land here

0167:00404EFB

LEA

ECX,[EBP-0098]

0167:00404F01

CALL

004AA940

0167:00404F06

PUSH

DWORD PTR [0054D828]

0167:00404F0C

LEA

ECX,[EBP-0098]

 

Hit F5 a few times to get out of SoftICE and there you have it NO NAG. Ok lets make this NAG go away for good. Write done the Code Location of the JUMP you reversed and open the program with you favorite hex editor and change the jump. You could if you wanted make a Loader for this program. IM sure this program has been cracked and written about a lot, but this is the way I went about cracking it.

But we are not finshed yep, theres a dirty NAG Shows up after you run TextPad for a while.So you have to waite a while.This time you have two options, you can kinda use the method above, or work backwards.Just find what called the nag and take care of it.

Final Notes :

That’s it for this Tutorial, hope you learned something, if there is any spelling mistake or grammar errors then forgive me, IM only human. Just a short note, REMEMBER, I do my cracks/keygens as a hobby and challenge, so please, if you like the utility you crack and keep using it, support the author and pay for it! Peace hEYWIRE