Cheater_Lib

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Cheater_Lib

Message par Backup »

bebou007 a écrit :bon voila je vien de tester premier chose gta4 l'exe c'est GTAIV.exe j'ai du metre gtaiv.exe pour que sa passe
as tu lister les process ? qu'elle est le nom listé par ma fonction ?

c'est vraiment obliger cette ligne lol 1 byte je suis sur que sa fait perde un peut de temp lol
Segment numero : 2 adresse de debut de segment :1FFFF adresse de fin de segment : 20000


Segment numero : 3 adresse de debut de segment :20000 adresse de fin de segment : 20FFF

idem ici et plus bas
Segment numero : 4 adresse de debut de segment :20FFF adresse de fin de segment : 30000
je ne comprends pas ta question ! 8O
qu'elle ligne est "obligé" ?
bebou007
Messages : 79
Inscription : dim. 06/mars/2005 20:18

Re: Cheater_Lib

Message par bebou007 »

desoler j'avais pas vue la 2eme ligne en rouge et utile par contre la premiere coresspond a 1 byte

1er segment 10000 a 1FFFF
2eme segment 1FFFF a 20000 "c'est peut etre normale mais je sais bien que apres 1FFFF il y a 20000 si tu lit les byte 1er segment vas jusqu'a 1FFFF compris puis on recommence avec le bit 1FFFF donc on vas le lire 2 fois idem pour 20000"
3eme segment 20000 a 20FFF
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Cheater_Lib

Message par Backup »

de toute façon je t'invite a telecharger la derniere version de ma lib

je viens justement de changer cette partie concernant la map

j'utilise un code trouvé sur le forum anglais , qui me parait plus correct
il affiche dorénavant

le numero du segment , l'adresse de base du segment , et la taille du segment !

en principe ça me parait plus juste du fait des différentes tailles renvoyées
suivant les segments, de plus, on se rends compte qu'il y a des trous entre les segments, ce qui correspondrai mieux a une fragmentation naturel de la ram.... :)

donc le retour de la fonction cheater_map("firefox.exe","MAP_PROCESS") change ! ..

retour$= cheater_map("firefox.exe","MAP_PROCESS") ; retourne le numero du segment, l'adresse de base, et la taille de chaque segment occupé par notre process
;exemple d'utilisation


retour$= cheater_map("firefox.exe","MAP_PROCESS") ; retourne le numero du segment, l'adresse de base, et la taille de chaque segment occupé par notre process
;exemple d'utilisation


i=1
While StringField(retour$,i,",")<>"."
Debug "Segment numero : "+Str(i)+" adresse de debut de segment :" +StringField(retour$,i+1,",")+ " taille du segment : "+StringField(retour$,i+2,",")
i=i+3
Wend

Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Cheater_Lib

Message par Le Soldat Inconnu »

pourquoi tu ne sépares pas chaque segment par un ;
Ce serait plus facile d'utilisation

Comme ça

adresse,taille;adresse,taille;etc....
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Cheater_Lib

Message par Backup »

Le Soldat Inconnu a écrit :pourquoi tu ne sépares pas chaque segment par un ;
Ce serait plus facile d'utilisation

Comme ça

adresse,taille;adresse,taille;etc....
c'est pas idiot du tout ça ! :lol:

je suis en train de tout refaire, car puisque je retourne les valeurs en hexa
j'ai oublié de mettre "$" devant !!
qui permet d'utiliser les val().. :lol:

de plus j'ai revu pas mal de fonctions , avant elles utilisaient Findwindow_() , mais les fenetres n'ont pas forcement le meme nom que leur équivalents process ..
du coup ça posait carrement problème...

maintenant ce sera corrigé , je ne me sert que du nom du process et du Pid

bon je vais ajouter ton idée :)
bebou007
Messages : 79
Inscription : dim. 06/mars/2005 20:18

Re: Cheater_Lib

Message par bebou007 »

ok merci c'est cool de partager ta lib je vais pouvoir faire mon handling in game sur gta4

[edit] je sais pas si tu a bien mit en ligne la lib car j'ai l'impression d'avoir la vielle j'ai toujour l'adresse de debut et celle de fin et pas celle de debut et sa taille
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Cheater_Lib

Message par Backup »

oui je suis en train de bosser dessus , laisse moi un peu de temps :)
c'est en bonne voie...
bebou007
Messages : 79
Inscription : dim. 06/mars/2005 20:18

Re: Cheater_Lib

Message par bebou007 »

ok c'est cool merci beaucoup
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Cheater_Lib

Message par Backup »

bon la version 2.02 est de sortie

changements :

