YOUPASS - convertir le crédit téléphonique en monnaie ! : Partenaire RealityGaming.fr

[RELEASE]Devellopement Application Ps3TMAPI_NET.DLL

TRANSFORMEZ VOTRE TÉLÉPHONE EN CONSOLE DE JEU !
Statut
N'est pas ouverte pour d'autres réponses.

FFM | iMoDzRGFR

Lobby MW3 [ON] ( Pas Gratuit )
Premium
Inscrit
8 Janvier 2013
Messages
4 016
J'aime
919
Points
3 283
Reply from FFM | iMoDzRGFR Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #1
proxy.php?image=http%3A%2F%2Fi48.tinypic.com%2F1053z2u.png&hash=16adef81ba95d73d074d8b152a72a275
Script VB.Net Ajouté !

Comme vous avez vu les titre du topic, ce topic va vous expliquez comment lié votre Application C++/C# a votre PS3.
Avec ceci , vous pouvez envoyé au joueurs en partie en jeu vos mods trés facilement , et commencé a developpé votre propre application.

J'ai travaillé 2 semaine avec ENZO-F , l'administrateur de NGU pour un projet NGU Elite & FMT Elite. Moi pour faire l'application et lui pour amélioré leur sécurité ELITE. Mais j'ai vu que quelques personne ont release leur pitoyable tool (Trahisons pour BuC & Moi) ce projet est donc mort , il est bon a jetter a la poubelle 1 semaine de codage sur une application.

D'abord je voudrais remercier :

- BuC-ShoTz pour son aide InitTargetComms() & la méthode Out ProcessID.
- FM|T Enstone pour avoir contribué au topic avec la partie C++.

Comment utilisé cette méthode ?:

- C'est avec l'API du Target Manager , Tout est dans un dll , le ps3tmapi_net.dll est dans un dossier C:\Program Files (x86)\SN Systems\PS3\bin , vous devrez trouvĂ© ceci vous mĂȘme je partage pas ce DLL ici.

La Partie C# :

Connectique :

Code:

PS3TMAPI.InitTargetComms();
PS3TMAPI.Connect(0, null);


Avec ces codes , le dll sera initialisĂ© avec votre application , et ĂȘtre prĂȘt a utilisĂ© les fonctions SN System.

Obtenir et Attacher le Process :
Code:

PS3TMAPI.GetProcessList(0, out processIDs);
ulong uProcess = processIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
PS3TMAPI.ProcessContinue(0, ProcessID);


Avec ces codes , votre application va trouvé et attacher le Process automatiquement.

Set Memory :
Code:

PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, bytes);


Cette fonction va écrire les octets dans la mémoire du jeu , Remplacez Address & Bytes par vos propres valeur. Exemple :

Code:

byte[] iMCSx = new byte[] { 0x69, 0x4D, 0x43, 0x53, 0x78, 0x00 };
PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, 0x01BBBC2C, iMCSx);


Get Memory :
Code:

byte[] iMCSx = new byte[0x20];
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, ref iMCSx);


Cette fonction va obtenir tout les octets en partant de l'adresse indiqué. Dans ce cas , tout les octets stocké seront dans byte[] iMCSx. le 0x20 entre parenthÚse et la longueur max que votre byte[] contiendras.


La Partie Visual Basic :

C'est Pareille que le C# sauf que le language change , il faut ajouté le dll en réference ect ect. Voici mes lignes convertie fonctionnelle :

Connection :
Code:

PS3TMAPI.InitTargetComms()
PS3TMAPI.Connect(0, vbNullString)



Obtenir et Attacher le Process :
Code:

