Post: RPC DLL for all updates - Source code included!
12-07-2013, 12:40 AM #1
Choco
Respect my authoritah!!
(adsbygoogle = window.adsbygoogle || []).push({}); Hey NGU!

Today I'll be making my first major release for ghosts - an RPC (remote procedure calls) DLL that allows you to call any function in the game from your PC!

This DLL is intended to be used by developers - it must be added to a C# project to be used. It does not contain the ps3tmapi_net DLL, but it will not work if the file is not on your computer. This DLL will only work for DEX users.

How to Use

1. Download the DLL.
2. Add the DLL as a reference to your C# Project.
3. In your code, after you have connected and attached the process, enter this code:

    int err = GHOSTS.PS3.Init();


This code will will return 0 if the RPC is successfully initialized, and -1 if an error occurs.

4. Enjoy your RPC!

How to Call Functions

1. After finding the function you want to call, simply use this format:

    GHOSTS.RPC.Call(uint func_address, params object[] parameters);


Unlike my previous RPC releases, this one supports many argument types: floats (single-precision), ints, uints, and strings.




This RPC will work for any updates from 1.03 onwards.



Download

Download the DLL: You must login or register to view this content.
Virus Scan: You must login or register to view this content.
Download source code (C# Project): You must login or register to view this content.

Thanks to aerosoul94 for his PS3TMAPI importing functions!



Enjoy this guys! I plan on soon creating a version for CEX users Choco

The following 102 users say thank you to Choco for this useful post:

ResistTheMoon, -SuperMan, {H} | Exception, **The_ One**, Kappa, Eddie Mac, 192.168.1.1, ADAM594, Agent Beast, AlexNGU, Anera, anxify, BaSs_HaXoR, BLiNDzZ, Boliberrys, br0wniiez, Bucko, BullyWiiPlaza, D3skm, Dannie Fresh, Dead_Coast, deneo24, DJok3r, Eddie-Lucas, elgolumm, EliteHackzPS3, EquakeCSharp, F l e x, FAKA_ELITE, Father Luckeyy, FM|T Enstone, Force, Foxhoundz3, gaming_nation, Gay For Satan, Harry, Beats, Callumeleyy, iHaxel, ilasthope, ImAzazel, imD, ImPokerz, iNCSx, iNDMx, InfinityISB4CK, J, jake5445, Jalisco123, TheMightyMoJo, KranK, Loxy, M-alShammary, M0T1VAT10N, Machiavelli_23, Mango_Knife, Marco_Legend, MODZ4FUN420, Mr.Azoz, Mr.Hutch, network10, Norway-_-1999, Notorious, NUKES-X-MODS-X, Darth Saul, Vince, Pewp, xProvXKiller, Pseudo_Soldier, qNSp, Raz0rMind, RoCK__711, Roy944, ICS Vortex, SC58, Sirprizer, SnaY, Swaqq, Swifter, Swiss, TeRmiiMoDz, ThePaaqoHD, Ciri, Turk_Warrior, Uk_ViiPeR, Winter, worrorfight, Xcesar1911X, Fatality, xkoeckiiej, xKrazy SicknesS, XM7MD_VX, xPAQz, Xx-GIPPI-xX and 2 other users.
12-07-2013, 04:42 PM #20
M-alShammary
I am error
Good work bro
12-07-2013, 07:43 PM #21
Raz0rMind
I love BadChoicesZ
Originally posted by test53 View Post
I am also working to integrate this into my tool. Smile I already have a memory peek/poke utility and I plan to add this along side.

It would be really cool if we could dump a list of function addresses and then create a switch statement which would allow the player to enter in the name of the function call in plain text, find the corresponding address parse the parameter information and then make the call. We could auto update a database of offsets for functions with the method you use for searching for the fog function to future proof the utility.

For people wanting to test out RPC try making this call.
Call(0x6886B4, 0, 0, "c \"^2test34!\""); //this calls SV_GameSendServerCommand


Wondering what's your main Account.. o0
12-07-2013, 10:00 PM #22
Choco :luv: He Is a :boss:
12-08-2013, 02:29 AM #23
test34
Keeper
Originally posted by Raz0rMind View Post
Wondering what's your main Account.. o0


I don't have one. I created this throwaway last week when I started researching DEX.
12-08-2013, 02:44 AM #24
Mr.Alfredo
Samurai Poster
I may not have a DEX or a CFW for that matter but awesome release. :y:
12-08-2013, 05:01 AM #25
Choco
Respect my authoritah!!
Originally posted by test53 View Post
In the meantime people can just store the offset to a text file and load from there. Something like:

    
if (file exists)
load offset
if(!(loaded offset is the start of the fog function in memory))
search for offset
else
search for offset


A new update should be released tomorrow. I've incorporated this idea, as well as made the function that finds R_SetFrameFog much faster for shorter initialization times :y:
12-08-2013, 05:39 PM #26
JuLo94
Save Point
Hi,

I have made an rpc like you, but it's work on cex/dex version.
It is called 'rlib'. I have made this with CCAPI, by Enstone and IMCSx.
Also first I have coded this in c++ but i know not many people code with this language, that's why I have made a second edition in c#.
You don't need CCAPI.dll in path of your app, because i have made function for write bytes in dll and just after the launch of your tool, the dll spawn at path, and at close the dll has been delete.

How to use ?
I) Add the dll at reference in your project. And add this using :
    using rlib.lib;


II) Spawn/Delete CCAPI.dll
In the load event of your form add this code (for write CCAPI.dll) :
    rpc.spawnExtension();

In the close event of your form add this code (for delete CCAPI.dll) :
    rpc.deleteExtension();


III) Init target for Remote Procedure Call
Add this code for connect target / attach process / init RPC :
    rpc.initTarget();


IV) How to call function
After finding what you want call (ex : BG_WeaponDef) just type this code, where you want :
    rpc.writePPC(0xC48898, params object[] parameters);


! NOTE : All Credit goes to Choco / Enstone / IMCSx, I have just build one dll, with their code !

So this is the link :
You must login or register to view this content. (bin)
You must login or register to view this content.
You must login or register to view this content.
0/49


Enjoy Needa

The following 2 users say thank you to JuLo94 for this useful post:

BadChoicesZ, FM|T Enstone
12-08-2013, 05:45 PM #27
Originally posted by JuLo94 View Post

IV) How to call function
After finding what you want call (ex : BG_WeaponDef) just type this code, where you want :
    rpc.writePPC(0xC48898, params object[] parameters);


Nice offset. My turn...
    rpc.writePPC(0xE5DC4, "Set Jump 2000", "client 0"); 

:derp: You can't call addresses that are not the start offset of a function.

Note: Choco failed once again (same mistake as bo2rpc). Whoever posts the fix to his PPC code wil get a cookie from me. Needa
Last edited by therifboy ; 12-08-2013 at 05:48 PM.
12-08-2013, 08:49 PM #28
Choco
Respect my authoritah!!
Originally posted by therifboy View Post
Choco failed once again (same mistake as bo2rpc). Whoever posts the fix to his PPC code wil get a cookie from me. Needa


And what exactly is wrong with it? :p

The following user thanked Choco for this useful post:

SnaY

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo