Puppet
Source: I spring and autumn community
0x00 Patch
A patch is a piece of cloth that is nailed to cover holes in clothes and bedding. Now also refers to the problem-solving applet released for large software systems (such as Microsoft operating systems) that are exposed during use (typically discovered by hackers or virus designers). Just like the clothes are rotten to the patch, people writing programs can not be perfect.
so the software will inevitably appear bugs, and patches are specifically fixed these bugs do because the original release of the software is flawed, found after the addition of a small program to make it perfect, this small program commonly known as patches. Patches are made by the original author of the software and can be accessed by the website to download patches. --reprint Baidu Encyclopedia
0x01 Preparatory work
1.OD
2. Programming language-I use easy language, don't ask me what! Because it's easier to write patches!
3. Software that needs to be cracked. --Because my software is open source, I'll hack my previous software V4.1 version
0x02, start!
1. Let's start by looking at how to hack it!
2. We first import the software into OD. Search for strings under software
3. Then we find the string, please enter the account number, found a similar login successful words
4. After double click, set breakpoints, start step by step debugging
5. After commissioning we found that the program login success will jump to 00401954 this address
6. We change the code of address 0040145a to jmp 00401954//Jump directly to login success
7.f9 debugging, found that no need to enter the account can be landed!
8. This has been cracked success ~ we can save the file to use, you can also write a crack patch!
0x02 write cracked patches!
1. Write hack patch I use easy language, the reason is because I compare spicy chicken, can not play other high-level language.
2. Easy language Import Super module, which integrates the command we want to use
3. To write our order, the order is as follows.
4. Write the memory address where we need to modify the data to the address of the easy language function
* Note: Because each modification can only modify one byte, so we need a byte to change a byte!
we can calculate the address and modify \ \ Two number to one byte according to the red data in OD
5. Fill in our easy-to-use language functions with our red-turned data
6. We inject the compiled DLL into the program
7.OK, landing success!
////////////////////////////////////////////////////////////////////////////////////////////////
By: Puppet
Honey, your software has a hole in it.