BugCraft's WarTool (Hacking de WarHammer Online)

Autoit Avanzado más complejo con funciones "geek" para cualificarse como "ESPECIALISTA EN AUTOIT". Originales de autor, no copiados. Mín. 100 lineas
Responder
karliky
Mensajes: 9
Registrado: 24 Sep 2007, 13:22

BugCraft's WarTool (Hacking de WarHammer Online)

Mensaje por karliky »

Hola! :smt008

Aqui os dejo mi aplicacion para "hackear eticamente" el juego WarHammer Online
Está el codigo fuente disponible, y la version actual es estable:
http://nogg-aholic.es/bugcrafts-warhacker-tool/
Esta aplicacion permite volar,atravesar paredes, modificar elementos del juegos...probadlo! :smt005 El juego tiene una version gratuita que solo te limita los mundos a los que puedes acceder, os recomiendo que paseis un rato jugando con el hack.

Además hace poco di una conferencia de Hacking etico de videojuegos con algunas aplicaciones de Autoit, aqui os dejo la URL para verlo en youtube:
http://nogg-aholic.es/after-the-nogg-aholic-conference/

Un abrazo expertos autoiters! :smt006
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: BugCraft's WarTool (Hacking de WarHammer Online)

Mensaje por BasicOs »

Hola, es interesante el tema de modificar variables de un programa desde otro, accediendo y retocando "on the fly" la memoria que usa este programa "servidor" mientras está trabajando, con el NOMADMemory.au3. Al final puede ser como modificar un doc del Word, pero más delicado claro, y con otras consecuencias.
Igual si deseas comentar que cambios concretos en las variables se hacen, y como afecta al bucle o función original del programa que está corriendo y en que lo cambia, podría ser interesante para informar a los users para poder mejorar programas con funcionamiento no deseado, o para retocar otros en funcionamiento.
Aqui el código principal:

Código: Seleccionar todo

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.0.0
 Author:         BugCraft (Also Karliky) [email protected]	

    <ADT Class | An "Autoit Script" made for change some things into WarHammer>
    Copyright (C) <2010>  <BugCraft> Also Karliky ([email protected])

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Note about the Author:
Please don't use this app to obtain benefits better than other players
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#ce ----------------------------------------------------------------------------

;===============================================================================
;Includes
;===============================================================================
#RequireAdmin

#include <functions.au3>
#include <nomadmemory.au3>
#include <GDIPlus.au3>
#include <misc.au3>
#include <guilistbox.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GuiConstantsEx.au3>
SetPrivilege("SeDebugPrivilege", 1)

$DLL = DllOpen("user32.dll")
Global $Proceso = _MemoryOpen(ProcessExists("war.exe"))

#include <offsets.au3>
;===============================================================================
;Funciones
;===============================================================================
Global $State_Speed = 0,$State_Fly = 0,$State_SuperJump = 0,$State_Transparency = 0,$State_Ninja = 0,$LastPos = "9900990"
;===============================================================================
;Funciones
;===============================================================================
	HotKeySet("{F1}","PlayerScale")
	HotKeySet("{F2}","PlayerZPosition")
	HotKeySet("{F3}","PlayerXPosition")
	HotKeySet("{F4}","PlayerYPosition")
	HotKeySet("{F5}","Speedhack")
	HotKeySet("{F6}","SuperJump")
	HotKeySet("{F7}","Fly")
	HotKeySet("{F8}","Ninja")
	HotKeySet("{F9}","Transparency")
	HotKeySet("{F10}","CameraZ")
	HotKeySet("{F11}","CameraDist")
	


;===============================================================================
;USER INTERFACE
;===============================================================================	
_GDIPlus_Startup()
$BackGround = "images/gui.png"
$Image_Handle = _GDIPlus_ImageLoadFromFile($BackGround)
$Width = _GDIPlus_ImageGetWidth($Image_Handle)				
$Height = _GDIPlus_ImageGetHeight($Image_Handle)				
$GUI = GUICreate("BugCraft's WarHacker Tool", $Width, $Height,-1,-1, $WS_POPUP, $WS_EX_LAYERED)

SetBitmap($GUI, $Image_Handle, 0)
GUIRegisterMsg($WM_NCHITTEST, "WM_NCHITTEST")
GUISetState()
For $i = 0 To 255 Step 10
    SetBitmap($GUI, $Image_Handle, $i)
