Hola!
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! 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!
BugCraft's WarTool (Hacking de WarHammer Online)
- 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)
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:
Aquí el código de las funciones concretas que se llaman desde el principal,
Gracias por la información,
Salu22:)
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
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
Salu22:)
- 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)
Mmmmmm.....es interesante. Leeis determinadas zonas de la memoria y escribis determinados valores para cambiar aspectos de los juegos .
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 . 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 .
Por cierto, me he fijado y utilizais el AutoIt a saco para hacer casi todas vuestras aplicaciones . 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 . A ver cuanto tardo en aprender este lenguaje .
Saludos.
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 . 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 .
Por cierto, me he fijado y utilizais el AutoIt a saco para hacer casi todas vuestras aplicaciones . 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 . A ver cuanto tardo en aprender este lenguaje .
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 ;).
Re: BugCraft's WarTool (Hacking de WarHammer Online)
BasicOs, en cuando pueda redactare mas informacion sobre como funciona el hack, la idea es crear un user guide con parte del codigo explicado
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
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
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
No hay mucho mas que decir 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.
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
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.Chefito escribió:Mmmmmm.....es interesante. Leeis determinadas zonas de la memoria y escribis determinados valores para cambiar aspectos de los juegos .
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 . 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 .
Por cierto, me he fijado y utilizais el AutoIt a saco para hacer casi todas vuestras aplicaciones . 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 . A ver cuanto tardo en aprender este lenguaje .
Saludos.
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
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
No hay mucho mas que decir 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.
- 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)
Gracias por los deseos y por lo del foro que te inspire!
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.
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..
Salu22:)
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.
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..
Salu22:)