Pour tonton & cie

Programmation d'applications complexes
Anonyme

Pour tonton & cie

Message par Anonyme »

Suite à la faille du jeu d'erix14 concernant la gestion du score (speed tetris)
j'ouvre se petit post afin de ne pas pourrir le sien.

j'ai essayé de camouflé le score dans le programme, à vrai dire, une fois compilé, je ne sais pas comment le programme se comporte

Tonton, ici le score à atteindre est 2000 aussi, une fois le score atteind, une messagebox s'ouvre et c'est la fin, essaye de trouvé la mémoire ou est rangé le score, a savoir que tu as 0 points. ( je ne sais pas si cela t'es utile)

File:1->Test.rar
Image

si tu trouves dis moi comment tu as fait & comment tu ferais pour pallié à se problème.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Salut,
Je m'initie aussi dans ce topic,
Je pige pas trop cet exe... Quand on le lance il affiche le message mais je vois pas le rapport avec le prob de cheat sur le score d'RX..
Anonyme

Message par Anonyme »

Bah, c'est simple , savoir comment contré se qu'il fait,
sa se tombe tonton a lu un tutos sur jesuisunhacker.com, il ne connais peut etre pas une seule ligne d'asm, donc il ne sera certainement pas capable de faire afficher la fin de mon programme :D
Pascal Vernie
Messages : 127
Inscription : mar. 15/mars/2005 16:37

Message par Pascal Vernie »

C'est cela que tu veux que l'on fasse afficher :

T'ES UN BOSS...
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Si c'est ça je pige encore moins Image

Car un éditeur hexa suffit ...

Décidément bobo cerveau moi aujourd'hui... Image
Anonyme

Message par Anonyme »

je ne comprends vraiment pas comment vous faites, a vrai dire cela m'intrigue...
Pascal , comment tu ferais a partir d'un code pb, pour cammouflé le score, y a bien une technique non ? , dans le petit exe, j'ai mis une dixaine de thread avec des 2000 qui se balade... mais cela ne change rien au problème à prioris... l'exe est cracké en moins de 2 ...
c'est assez frustrant de ne pas comprendre... et surtout de ne pas comprendre comment remédié à cela, ou du moins filé du fil a retordre au gars qui s'amusent a fouillé les entrailles de l'exe...
Anonyme

Message par Anonyme »

Ar-s , non, c'est moi, j'ai mal expliqué, je suis fatigué aussi ^^
en fait se post concerne la sécurité interne d'un programme, comment empéché des talentueux programmeurs à accedé à des données interne du programme.
Pourquoi? tout simplement pour prototégé mes futurs programmes contre le plus grand nombre de programmeurs du dimanche voulant piraté tel ou tel score dans un jeu, etc...

se qui est serait intérésant , c'est d'avoir l'avis des spécialistes de l'asm ici, je parle en particulier de tonton (qui est impréssionant avec ses codes 3D disparu depuis...) et Pascal Vernie que je viens à prioris de découvrir :D
Pascal Vernie
Messages : 127
Inscription : mar. 15/mars/2005 16:37

Message par Pascal Vernie »

La partie intéréssante de ton code est la suivante :

004011CF 75 25 JNZ SHORT Test.004011F6
004011D1 |. C705 C0314000 >|MOV DWORD PTR DS:[4031C0],100002B
004011DB |. 68 23324000 |PUSH Test.00403223 ; /Arg2 = 00403223 ASCII "T'ES UN BOSS..."
004011E0 |. 68 33324000 |PUSH Test.00403233 ; |Arg1 = 00403233 ASCII "OK"
004011E5 |. E8 07110000 |CALL Test.004022F1 ; \Test.004022F1
004011EA |. C705 C0314000 >|MOV DWORD PTR DS:[4031C0],100002B
004011F4 |. EB 16 |JMP SHORT Test.0040120C
004011F6 |> C705 C0314000 >|MOV DWORD PTR DS:[4031C0],100002C
00401200 |. C705 C0314000 >|MOV DWORD PTR DS:[4031C0],100002D
0040120A |.^EB 8C \JMP SHORT Test.00401198

Pour faire afficher la fenêtre T'ES UN BOSS... Il suffit de modifier le test JNZ SHORT Test 004011F6 à l'adresse 004011CF
le plus simple et le plus bourrin étant de mettre : 90 90 à la place de 75 25
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Et bien si ça peu t'aider, j'y connais rien (tres peu) en ASM, pour le tetris, j'ai utilisé un soft qui sniff une donnée en mémoire.

Par exemple on commence à 0 point...
- Des que j'ai 20, je l'indique au soft qui me cherche toutes les valeurs 20 de l'exe présent en mémoire. Il en trouve par exemple 30....

- Je poursuis ma partie et je fais 40... Je lance la recherche 40 et la le soft par élimination n'en trouve plus que 7

- Je poursuis ... Pouf 75 points... Je lance ma recherche sur 75 et la bingo, je trouve 1 seule réponse.

Y'a fort à parier que si je remplace (en temps reel) le 75 par 2001 et que je Peek/poke à l'adresse donnée (ce que permet le soft), le score devient 2001.

J'ai pas la connaissance pour contrer ce genre d'attaque, je ne sais que la pratiquer (et oui c'est toujours bien plus difficile de se protéger que d'attaquer). J'espère que ça te sera d'une aide quelquonque
Anonyme

Message par Anonyme »

j'en ai refait un autre un peu plus "intelligent" que l'autre :

File:1->Test.rar
Image

dans le dernier exemple, si j'ai bien compris, tu à cherché juste la messagebox, ici, pour la fin de partie il n'y a pas de messagebox. il faut avoir 2000 points , soit tu attends la fin du programme normalement , soit tu l'ouvres :D, si tu arrives à triché, logiquement le programme devrait le detecté, il te l'indique via une msgbox., se coup si, le message de la message box n'est pas en clair dans l'exe :D
si tu me sors "l'algo" du cryptage que j'ai utilisé pour caché le message de ma messagebox, je me coupe les c... (je sens que j'aurais mieux fait de la fermé)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Ouaiiiiiiiiii !!