Next

$controlGui = GUICreate("ControlGUI", $Width, $Height,0, 0, $WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $GUI)
GUICtrlCreatePic("images/grey.gif", 0, 0, $Width, $Height)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetColor(-1, 0xFFFFFF)
;=====================================================
$List_Information = GUICtrlCreateList("", 16, 88, 321, 84,BitOR($WS_VSCROLL,$WS_BORDER,$LBS_NOSEL,$LBS_DISABLENOSCROLL ))
GUICtrlSetLimit(-1, 9999)
Global $Button_Speed = GUICtrlCreateCheckbox("Speed Hack",352, 88, 81, 17,bitor($BS_PUSHLIKE,$BS_FLAT))
GUICtrlSetBkColor(-1,0xffffff)
Global $Button_Jump = GUICtrlCreateCheckbox("Super Jump", 352, 104, 81, 17,bitor($BS_PUSHLIKE,$BS_FLAT))
GUICtrlSetBkColor(-1,0xffffff)
Global $Button_Fly = GUICtrlCreateCheckbox("Fly", 352, 120, 81, 17,bitor($BS_PUSHLIKE,$BS_FLAT))
GUICtrlSetBkColor(-1,0xffffff)
Global $Button_Transparency = GUICtrlCreateCheckbox("Transparency", 352, 136, 81, 17,bitor($BS_PUSHLIKE,$BS_FLAT))
GUICtrlSetBkColor(-1,0xffffff)
Global $Button_Ninja = GUICtrlCreateCheckbox("Ninja!", 352, 152, 81, 17,bitor($BS_PUSHLIKE,$BS_FLAT))
GUICtrlSetBkColor(-1,0xffffff)
Global $Label_Health = GUICtrlCreateLabel("Health", 16, 64, 35, 17)
GUICtrlSetBkColor(-1,0xffffff)
Global $Label_Energy = GUICtrlCreateLabel("Energy", 192, 64, 37, 17)
GUICtrlSetBkColor(-1,0xffffff)
Global $Progress_Health = GUICtrlCreateProgress(56, 64, 105, 17)
Global $Progress_Energy = GUICtrlCreateProgress(232, 64, 105, 17)
;=====================================================
GUISetState()

Update_List("Welcome to BugCraft's WarTool")
Update_List("Check out for new updates http://www.nogg-aholic.es")
Update_List("")
Update_List("Have fun! ._ .")

While 1
	;LoopFuntions
		if (GUICtrlRead($Button_Fly) == 1) Then
			_MemoryWrite($Player_Fly, $Proceso,150, 'float')
		EndIf
		if (GUICtrlRead($Button_Jump) == 1) Then
			_MemoryWrite($Player_SuperJump, $Proceso,900, 'float')
		EndIf
		
		GUICtrlSetData($Progress_Health,_MemoryRead($Player_Health, $Proceso, 'Int')*100/_MemoryRead($Player_Health_Actual, $Proceso, 'int'))
		GUICtrlSetData($Progress_Energy,_MemoryRead($Player_Energy, $Proceso, 'Int')*100/_MemoryRead($Player_Energy_Actual, $Proceso, 'int'))
	;
	$nMsg = GUIGetMsg()
	
	Switch $nMsg
		
		case $Button_Speed
			Speedhack()
		case $Button_Fly
			Fly()
		case $Button_Jump
			SuperJump()
		case $Button_Ninja
			Ninja()
		Case $GUI_EVENT_CLOSE
		Exit
		
	EndSwitch
WEnd
Aquí el código de las funciones concretas que se llaman desde el principal,

Código: Seleccionar todo

;===============================================================================
;Update list
;===============================================================================
	Global $ListCount = 1
	Func Update_List($String)
		
		_GUICtrlListBox_AddString($List_Information,$String)
		$LAST = _GUICtrlListBox_GetCount($List_Information)

		_GUICtrlListBox_SetCaretIndex($List_Information,$LAST,True)
		$iIndex = _GUICtrlListBox_GetCaretIndex($List_Information)
		_GUICtrlListBox_SetCurSel($List_Information,$LAST-1)
		
		$ListCount = $ListCount + 1
	EndFunc

