Download Article Download Article

Have you ever wanted to learn how a program protects itself from being copied? With the right tools, you can examine the inner workings of a program and experiment with reverse-engineering. You'll need have a firm grasp on assembly programming and hex code to get started, and a disassembler app. Once you're familiar with the code, you can modify the DLLs so their corresponding programs never have to be registered or purchased.

  1. If you want to crack most software, you will need to have a good grasp on assembly, which is a low-level programming language.[1] Assembly is derived from machine language, and each assembly language is specific to the type of computer you are using. Most assembly language is expressed through binary and hexadecimal.
  2. To examine and modify DLLs, you will need several different tools, including a disassembler. IDA Pro is a great option, as it's a disassembler and debugger. Fortunately there's a free version available from https://www.hex-rays.com/products/ida/support/download_freeware, although it's much more limited in functionality than the Pro version. You can also try dotPeek, which is a DLL-supporting decompiler that decompiles .NET assembly code to C#.[2] Another option is OllyDBG, which lets you open DLL files for free.
    Advertisement
  3. The process is a little different depending on which disassembler you're using. This will show you what DLL files are being loaded by the program. Use the debugger to examine which functions are being called from the DLL.[3]
  4. Many programs use a timer for copy protection, and when the timer runs out, the user is no longer able to access the program. The goal is to find this counter code, and then bypass it.
    • If the program you are cracking uses a different form of protection, you will need to look for that instead.
  5. Once you've isolated the counter function, set your disassembler to break when it is encountered. This will allow you to look at the exact code that is occurring when the counter function is called.
  6. Now that you've found the code for the counter function, you can change the code so that the counter never reaches the point where it shuts you out of the program. For example, you could make it so that the counter cannot count up to the break limit or you can bypass the counter by jumping over it.'
  7. After disassembling and editing, you'll need to compile the new version of the program so your changes propagate to the DLL files and other dependencies.[4]
  8. Advertisement

Community Q&A

Search
Add New Question
  • Question
    Can I bypass the activation key on Trend Control's System Engineering Tool 7.02?
    Community Answer
    Community Answer
    Theoretically, any activation can be bypassed. If you know assembly, I suggest you search for an input value being compared against a complex algorithm and bypass that block of code.
  • Question
    How can I learn assembly programming?
    Community Answer
    Community Answer
    Tutorialspoint has assembly programming in it. It has a link to Coding Ground which has an assembly IDE on it so you can practice assembly without installing software on your computer. It's a great site, but you can utilize the internet too! Look up tutorials to help you learn. There are also some great tips in How to Start Programming in Assembly.
  • Question
    How can I crack any software easily?
    Community Answer
    Community Answer
    YouTube tutorials can help develop these skills. But be careful for viruses!
See more answers
Ask a Question
200 characters left
Include your email address to get a message when this question is answered.
Submit
Advertisement

Tips

Submit a Tip
All tip submissions are carefully reviewed before being published
Thanks for submitting a tip for review!

Warnings

Advertisement

You Might Also Like

Play MinesweeperPlay Minesweeper
Open EPUB FilesOpen EPUB Files
Install the Google Play Store on an Amazon FireHow to Add the Google Play Store to an Amazon Fire Tablet
Use RufusUsing Rufus to Create Bootable USB Drives: A Step-By-Step Guide
Compare Two Excel FilesA Step-by-Step Guide to Compare Two Excel Files
Make an Exe FileMake an Exe File
Save an Animation in BlenderSave an Animation in Blender
Create an RSS Feed2 Simple Ways to Create an RSS Feed
Change Hostname on LinuxHow to Change the Hostname on Linux Without Rebooting
Add a Password to a RAR FileAdd a Password to a RAR File
Edit DLL FilesEdit DLL Files
Why Is Your Child's Screen Time Not ShowingWhy Is Your Child's Screen Time Not Showing? Troubleshooting Apple Family Sharing
Connect the Kindle Fire to a Computer2 Easy Ways Connect the Kindle Fire to a Computer
Contact SpotifyHow to Contact Spotify: Step-by-Step Guide for Quick Support
Advertisement

About This Article

Nicole Levine, MFA
Written by:
wikiHow Technology Writer
This article was co-authored by wikiHow staff writer, Nicole Levine, MFA. Nicole Levine is a Technology Writer and Editor for wikiHow. She has more than 20 years of experience creating technical documentation and leading support teams at major web hosting and software companies. Nicole also holds an MFA in Creative Writing from Portland State University and teaches composition, fiction-writing, and zine-making at various institutions. This article has been viewed 860,090 times.
How helpful is this?
Co-authors: 60
Updated: February 27, 2023
Views: 860,090
Categories: Software
Article SummaryX

1. Open the application in a disassembler.
2. Find the counter function you want to change.
3. Set a break-point on the counter.
4. Change the counter code.
5. Recompile the software.

Did this summary help you?

Thanks to all authors for creating a page that has been read 860,090 times.

Is this article up to date?

Advertisement