Try
PS3TMAPI.GetProcessList(0, processIDs)
Dim uProcess As ULong = processIDs(0)
ProcessID = Convert.ToUInt32(uProcess)
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID)
PS3TMAPI.ProcessContinue(0, ProcessID)
Dim Info As String = "The Process 0x" & ProcessID.ToString("X8") & " Has Been Attached !"
MessageBox.Show(Info, "Process Ready!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
Catch Ex As Exception
MessageBox.Show(Ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
End Try



Et en en-tĂȘte de la form , dĂ©clarez les uint & ulong comme ceci :

Code:

Private processIDs As UInteger()
Private ProcessID As UInteger



Set Memory :
Code:

Dim Test As Byte() = New Byte() {&H5} // it's 0x05 in byte C#
PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address (Example &H00FCA280, iMCSx)



Les offsets doivent ĂȘtre Ă©galement convertie , exemple 0x3980 devient &H3980 :

Code:

Private Function MW3ClientState(clientNum As UInteger) As UInteger
Return (&H110A280 + (clientNum * &H3980))
End Function



Exemple d'utilisation des scripts du PS3Lib en VB :
Code:

PS3.SetMemory(Address, Byte)


La partie C++ :

Etape 1 :

PremiĂšrement , si vous ĂȘtes un developper vous devez chargĂ© le ps3tmapi_net.dll dans votre code comme ceci :
Code:

const WCHAR * dllName = L"ps3tmapi.dll";
HINSTANCE hlib = LoadLibrary(dllName);


Le dll doit ĂȘtre dans le mĂȘme repertoire que votre exĂ©cutable.

Etape 2 :

Vous devriez utilisé quelque typedef pour simplifier les fonctions , comme ceci :
Code:

typedef int (__cdecl *InitTargetCommsFunction)(void);
typedef int (__cdecl *ConnectFunction)(int,LPWSTR);
typedef int (__cdecl *ProcessListFunction)(int, UINT32*, UINT32*);
typedef int (__cdecl *ProcessAttachFunction)(int, UINT32 ,UINT32);
typedef int (__cdecl *ProcessContinueFunction) (int, UINT32);
typedef int (__cdecl *ProcessInfoFunction)(int, UINT32 ,UINT32*,SNPS3PROCESSINFO*);
typedef int (__cdecl *ProcessSetMemoryFunction)(int, UINT32 ,UINT32 ,UINT64 , UINT64, int, BYTE*);
typedef int (__cdecl *ProcessGetMemoryFunction)(int, UINT32 ,UINT32 ,UINT64 , UINT64, int, BYTE*);


Vous avez besoin de toutes ces fonctions pour démarré toute edition de mémoire avec votre soft. Ne pas oublié de crée la fonction la structure pour le SNPS3PROCESSINFO*.

Etape 3:

Maintenant c'est important de localisé les fonctions dans le dll , Nous allons utilisé le fameux "GetProcAddress" :
Code:

InitTargetCommsFunction InitTargetComms = (InitTargetCommsFunction) GetProcAddress(hlib, "SNPS3InitTargetComms");
ConnectFunction Connect = (ConnectFunction) GetProcAddress(hlib, "SNPS3Connect");
DisconnectFunction Disconnect = (DisconnectFunction) GetProcAddress(hlib, "SNPS3Disconnect");
ProcessListFunction ProcessList = (ProcessListFunction) GetProcAddress(hlib, "SNPS3ProcessList");
ProcessAttachFunction ProcessAttach = (ProcessAttachFunction) GetProcAddress(hlib, "SNPS3ProcessAttach");
ProcessContinueFunction ProcessContinue = (ProcessContinueFunction) GetProcAddress(hlib,"SNPS3ProcessContinue");
ProcessInfoFunction ProcessInfo = (ProcessInfoFunction) GetProcAddress(hlib, "SNPS3ProcessInfo");
ProcessGetMemoryFunction GetMemory = (ProcessGetMemoryFunction) GetProcAddress(hlib, "SNPS3ProcessGetMemory");
ProcessSetMemoryFunction SetMemory = (ProcessSetMemoryFunction) GetProcAddress(hlib, "SNPS3ProcessSetMemory");


Etape 4 : Vous ĂȘtes maintenant prĂȘt a utilisĂ© les fonctions SN System dans votre soft.

Connectique :

Code:

//Connection////////////////////////////
int target=0xfffffffe; //target default
InitTargetComms();
Connect(target,NULL);


Attacher le Process :
Code:

//Attach/////////////////////////////////
ProcessList(target,&puCount,puProcessID);
ProcProcessAttach(target, 0,*puProcessID);
ProcProcessContinue(target, *puProcessID);
ProcProcessInfo(target,*puProcessID,&puBufferSize,pProcessInfo);


Get Memory & Set Memory :
Code:

//Get/SetMemory/////////////////////////
GetMemory(target,0,*puProcessID,(pProcessInfo->ThreadIDs)[0],uAddress,nCount,pBuffer);
SetMemory(target,0,*puProcessID,(pProcessInfo->ThreadIDs)[0],uAddress,nCount,pBuffer);



Conseils :

- Vous avez besoin d'appeler InitTargetComms() dans tout vos threads , mĂȘme si votre ps3 est connectĂ©.
- Vous pouvez crée d'autre GetMemory & SetMemory pour réduire le nombre d'argument.
- Toutes ces fonctions retourne un int , Ceci peux vous dire si c'est un succĂ©s ou non , un succĂ©s va ĂȘtre une valeur positive , un Ă©chec une nĂ©gative.

DerniĂšre choses pour les developpeur C# & VB.Net :


- J'ai codé une BibliothÚque de classe pour écrire les fonctions facilement avec moins d'argument dans votre application :
- Téléchargez mon DLL ici =>
Vous devez vous inscrire pour voir les liens !

- Ajoutez-le comme référence , et ajoutez dans votre form la liason : using PS3Lib;
- Comme ça vous pourrez l'utilisez dans votre application avec des fonctions refaite par moi mĂȘme , exemple PS3.SetMemory(Address, Bytes);

Code Source :

Code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

// Copyright © iMCSProduction 2013.
// Thanks to BuC-ShoTz to have contributed to this.
// Visit
Vous devez vous inscrire pour voir les liens !
if you're English.

// Visit
Vous devez vous inscrire pour voir les liens !
if you're French.

// Follow me
Vous devez vous inscrire pour voir les liens !
-
Vous devez vous inscrire pour voir les liens !


namespace PS3Lib
{
public class PS3
{
public static uint ProcessID;
public static uint[] processIDs;
public static string snresult;
private static string usage;
public static string Info;
public static PS3TMAPI.ConnectStatus connectStatus;
public static string Status;
public static string MemStatus;

public static void ConnectDebug()
{
PS3TMAPI.InitTargetComms();
PS3TMAPI.Connect(0, null);
}

public static void GetStatus()
{
Status = Convert.ToString(PS3TMAPI.GetConnectStatus(0, out connectStatus, out usage));
}

public static void ProcessAttach()
{
PS3TMAPI.GetProcessList(0, out processIDs);
ulong uProcess = processIDs[0];
ProcessID = Convert.ToUInt32(uProcess);
PS3TMAPI.ProcessAttach(0, PS3TMAPI.UnitType.PPU, ProcessID);
PS3TMAPI.ProcessContinue(0, ProcessID);
Info = "The Process 0x" + ProcessID.ToString("X8") + " Has Been Attached !";
}

public static void SetMemory(uint Address, byte[] Bytes)
{
PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, Bytes);
}

public static void GetMemory(uint Address, byte[] Bytes)
{
PS3TMAPI.ProcessGetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, Address, ref Bytes);
}

}
}