;===============================================================================
;SPEED HACK
;===============================================================================
	Func Speedhack()
	
		If $State_Speed == 0 Then
			GUICtrlSetState($Button_Speed,$GUI_CHECKED)
			_MemoryWrite($Player_Speed_Hack, $Proceso,5, 'float')
		$State_Speed = 1
		Update_List("SpeedHack enabled")
		Else
			GUICtrlSetState($Button_Speed,$GUI_UNCHECKED)
			_MemoryWrite($Player_Speed_Hack, $Proceso,1, 'float')
		$State_Speed = 0
		Update_List("SpeedHack disabled")
		EndIf

	EndFunc
;===============================================================================
;NINJA
;===============================================================================
	Func Ninja()
	
		If $State_Ninja == 0 Then
			GUICtrlSetState($Button_Ninja,$GUI_CHECKED)
			_MemoryWrite($Ninja_Mode, $Proceso,-9000, 'float')
		$State_Ninja = 1
		Update_List("Ninja enabled")
		Else
			GUICtrlSetState($Button_Ninja,$GUI_UNCHECKED)
			_MemoryWrite($Ninja_Mode, $Proceso,1, 'float')
		$State_Ninja = 0
		Update_List("Ninja disabled")
		EndIf

	EndFunc
;===============================================================================
;Fly HACK
;===============================================================================
	Func Fly()
	
		If $State_Fly == 0 Then
			GUICtrlSetState($Button_Fly,$GUI_CHECKED)
			
		$State_Fly = 1
		Update_List("Fly enabled")
		Else
			GUICtrlSetState($Button_Fly,$GUI_UNCHECKED)
			_MemoryWrite($Player_Fly, $Proceso,0, 'float')
		$State_Fly = 0
		Update_List("Fly disabled")
		EndIf

	EndFunc
;===============================================================================
;Super jump HACK
;===============================================================================
	Func SuperJump()
	
		If $State_SuperJump == 0 Then
			GUICtrlSetState($Button_Jump,$GUI_CHECKED)
			
		$State_SuperJump = 1
		Update_List("Super jump enabled")
		Else
			GUICtrlSetState($Button_Jump,$GUI_UNCHECKED)
			_MemoryWrite($Player_SuperJump, $Proceso,0, 'float')
		$State_SuperJump = 0
		Update_List("Super jump disabled")
		EndIf

	EndFunc

;===============================================================================
;PlayerScale HACK
;===============================================================================
		func PlayerScale()
		
		$Pos = MouseGetPos()
		if $LastPos == "9900990" Then
		Else
		if $Pos[1] == $LastPos Then
		Else
			if $Pos[1] > $LastPos Then
				$ScaleActual = _MemoryRead($Player_CONFG_Scale, $Proceso, 'float')
				_MemoryWrite($Player_CONFG_Scale, $Proceso,$ScaleActual - 0.1, 'float')
				Update_List("Scale "&$ScaleActual - 0.1)
			Else				
				$ScaleActual = _MemoryRead($Player_CONFG_Scale, $Proceso, 'float')
				_MemoryWrite($Player_CONFG_Scale, $Proceso,$ScaleActual + 0.1, 'float')
				Update_List("Scale "&$ScaleActual + 0.1)
			EndIf
		EndIf
		EndIf
		$LastPos = $Pos[1]
		
	EndFunc
;===============================================================================
;Player Z Position HACK
;===============================================================================
		func PlayerZPosition()
		
		$Pos = MouseGetPos()
		if $LastPos == "9900990" Then
		Else
		if $Pos[1] == $LastPos Then
		Else
			if $Pos[1] > $LastPos Then
				$ZActual = _MemoryRead($Player_CONFG_Z_Position, $Proceso, 'float')
				_MemoryWrite($Player_CONFG_Z_Position, $Proceso,$ZActual + 10, 'float')
				Update_List("Position Z "&$ZActual + 10)
			Else				
				$ZActual = _MemoryRead($Player_CONFG_Z_Position, $Proceso, 'float')
				_MemoryWrite($Player_CONFG_Z_Position, $Proceso,$ZActual -10, 'float')
				Update_List("Position Z "&$ZActual - 10)
			EndIf
		EndIf
		EndIf
		$LastPos = $Pos[1]
		
	EndFunc
