Loader para GBS Trainer
Transcrição
Loader para GBS Trainer
Loader para o GBS Trainer 2009 Tutorial: Loader para o GBS Trainer Autor: Wagner Barongello Data: 02/11/2009 Objetivo: Abrir o GBS Trainer sem a necessidade de clicar nos banners Wagner Barongello – http://www.barongello.com.br Página 1 Loader para o GBS Trainer 2009 1. Objetivo Construir um aplicativo para carregar o GBS Trainer e carregá-lo sem a necessidade de ficar clicando nos banners de propaganda. 2. Ferramentas Apenas um compilador a sua escolha, neste tutorial teremos três exemplos, em NASM, MASM e Delphi. 3. Introdução Precisaremos utilizar 5 APIs (no Delphi 4, pois ele implementa a ExitProcess sozinho), que são: WinExec, FindWindowA, FindWindowExA, SendMessageA e ExitProcess. Para explicar, direi apenas suas utilizações, sem as exemplificar, algo bem superficial. • WinExec: executar outras aplicações à partir da sua. • FindWindowA: encontrar janelas top-level por classe e/ou título. • FindWindowExA: encontrar janelas filhas que contenham determinada classe e título. • SendMessageA: enviar mensagens para a WinProc de outras aplicações. • ExitProcess: finalizar sua aplicação. 4. Procedimentos Precisaremos seguir esta ordem: 1. Carregar o GBS Trainer. 2. Procurar e esperar pela janela principal até que ela seja exibida. 3. Procurar e esperar pelo botão que carregar o jogo. 4. Enviar o comando para que o botão seja pressionado. 5. Finalizar nossa aplicação. 5. Códigos 5.1. NASM Apêndice A. 5.2. MASM Apêndice B. 5.3. Delphi Apêndice C. 6. Agradecimentos Às pessoas que me apóiam e a todos que leram este tutorial. Wagner Barongello – http://www.barongello.com.br Página 2 2009 Loader para o GBS Trainer Apêndice A ; Programa: GBS Trainer Loader ; Programador: Wagner Barongello ; Data: 02/11/2009 ; Objetivo: Abrir o GBS Trainer sem a necessidade de clicar nos banners extern extern extern extern extern extern WinExec FindWindowA FindWindowExA SendMessageA MessageBoxA ExitProcess %include '\radasm\nasm\compiler\inc\win32n.inc' %macro call 2-* %define _j %1 %rep %0-1 %rotate -1 push dword %1 %endrep call _j %endmacro [SECTION DATA USE32 CLASS=DATA] gbs_trainer_exe GamerzAimPro.exe', 0 gbs_trainer_titulo gbs_trainer_botao_classe gbs_trainer_botao_texto gbs_trainer_handle gbs_trainer_botao_handle db 'GamerzTools Trainer GBS Public v6.0.0 + db db db dd dd '[GzB] Público Trainer - GBS', 0 'TButton', 0 '3', 0 0 0 [SECTION CODE USE32 CLASS=CODE] ..start: call WinExec, gbs_trainer_exe, SW_NORMAL esperar_janela: call FindWindowA, 0, gbs_trainer_titulo cmp eax, 0 je esperar_janela mov [gbs_trainer_handle], eax esperar_botao: call FindWindowExA, [gbs_trainer_handle], 0, gbs_trainer_botao_classe, gbs_trainer_botao_texto cmp eax, 0 je esperar_botao mov [gbs_trainer_botao_handle], eax call SendMessageA, [gbs_trainer_handle], WM_COMMAND, 1, [gbs_trainer_botao_handle] call ExitProcess, 0 Wagner Barongello – http://www.barongello.com.br Página 3 2009 Loader para o GBS Trainer Apêndice B ; Programa: GBS Trainer Loader ; Programador: Wagner Barongello ; Data: 02/11/2009 ; Objetivo: Abrir o GBS Trainer sem a necessidade de clicar nos banners .586 .model flat, stdcall option casemap: none include windows.inc include user32.inc include kernel32.inc includelib user32.lib includelib kernel32.lib .data gbs_trainer_exe GamerzAimPro.exe', 0 gbs_trainer_titulo gbs_trainer_botao_classe gbs_trainer_botao_texto .data? gbs_trainer_handle gbs_trainer_botao_handle .code start: invoke esperar_janela: invoke cmp je mov db 'GamerzTools Trainer GBS Public v6.0.0 + db db db '[GzB] Público Trainer - GBS', 0 'TButton', 0 '3', 0 dd dd ? ? WinExec, offset gbs_trainer_exe, SW_NORMAL FindWindowA, 0, offset gbs_trainer_titulo eax, 0 esperar_janela gbs_trainer_handle, eax esperar_botao: invoke FindWindowExA, gbs_trainer_handle, 0, offset gbs_trainer_botao_classe, offset gbs_trainer_botao_texto cmp eax, 0 je esperar_botao mov gbs_trainer_botao_handle, eax invoke SendMessageA, gbs_trainer_handle, WM_COMMAND, 1, gbs_trainer_botao_handle invoke ExitProcess, 0 end start Wagner Barongello – http://www.barongello.com.br Página 4 Loader para o GBS Trainer 2009 Apêndice C // Programa: GBS Trainer Loader // Programador: Wagner Barongello // Data: 02/11/2009 // Objetivo: Abrir o GBS Trainer sem a necessidade de clicar nos banners program Project1; uses Windows, Messages; var Janela: HWnd; Botao: HWnd; begin WinExec('GamerzTools Trainer GBS Public v6.0.0 + GamerzAimPro.exe', SW_NORMAL); Repeat Janela := FindWindowA(Nil, '[GzB] Público Trainer - GBS'); Until Janela <> 0; Repeat Botao := FindWindowEx(Janela, 0, 'TButton', '3'); Until Botao <> 0; SendMessage(Janela, WM_COMMAND, 1, Botao); end. Wagner Barongello – http://www.barongello.com.br Página 5