Coder Social home page Coder Social logo

autoit3_patcher's Introduction

███████╗ ██████╗██╗  ██╗██████╗ ██╗     ██████╗ ███████╗
██╔════╝██╔════╝██║  ██║██╔══██╗██║     ╚════██╗╚════██║
███████╗██║     ███████║██████╔╝██║      █████╔╝    ██╔╝
╚════██║██║     ╚════██║██╔══██╗██║      ╚═══██╗   ██╔╝ 
███████║╚██████╗     ██║██║  ██║███████╗██████╔╝   ██║  
╚══════╝ ╚═════╝     ╚═╝╚═╝  ╚═╝╚══════╝╚═════╝    ╚═╝  
                                                        
    ██████╗ ██████╗ ██╗   ██╗ ██╗██╗     ███████╗       
    ██╔══██╗╚════██╗██║   ██║███║██║     ██╔════╝       
    ██║  ██║ █████╔╝██║   ██║╚██║██║     ███████╗       
    ██║  ██║ ╚═══██╗╚██╗ ██╔╝ ██║██║     ╚════██║       
    ██████╔╝██████╔╝ ╚████╔╝  ██║███████╗███████║       
    ╚═════╝ ╚═════╝   ╚═══╝   ╚═╝╚══════╝╚══════╝
	
█████████████████████████████████████████████████████████

This is a simple release for educational purposes.
The project is designed to replicate an old skool patcher
for cracking software.

Included:
+ CRKME1.exe - Crack Me #1 by Phrozen Crew
+ Full source for the patcher in AutoIt3
+ Patcher.exe - Compiled executable

= Finding the address of the target program to patch =
I wanted to briefly cover how the address in memory that
cracked the program is found.

To begin, we will be using OlyDbg for this example.
Other debuggers and disassemblers such as IDA Pro
however work just as well.

1. Open OlyDbg and create the process for CRKME1.exe
2. Run all threads.
3. In the assembly window, search for the binary string
   "Not Registered"
4. Above our string, we should see a couple jumps.
   Specifically we are looking for a JE (Jump if Equals)
   directly above our string.
5. Double click on the JE and reassemble it as JNE.
6. Test for success by typing anything into the input
   box.
7. Write down the address shown to the left of the
   assembly instruction.
8a. Open the instruction in the Hex View. Write down the
   offset of the byte. Then in a hex editor, go to the
   offset and change the 74 to a 75. Hit save and the
   file is permanently patched.
8b. Copy the memory address of the assembly instruction
   shown to the left of the instruction. Then in our
   patcher's source, apply the address inside of a
   WriteMemory() function.

autoit3_patcher's People

Contributors

miyakoproductions avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.