;===============================================================================
;Player X Position HACK
;===============================================================================
		func PlayerXPosition()
		
		$Pos = MouseGetPos()
		if $LastPos == "9900990" Then
		Else
		if $Pos[1] == $LastPos Then
		Else
			if $Pos[1] > $LastPos Then
				$XActual = _MemoryRead($Player_CONFG_X_Position, $Proceso, 'float')
				_MemoryWrite($Player_CONFG_X_Position, $Proceso,$XActual + 20, 'float')
				Update_List("Position x "&$XActual + 20)
			Else				
				$XActual = _MemoryRead($Player_CONFG_X_Position, $Proceso, 'float')
				_MemoryWrite($Player_CONFG_X_Position, $Proceso,$XActual - 20, 'float')
				Update_List("Position x "&$XActual - 20)
			EndIf
		EndIf
		EndIf
		$LastPos = $Pos[1]
		
	EndFunc
;===============================================================================
;Player Y Position HACK
;===============================================================================
		func PlayerYPosition()
		
		$Pos = MouseGetPos()
		if $LastPos == "9900990" Then
		Else
		if $Pos[0] == $LastPos Then
		Else
			if $Pos[0] > $LastPos Then
				$YActual = _MemoryRead($Player_CONFG_Y_Position, $Proceso, 'float')
				_MemoryWrite($Player_CONFG_Y_Position, $Proceso,$YActual - 20, 'float')
				Update_List("Position y "&$YActual - 20)
			Else				
				$YActual = _MemoryRead($Player_CONFG_Y_Position, $Proceso, 'float')
				_MemoryWrite($Player_CONFG_Y_Position, $Proceso,$YActual + 20, 'float')
				Update_List("Position y "&$YActual + 20)
			EndIf
		EndIf
		EndIf
		$LastPos = $Pos[0]
		
	EndFunc
;===============================================================================
;Camera Z
;===============================================================================
		func CameraZ()
		
		$Pos = MouseGetPos()
		if $LastPos == "9900990" Then
		Else
		if $Pos[1] == $LastPos Then
		Else
			if $Pos[1] > $LastPos Then
				$ZActual = _MemoryRead($Camera_Altitude, $Proceso, 'float')
				_MemoryWrite($Camera_Altitude, $Proceso,$ZActual - 20, 'float')
				Update_List("Camera Z "&$ZActual - 30)
			Else				
				$ZActual = _MemoryRead($Camera_Altitude, $Proceso, 'float')
				_MemoryWrite($Camera_Altitude, $Proceso,$ZActual + 20, 'float')
				Update_List("Camera Z "&$ZActual + 30)
			EndIf
		EndIf
		EndIf
		$LastPos = $Pos[1]
		
	EndFunc
;===============================================================================
;Camera Distance
;===============================================================================
		func CameraDist()
		
		$Pos = MouseGetPos()
		if $LastPos == "9900990" Then
		Else
		if $Pos[1] == $LastPos Then
		Else
			if $Pos[1] > $LastPos Then
				$ALTActual = _MemoryRead($Camera_Z, $Proceso, 'float')
				_MemoryWrite($Camera_Z, $Proceso,$ALTActual - 20, 'float')
				Update_List("Cam Altitude "&$ALTActual - 20)
			Else				
				$ALTActual = _MemoryRead($Camera_Z, $Proceso, 'float')
				_MemoryWrite($Camera_Z, $Proceso,$ALTActual + 20, 'float')
				Update_List("Cam Altitude "&$ALTActual + 20)
			EndIf
		EndIf
		EndIf
		$LastPos = $Pos[1]
		
	EndFunc
;===============================================================================
;Transparency
;===============================================================================
		func Transparency()
	
		If $State_Transparency == 0 Then
			GUICtrlSetState($Button_Transparency,$GUI_CHECKED)
			_MemoryWrite($Camera_Transparency, $Proceso,999999, 'float')
		$State_Transparency = 1
		Update_List("Transparency enabled")
		Else
			GUICtrlSetState($Button_Transparency,$GUI_UNCHECKED)
			_MemoryWrite($Camera_Transparency, $Proceso,1, 'float')
		$State_Transparency = 0
		Update_List("Transparency disabled")
		EndIf
		
		EndFunc
	