la fonction retour$= cheater_map("firefox.exe","MAP_PROCESS")
renvoie toujours une chaine mais sous cette forme

numero_de_segment,$adresse_de_base,$taille_du_segment;

donc chaque segment est renvoyé entre des point virgules
et chaque info du segment est séparé par une virgule :)

ça permet de mettre les segments dans une liste chainée de cette façon

Code : Tout sélectionner

retour$= cheater_map("firefox.exe","MAP_PROCESS") ; retourne le numero du segment, l'adresse de base, et la taille de chaque segment occupé par notre process
;exemple d'utilisation
NewList lst.s()


i=i+1
While StringField(retour$,i,";")<>"."  ; on recherche les segments séparé par ";"
    AddElement(lst())
    lst.s() = StringField(retour$,i,";") ; met le segment 
    i=i+1
  ;  Debug  StringField(retour$,i,";")
Wend
chaque element de lst.s() contient un segments

et il suffit de faire

Code : Tout sélectionner

 ForEach lst.s() ; pour tout les segments
        
        num=Val(StringField(lst.s() ,1,",")) ; recup le numero du segment
        adr=Val(StringField(lst.s() ,2,",")) ; recup l'adresse de base du segment
        Size=Val(StringField(lst.s() ,3,",")) ; recup la taille du segment
         
pour récuperer les info de chaque segment
( voir l'exemple2 fourni )

ensuite un truc genre

Code : Tout sélectionner


        For ad=adr To  adr+Size Step 4 ; regarde a partir de Adr jusqu'a adr+size ( le segment en fait )
            a$=a$+Hex( cheater_R_long("firefox.exe" , ad) )+" "; on lit les octet du segment
            
            SetGadgetText(#text,Hex(ad))
            Event = WindowEvent()
        Next ad  
pour lire un segment

certains segment sont tres tres long a lire
surtout en mode débugger
il semblerai que le debut d'un process soit surtout rempli de Texte
un

Code : Tout sélectionner

a$=a$+chr( cheater_R_byte("firefox.exe" , ad) )
permet de s'en rendre compte...

sinon rien d'intéressant dans le debut d'un process
c'est peut etre la raison pour lequel les MemHack et autre cheat engine
commence le scan de $00400000 a 7FFFFFFF
il est probable que je force ma lib a renvoyer seulement dans cette plage
d'adresse :)

autre chose , je vais surement supprimer des infos retourné par
cheater_map () le numero de segment , car en fait on s'en fout
et ça fait toujour ça de moins a traiter ... :)
bebou007
Messages : 79
Inscription : dim. 06/mars/2005 20:18

Re: Cheater_Lib

Message par bebou007 »

salut je sais pas si tu a bien mit la lib sur ton site car j'ai pas les info comme tu le dit

j'ai pas les separation par ; merci
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Cheater_Lib

Message par Backup »

arf ! tu avais raison , j'avais un doublon de fichier

c'est résolu , reessaye la :)
bebou007
Messages : 79
Inscription : dim. 06/mars/2005 20:18

Re: Cheater_Lib

Message par bebou007 »

ok merci je l'ai maintenant je vais tester sa merci encore pour la lib je te tien au courant si je trouve un bug ou autre
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Cheater_Lib

Message par Backup »

bebou007 a écrit :ok merci je l'ai maintenant je vais tester sa merci encore pour la lib je te tien au courant si je trouve un bug ou autre
je compte un peu la dessus !

pour moi le probleme qui reste a résoudre se tiens dans la surface memoire a inspecter

car actuellement on a une trop grande surface de segments a inspecter
je ne pense pas utile d'avoir un champs pareil.. de plus c'est bien trop long a inspecter...
bebou007
Messages : 79
Inscription : dim. 06/mars/2005 20:18

Re: Cheater_Lib

Message par bebou007 »

bon je viens de tester l'example2 en remplaçant Firefox par chrome et sa marche bien par contre comme tu le dit c'est long comment il font sur tsearch les donner sont directement visible et ceux a n'importe quel endroit de la ram

peut être sa viens de l'event windows qui ralentie il faudrais peut etre charger les donner puis les afficher apres
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Cheater_Lib

Message par Backup »

oui a reflechir :D

le fait est que faudrai que tu test les cheater_R_xxxx et cheater_w_xxxx

et me dire si ça marche toujours

je dis ça car j'ai bien changé le system en interne
avant j'utilisais le findwindow , maintenant j'utilise l'ID du process...
mais j'ai pas pu tester ce point ;)

[Reedit]

je viens de tester avec le prg cible , ça marche en lecture et en ecriture :D cool !
Répondre