Francois Beaussier & Aymeric Gaurat Apelli

Friday

Comment tout blaster dans les jeux flash :)

Voici le jeu du saut qui fait le tour du net :

http://www.koreus.com/files/200407/jeudelesaut.html

j'ai eu du mal a faire plus de 60 points et je me suis dit qu'il faisait tellement chaud aujourd'hui que s'exciter sur son clavier [dvorak ;) ] n'etait pas la bonne idee pour battre le record officiel de l'entreprise qui etait de 82 points !

C'est tellement plus rapide quand il y a un ordi qui fait le travail pour soi...

en C#:

using System.Runtime.InteropServices;

[DllImport("user32.dll")]
static extern bool SendMessage(IntPtr hWnd, int msg, int wParam, int lParam);

private const int WM_KEYDOWN = 0x0100;
private const int VK_LEFT = 0x25;
private const int VK_UP = 0x26;
private const int VK_RIGHT = 0x27;
private const int VK_DOWN = 0x28;

/*
Changer le handle de fenetre 0x00020994
Utiliser spyxx.exe pour trouver le votre
*/
IntPtr win = new IntPtr(0x00020994);
for (int i = 0; i < 100; i++)
{
SendMessage(win, WM_KEYDOWN, VK_RIGHT, 0);
SendMessage(win, WM_KEYDOWN, VK_LEFT, 0);
}
for (int i = 0; i < 20; i++)
{
SendMessage(win, WM_KEYDOWN, VK_UP, 0);
SendMessage(win, WM_KEYDOWN, VK_DOWN, 0);
}

voila comment obtenir un score de 1619 a moindre mal :)

10 Comments:

  • A bah bien, on voit qu'on bosse au travail !!!!!! sans blague !! lool trés cool comme jeu mais limite 'explosateurdeclavierkenmême' pas mal l'idée du wrapper qui fait à la place !!! j'ai pas testé (j'ai pas Csharp) si y a un ekivalent vb sa me tente (ou alor je ferais bien la conversion !!)

    By Anonymous Anonymous, at 7:34 pm  

  • Salut, en effet, ca doit se convertir facilement en vb.net :) Poste la traduction pour que tous le monde en profite.

    a+

    By Blogger Francois Beaussier, at 7:45 pm  

  • Je pensais plutot en vb, vu que la solution .Net est trop chere pour moi !!

    By Anonymous Anonymous, at 9:28 pm  

  • Sa ne marche pas
    Mince je galere !!! j'ai un pb voici le code :

    Public Const WM_KEYDOWN = &H100
    Public Const WM_KEYUP = &H101
    Public Const VK_LEFT = &H25
    Public Const VK_UP = &H26
    Public Const VK_RIGHT = &H27
    Public Const VK_DOWN = &H28


    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Integer, ByVal lParam As Any) As Long

    Sub Main()
    ' handle de firefox : 0016040A
    Dim HandleBwser As Long
    Dim lngrep
    HandleBwser = FindWindow(vbNullString, "Jeu Flash - Le Jeu de le Saut - Mozilla Firefox")
    Dim i As Integer


    For i = 0 To 100

    lngrep = SendMessage(HandleBwser, WM_KEYDOWN, VK_RIGHT, 0&)
    lngrep = SendMessage(HandleBwser, WM_KEYDOWN, VK_LEFT, 0&)
    Next i

    For i = 0 To 20
    lngrep = SendMessage(HandleBwser, WM_KEYDOWN, VK_UP, 0&)
    lngrep = SendMessage(HandleBwser, WM_KEYDOWN, VK_DOWN, 0&)
    Next i

    'MsgBox "terminé"
    End Sub

    By Anonymous Anonymous, at 11:03 pm  

  • Je trouve toujours pas !!

    By Anonymous Anonymous, at 11:36 pm  

  • Salut,

    le probleme c'est que tu envoies les touches a la fenetre IE alors qu'il faut l'envoyer directement a l'object flash...

    Tu peux iterer sur les fils de la fenetre IE, trouver celui qui a pour class "Shell DocObject View" puis son fils "Internet Explorer_Server" puis son fils "MacromediaFlashPlayerActiveX". C'est au dernier fils qu'il faut envoyer les messages :)

    j'utilise spyxx.exe pour avoir ces infos.

    a+

    By Blogger Francois Beaussier, at 1:02 am  

  • J'ai réussi, mon code pour le SendMessage fonctionne juste que comme tu le disais, j'envoyais les infos au mauvais handle... j'ai finté en créant un exe avec le fichier flash sa m'a permis d'aller plus vite bilan : 1631.59 points !!

    pardon aprés modification : je dépasse les 2000 points !!

    en plus c'est un bon exo pour le travail des handles !!

    By Anonymous Anonymous, at 3:26 am  

  • Bon de plus j'utilise non plus IE mais Firefox donc sa change pas mal au niveau des handles !!!!!

    By Anonymous Anonymous, at 3:27 am  

  • J'ai poste une nouvelle news qui cherche le handle automatiquement. Idem, ca doit bien se traduire en vb ;)

    a+

    By Blogger Francois Beaussier, at 7:49 am  

  • superbe code.
    mais par curiosité, j'ai voulu le tester sur un jeu similaire et impossible de le faire marcher.
    http://www.modus.renault.fr/egame/popup_surfing_modus.html?country=fr

    pourtant je recupere bien le bon handler (spy++ ou ta fonction auto)

    si t'as le temps de regarder :D
    en tout cas bravo, idem pour le code ascii

    By Anonymous Anonymous, at 2:35 am  

Post a Comment

<< Home