;===============================================================================
;Funciones
;===============================================================================
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;
;La funcion setbitmap cambia las propiedades de opacidad del GUI, en toda la aplicacion se usa mediante un bucle FOR, que es incrementado hasta 255.
;La linea que se encarga de cambiar la opacidad es DllStructSetData($tBlend, "Alpha", $iOpacity)
;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	Func SetBitmap($hGUI, $hImage, $iOpacity)
	Sleep(20)
    Local $hScrDC, $hMemDC, $hBitmap, $hOld, $pSize, $tSize, $pSource, $tSource, $pBlend, $tBlend
    Local Const $AC_SRC_ALPHA = 1
    $hScrDC = _WinAPI_GetDC(0)
    $hMemDC = _WinAPI_CreateCompatibleDC($hScrDC)
    $hBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
    $hOld = _WinAPI_SelectObject($hMemDC, $hBitmap)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", _GDIPlus_ImageGetWidth($hImage))
    DllStructSetData($tSize, "Y", _GDIPlus_ImageGetHeight($hImage))
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", $iOpacity)
    DllStructSetData($tBlend, "Format", $AC_SRC_ALPHA)
    _WinAPI_UpdateLayeredWindow($hGUI, $hScrDC, 0, $pSize, $hMemDC, $pSource, 0, $pBlend, $ULW_ALPHA)
    _WinAPI_ReleaseDC(0, $hScrDC)
    _WinAPI_SelectObject($hMemDC, $hOld)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hMemDC)
EndFunc
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;
;Esta funcion permite mover el GUI por la pantalla
;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
    If ($hWnd = $GUI) And ($iMsg = $WM_NCHITTEST) Then Return $HTCAPTION
	EndFunc
Gracias por la información,
Salu22:)
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: BugCraft's WarTool (Hacking de WarHammer Online)

Mensaje por Chefito »

Mmmmmm.....es interesante. Leeis determinadas zonas de la memoria y escribis determinados valores para cambiar aspectos de los juegos :smt001 .
He visto tu conferencia y no está mal. Solo hay un matiz que no me ha gustado mucho, o no lo he entendido bien. Al principio de tu conferencia dices que utilizais el hacking ético, que no utilizais estas aplicaciones o no las mostrais al mundo......cuando yo veo claramente que las poneis al alcanze de todos. Incluso explicais como se hace :smt017 . Seguro que lo que haceis es hacking ético?

Para mí, el hacking ético sería encontrar fallos de seguridad (de cualquier cosa) y comentarselas al administrador, creador, etc. O como bien dices en alguna parte de tu conferencia, hablando de juegos, hacer solamente cambios en algunas cosas, pero que no pueda dar ventaja sobre los otros juegadores (por ejemplo la estética). Y que yo haya visto en la conferencia, mostrais y poneis a disposición de la gente herramientas para dar velocidad, volar, atravesar muros, etc, que claramente dará ventaja al usuario que lo utilize. No se no se :smt017 .

Por cierto, me he fijado y utilizais el AutoIt a saco para hacer casi todas vuestras aplicaciones :smt003 . Como habrás comprobado si has mirado un poco nuestro foro, aquí hay gente de habla hispana que sabe bastante de AutoIt. Si necesitais ayuda o consejo en algo, y por supuesto que no infrinjan las normas del foro, estaremos aquí para intentar ayudaros.

Otra cosa. Me quiero meter en el mundo de php :smt005 . A ver cuanto tardo en aprender este lenguaje :smt005 .

Saludos.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
karliky
Mensajes: 9
Registrado: 24 Sep 2007, 13:22

Re: BugCraft's WarTool (Hacking de WarHammer Online)

Mensaje por karliky »

BasicOs, en cuando pueda redactare mas informacion sobre como funciona el hack, la idea es crear un user guide con parte del codigo explicado :smt005
Sobre NomadMemory, es una libreria de Autoit que permite modificar valores de memoria de un proceso sobre Windows, funciona perfectamente y no solo se puede plantear su uso con juego, tambien con aplicaciones normales :smt002

Chefito escribió:Mmmmmm.....es interesante. Leeis determinadas zonas de la memoria y escribis determinados valores para cambiar aspectos de los juegos :smt001 .
He visto tu conferencia y no está mal. Solo hay un matiz que no me ha gustado mucho, o no lo he entendido bien. Al principio de tu conferencia dices que utilizais el hacking ético, que no utilizais estas aplicaciones o no las mostrais al mundo......cuando yo veo claramente que las poneis al alcanze de todos. Incluso explicais como se hace :smt017 . Seguro que lo que haceis es hacking ético?