MessageRequester ("TU ES UN TRICHEUR")

Excellent !! :P :P MDR
Je continue mes tripatouillages

---EDIT----

J'essaye de voir avec OllyDbg ùais c'est po évident pour moi..
Pascal Vernie
Messages : 127
Inscription : mar. 15/mars/2005 16:37

Message par Pascal Vernie »

Bonjour Cpl.Bator
Bon j'ai commencé à regarder ton exe
Il y à une petite erreur ce n'est pas à 2000 points que l'on obtient la jolie musique de fin mais à 200 points.
Pour obtenir la vilaine musique de "TU ES UN TRICHEUR !" il suffit de modifier l'adresse 004012E1 qui contient ajouter 10 (ADD DWORD PTR DS : [4058F4],0A) 0A étant 10 en Hexa c'est à dire l'incrémentation de ton compteur j' ai mis 100 (64 en Hexa) et j'ai obtenu le vilain message.
Quand à l'algo de cryptage tu te sert de la DLL STRCPY, est-ce la réponse que tu désire?
Amitiés
Pascal
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Préparer les ciseaux :P
Pascal Vernie
Messages : 127
Inscription : mar. 15/mars/2005 16:37

Message par Pascal Vernie »

Non pas de ciseaux, on n'est pas méchants au contraire c'est des défis qui sont interréssants.
Au fait tu as trouvé son message avec ton sniffeur?
Je ne connais pas ce prog, moi j'ai désassemblé son exe.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Vi j'ai essayé de poker mon score à 2000 et pouf ! la popup est aparu.
Dans ce sens, je ne peux plus tricher avec cette méthode, ce qui est dejà un bon point !! (alors que ça fonctionne pour la plupart des jeux commerciaux).

Le prog est Memhack, c'est un vieux soft allemand qui marche toujours :)
Répondre