Liens de la release :
Vous devez vous inscrire pour voir les liens !

Merci A BuC-ShoTz FM|T Enstone Et
Vous devez vous inscrire pour voir les liens !
 

#Eddie

Anciennement appelé Challenges-Lobby
Premium
Inscrit
31 Octobre 2012
Messages
8 433
J'aime
2 827
Points
8 608
Reply from #Eddie Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #2
Prend le tutoriel et refait le Ă  ta maniĂšre, je trouve que il n'y a pas d’intĂ©rĂȘt Ă  le recopier Ă  100% ! ;)
 

DEv_ShOoTz

DĂ©velopper Modder PS4 PC
Premium
Inscrit
28 Mars 2011
Messages
5 377
J'aime
1 768
Points
8 188
Reply from DEv_ShOoTz Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #3
Oui copier coller de la French modding Team pas besoin de cacher la source
 

FFM | iMoDzRGFR

Lobby MW3 [ON] ( Pas Gratuit )
Premium
Inscrit
8 Janvier 2013
Messages
4 016
J'aime
919
Points
3 283
Reply from FFM | iMoDzRGFR Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #4
-_- j'ai mis la source c'est bon ..... et je la cache pas sa le fait tout seul ...
 

TiiZaay

TiiZaayHD = YT <3
Premium
Inscrit
11 FĂ©vrier 2012
Messages
336
J'aime
120
Points
2 758
Reply from TiiZaay Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #5
tu lui a demander pour le mette ici ?
 
Inscrit
14 Octobre 2013
Messages
14
J'aime
2
Points
34
Reply from PM|C PicoLo Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #7
ComplĂštement inutile !
 
Inscrit
30 DĂ©cembre 2013
Messages
1
J'aime
0
Points
13
Reply from darkblues Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #8
je ne trouve pas le SN systems peut tu m aider sil te plait
 
Inscrit
24 Janvier 2012
Messages
1 645
J'aime
682
Points
4 656
Reply from I_ModZ-RouKfa Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #9
pe ton voir le la librairie du sn sytem
 

Mr.DzX-RH

GFX/Lobby Man
Premium
Inscrit
29 Mai 2013
Messages
1 449
J'aime
297
Points
4 666
Reply from Mr.DzX-RH Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #10
merci tu partage mec essaye de refaire le TUTO a ta maniĂšre sa sera mieux:ok:
 

DVH „ Modz-Eraz

Membre Premium
Premium
Inscrit
6 Septembre 2012
Messages
840
J'aime
31
Points
4 073
Reply from DVH „ Modz-Eraz Corbeille 📒 : [RELEASE]Devellopement Application Ps3TMAPI_NET.DLL #11
du deja vu mais sa sert toujours pour les nouveau merci a toi
 
Statut
N'est pas ouverte pour d'autres réponses.


Haut