Para mí, el hacking ético sería encontrar fallos de seguridad (de cualquier cosa) y comentarselas al administrador, creador, etc. O como bien dices en alguna parte de tu conferencia, hablando de juegos, hacer solamente cambios en algunas cosas, pero que no pueda dar ventaja sobre los otros juegadores (por ejemplo la estética). Y que yo haya visto en la conferencia, mostrais y poneis a disposición de la gente herramientas para dar velocidad, volar, atravesar muros, etc, que claramente dará ventaja al usuario que lo utilize. No se no se :smt017 .

Por cierto, me he fijado y utilizais el AutoIt a saco para hacer casi todas vuestras aplicaciones :smt003 . Como habrás comprobado si has mirado un poco nuestro foro, aquí hay gente de habla hispana que sabe bastante de AutoIt. Si necesitais ayuda o consejo en algo, y por supuesto que no infrinjan las normas del foro, estaremos aquí para intentar ayudaros.

Otra cosa. Me quiero meter en el mundo de php :smt005 . A ver cuanto tardo en aprender este lenguaje :smt005 .

Saludos.
En contestacion a ti Chefito, Mi idea del hacking ético es precisamente lo que tu dices, Yo no fastidio a ningun jugador, pero tienes que pensar que a la hora de aprender a hacer estas cosas tengo que probar cosas que si podrias afectar a un jugador, aun que no lo voy a utilizar para obtener ventaja sobre el.
Ya te digo que mi intencion es no fastidiar a nadie, por eso publico el codigo fuente de todo lo que hago, para que la gente (desarrolladores) aprendan como hacer todo esto, pero mi intencion es aprender programacion e ingeneria inversa, interpretacion de binarios y demás, nada de molestar a los otro jugadores.

¿Quieres saber por que he creado este hack para Warhammer? Pues por que hay otro "hacker" de pacotilla que se ha dedicado a hacer lo mismo y que COBRA a los usuarios 10€ al mes por tener acceso a este hack.
Me puse negro cuando me di cuenta de eso, asi que por joder a ese "hacker" hice todo lo contrario que el, publicar un hack completamente libre y de uso gratuito que hace lo mismo que el suyo, si quieres saber más sobre ese hacker busca WarExtDLL en google :smt005

como verás mis intenciones son 2 muy claras
- Que lo desarrolladores aprendan facilmente, es muy bonito enseñar a los demas.
- No molestar a los jugadores, aun que en este caso, alguna persona podría utilizar mis hacks para molestar a otros jugadores pero ahi ya no puedo hacer nada :smt022

No hay mucho mas que decir :smt006 Se me da muy bien Autoit y he hecho muchas cosas, este foro es una inspiracion para todos, espero pasarme mas amenudo a publicar mis aplicaciones. :smt041
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2091
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: BugCraft's WarTool (Hacking de WarHammer Online)

Mensaje por BasicOs »

Gracias por los deseos y por lo del foro que te inspire! :smt003 :smt003
A ver si publicas un grafico o unos dibujos, o una guia, lo que desees para ver internamente como funciona el programa destinatario de las modificaciones de la memoria "on the fly".
Hay muchas veces que uno necesita hacer esto, porque hay demasiadas aplicaciones "cerradas" y no libres que funcionan de una manera que no sea necesaria, o que no aporte, y si sabes, por llamarlo de alguna manera, la manera de "personalizar" por dentro la aplicación pues mejor.
Autoit también maneja botones, iconos, procesos, ficheros, envio de teclas, y realmente lo de manejar la memoria interna del programa es algo que si esta en la misma linea de "esclavizar" al programa para un uso "hackeado" en el buen sentido, para dar una UTILIDAD a una necesidad que no tiene que ser mala ni negativa, igual que hay cuchillos que se pueden usar para cortar la comida o para otras cosas. :smt025 :smt025 :smt021 :smt021
Digamos que aqui hay herreros que pueden aprovechar esos cuchillos, espero que para ayudar a necesidades de personas, más que para "aumentarlas" o quitarle propiedads positivas a programas.. :smt024 :smt024
Salu22:)
Responder