Jump to content
    1. Welcome to GTAForums!

    1. GTANet.com

    1. GTA Online

      1. Los Santos Drug Wars
      2. Updates
      3. Find Lobbies & Players
      4. Guides & Strategies
      5. Vehicles
      6. Content Creator
      7. Help & Support
    2. Red Dead Online

      1. Blood Money
      2. Frontier Pursuits
      3. Find Lobbies & Outlaws
      4. Help & Support
    3. Crews

    1. Grand Theft Auto Series

      1. Bugs*
      2. St. Andrews Cathedral
    2. GTA VI

    3. GTA V

      1. Guides & Strategies
      2. Help & Support
    4. GTA IV

      1. The Lost and Damned
      2. The Ballad of Gay Tony
      3. Guides & Strategies
      4. Help & Support
    5. GTA San Andreas

      1. Classic GTA SA
      2. Guides & Strategies
      3. Help & Support
    6. GTA Vice City

      1. Classic GTA VC
      2. Guides & Strategies
      3. Help & Support
    7. GTA III

      1. Classic GTA III
      2. Guides & Strategies
      3. Help & Support
    8. Portable Games

      1. GTA Chinatown Wars
      2. GTA Vice City Stories
      3. GTA Liberty City Stories
    9. Top-Down Games

      1. GTA Advance
      2. GTA 2
      3. GTA
    1. Red Dead Redemption 2

      1. PC
      2. Help & Support
    2. Red Dead Redemption

    1. GTA Mods

      1. GTA V
      2. GTA IV
      3. GTA III, VC & SA
      4. Tutorials
    2. Red Dead Mods

      1. Documentation
    3. Mod Showroom

      1. Scripts & Plugins
      2. Maps
      3. Total Conversions
      4. Vehicles
      5. Textures
      6. Characters
      7. Tools
      8. Other
      9. Workshop
    4. Featured Mods

      1. Design Your Own Mission
      2. OpenIV
      3. GTA: Underground
      4. GTA: Liberty City
      5. GTA: State of Liberty
    1. Rockstar Games

    2. Rockstar Collectors

    1. Off-Topic

      1. General Chat
      2. Gaming
      3. Technology
      4. Movies & TV
      5. Music
      6. Sports
      7. Vehicles
    2. Expression

      1. Graphics / Visual Arts
      2. GFX Requests & Tutorials
      3. Writers' Discussion
      4. Debates & Discussion
    1. Announcements

    2. Support

    3. Suggestions

Thread base IP?


MythicalCreature
 Share

Recommended Posts

MythicalCreature

I've seen this being used in countless ASM based CLEO scripts, but I don't have that much of a clue as to what it is and what it does. So could someone please enlighten my ignorance?

 

Thanks in advance.

Link to comment
Share on other sites

BaseIP is the memory address of the beginning of your CLEO script. Therefore, jumps work by relocating CurrentIP to BaseIP+abs(label_offset) (label offsets are negative in CLEO scripts and external SCM scripts). You can use this to obtain the memory address of your specific label inside a CLEO script and use that to write to it or to relocate the game's code to this address (although the latter is very fishy and will be flagged by Data Execution Prevention if for some reason it's enabled on user's game EXE).

  • Like 1
Link to comment
Share on other sites

MythicalCreature

So I can inject compiled C++ code into the game using this? If so, how?

 

From what I can understand if this is how I can get the absolute address of a label:

 

 

0A9F: [email protected] = [email protected] += 160A8D: [email protected] = read_memory [email protected] size 4 vp 00A8F: [email protected] = [email protected] - @label
Then how do I execute the binary code after the label? Or is it done another way?

 

I apologize for any mistakes in understanding, my knowledge of asm is pretty basic lol :blush:

Edited by MythicalCreature
Link to comment
Share on other sites

If you have a C++ code, why bother injecting with CLEO? It's hacky, error prone and hard to build upon, plus it's violating basic security concepts (executing data).

Edited by Silent
Link to comment
Share on other sites

MythicalCreature

Actually my knowledge of C++ is even more mediocre than my knowledge of ASM atm (still learning the basics), and I just asked that question out of curiosity as to how other mod creators do it as I thought it might be useful to know if I do ever feel the need to use it sometime in the future for any scripts. But the Base IP feature is still going to be very useful for me nonetheless. Thanks.

Link to comment
Share on other sites

Basing on my own experience, if you're capable of writing a simple C++ plugin which injects itself into the game then it's not worth investing time into learning on how to do it with SCM. It's just not worth it.

  • Like 2
Link to comment
Share on other sites

If you have a C++ code, why bother injecting with CLEO? It's hacky, error prone and hard to build upon, plus it's violating basic security concepts (executing data).

Deji should make a memory for CLEO scripts being allocated with the PAGE_EXECUTE permission.

Link to comment
Share on other sites

One of the reasons I really like CLEO is because it is relatively easy to analyze if it has a virus. If if has no direct memory manipulation, hex-end sections, or file access, then it can be assumed to be safe. Analysing ASI in this respect is much more difficult (too difficult for me). From this perspective PAGE_EXECUTE prevention can also be seen as a feature.

Link to comment
Share on other sites

So I can inject compiled C++ code into the game using this? If so, how?

 

From what I can understand if this is how I can get the absolute address of a label:

 

0A9F: [email protected] = [email protected] += 160A8D: [email protected] = read_memory [email protected] size 4 vp 00A8F: [email protected] = [email protected] - @label
Then how do I execute the binary code after the label? Or is it done another way?

 

I apologize for any mistakes in understanding, my knowledge of asm is pretty basic lol :blush:

 

 

Put your C++ code into a dll, then load and execute its code from a CLEO script using opcodes:

0AA2: $hLIB = load_library "CLEO\version.dll" // IF and SET
0AA4: $hPROC = get_proc_address "GetVersion" library $hLIB // IF and SET
0AA5: call $hPROC num_params 1 pop 1 $param
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • 1 User Currently Viewing
    0 members, 0 Anonymous, 1 Guest

×
×
  • Create New...

Important Information

By using GTAForums.com, you agree to our Terms of Use and Privacy Policy.