Giter Site home page Giter Site logo

idouble / simple-disassembly-notes Goto Github PK

View Code? Open in Web Editor NEW
27.0 3.0 4.0 1.4 MB

โš™๏ธ Simple Step to Step Tutorials for Disassembling / Code Injection & getting Pointer Addresses ๐Ÿ”ง

License: MIT License

Assembly 100.00%
assembly disassembly tutorial collection reverse-engineering pointer offsets tutorials code disassembler

simple-disassembly-notes's Introduction

โš™๏ธ Simple Disassembly Notes ๐Ÿ”ง

โš™๏ธ Simple Step to Step Tutorials for Disassembling / Code Injection & getting Pointer Addresses ๐Ÿ”ง

๐Ÿ”ง Get Pointer Address from Value ๐Ÿ”ง

  1. Set Value Type All
  2. Set Value (ex. (Int 32 = 4 Byte = 32 Bit) 85 or (float/double) 85.5) you search for and press First Scan

Get_Pointer Address_From_Value

  1. Change Value in the Process
  2. The Changed Value will be red, on the left is the Pointer Address

Get_Pointer Address_From_Value

๐Ÿ”ง Replace the Assembly Code with Code that does Nothing ๐Ÿ”ง

  1. Right Click on Address Record
  2. Select Find out what writes to this address
  3. Press on Replace

Replace the Assembly Code with Code that does Nothing

  1. Delete the Assembly Code and Press OK

Get the Pointer Address from the Pointer of the Value

๐Ÿ” Get the Pointer Address from the Pointer of the Value (Way 1 : easier) (level-1 pointer) ๐Ÿ”

  1. Read the Address

Get the Pointer Address from the Pointer of the Value easier

  1. Check Checkbox Hex and put the Address in it
  2. The Address to the Pointer is in this ex. 1002CBA40

Get the Pointer Address from the Pointer of the Value easier

๐Ÿ” Get the Pointer Address from the Pointer of the Value (Way 2 : harder) (level-1 pointer) ๐Ÿ”

  1. Select Find out what writes to this address
  2. Press on More information

Get the Pointer Address from the Pointer of the Value

  1. The Address to the Pointer is in this ex. 011DC7A0

Get the Pointer Address from the Pointer of the Value

๐Ÿ” Get the base Address from a multilevel pointer (level-4 pointer) ๐Ÿ”

โžก๏ธ Example of a level-4 pointer โžก๏ธ

Get the base Address from a multilevel pointer level-4 Example

01168A78 = Address / base pointer (base ptr)

0x18 = Offset

"Tutorial-x86_64.exe" + 2CBA70 = static base address

-> = points to

01168A78 = Value = 2765

01188070 -> 1168A60 + 0x18 = 01168A78

01168A18 -> 01188070 + 0 = 01188070

011681D0 -> 1168A00 + 0x18 = 01168A18

"Tutorial-x86_64.exe" + 2CBA70 -> 11681C0 + 0x10 = 011681D0

Get the base Address from a multilevel pointer level-4 Example

๐Ÿ” How to find out each base pointer with its offsets until you get to the static base address ๐Ÿ”

  1. Right Click on Address Record
  2. Select Find out what accesses this address

Get the base Address from a multilevel pointer level-4

  1. Calculate the Address using the Offset ex. -> (01188070 -> 1168A60 + 0x18 = 01168A78)
    Calculation (hex) : (01168A78 - 18 = 01168A60 = 1168A60)
  2. Check Checkbox Hex and put the Address in it (ex. 1168A60)
  3. The Address to the Pointer is in this ex. 01188070
  4. Repeat Step 1 to 5 until you get the static base Address, in this ex. "Tutorial-x86_64.exe" + 2CBA70

โš™๏ธ Add Pointer Address manually (level-1 pointer) โš™๏ธ

  1. Click on Add Address Manually

Add Pointer Address manually

  1. Add Address, if needed with Offsets and click OK

Add Pointer Address manually

  1. The Result should look like this:

Add Pointer Address manually

โš™๏ธ Add Pointer Address manually (level-4 pointer) โš™๏ธ

  1. Click on Add Address Manually

Add Pointer Address manually

  1. Add Address, if needed with Offsets and click OK

Add Pointer Address manually

  1. The Result should look like this:

Add Pointer Address manually

๐Ÿ›  Code Injection ๐Ÿ› 

  1. Right Click on Address Record
  2. Select Find out what writes to this address
  3. Press Show disassembler

Code Injection

  1. Click on Tools and select Auto Assemble

Code Injection

  1. Click on Template and select Code Injection

Code Injection

  1. Click on OK
  2. Comment out as an ex. //sub dword ptr [rsi+00000780],01 (value - 1)
  3. Write as an ex. add dword ptr [rsi+00000780],01 (value + 1)

Code Injection

  1. Press on Execute and then click OK and it's Done!

Binance Ready to give crypto a try ? buy bitcoin and other cryptocurrencies on binance

simple-disassembly-notes's People

Contributors

idouble avatar imgbotapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  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.