elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Bot de Tibia
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Bot de Tibia  (Leído 3,786 veces)
Articos

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Bot de Tibia
« en: 13 Abril 2015, 00:39 am »

Hola gente,

Soy programador, me gustaría hacer un bot para tibia pero nose por donde comenzar, la idea básicamente, es realizar un bot cave bot y un rune maker, la idea es poder controlar la vida y el mana, he realizado algunos script con vb y autohotkeys, pero mi idea es hacer mi propio bot, alguna idea de como comenzar?

Cual es el lenguaje adecuado?

Alguien podría compartir el código de un bot básico para ver como funciona y comenzar a entender la lógica de estos scripts?

 ;D ;D ;D ;D ;D
Nota: es mi primer tema, sino esta en el sitio correcto por favor decirme en donde debo poner mi consulta.
En línea

kub0x
Enlightenment Seeker
Colaborador
***
Desconectado Desconectado

Mensajes: 1.486


S3C M4NI4C


Ver Perfil
Re: Bot de Tibia
« Respuesta #1 en: 13 Abril 2015, 00:53 am »

Programar cheats para Tibia requiere su tiempo. Tibia tiene su esquema interno y debes adaptarte a él. Con la API ReadProcessMemory lees valores de direcciones de memoria periodicamente comprobando el mana en el caso del rune maker.

Recomiendo que utilices C#o C++ para la programación del mismo. El code de abajo está en VB.NET ya que tiene unos añitos pero sigue siendo válido, es de lo último que programé cuando me dedicaba al mundo de cheats en Tibia (ya te dije que me comí un baneo por codear cheats)...

En este code ves que controlo el mana del personaje y al quedarse en "X" creo una SD, o como comida o creo una runa blanca (esto era para un OT).
Simplemente lo que hago es simular la pulsación de hotkeys en el cliente de Tibia, bastante simple.

Las direcciones de memoria de las que hablo. Copia el code en un módulo que tenga por nombre "Addresses"... OJO esto era para la versión de Tibia 9.8. Aquí tienes las addresses para la última version (10.76) -> http://www.blackdtools.net/showthread.php?61995-10-76-Blackd-Tibia-addresses-10-76

Código
  1. Module Addresses
  2.    Public p As Process = Process.GetProcessesByName("Tibia")(0)
  3.    Public BaseAddress As Int32 = p.MainModule.BaseAddress.ToInt32
  4.    Public hWnd As IntPtr = p.Handle
  5. End Module
  6. Module Player
  7.    Public XorKey As IntPtr = &H3B6EF0 + BaseAddress
  8.    Public Mana As IntPtr = &H3B6F44 + BaseAddress
  9. End Module

El código en cuestión. Crea un proyecto WinForms (VB.NET) en Visual Studio y pega el code en la clase la ventana principal (Form1.vb).

Código
  1. Imports System.Threading
  2. Imports System.Runtime.InteropServices
  3.  
  4. Public Class Form1
  5.  
  6.    <DllImport("kernel32.dll", SetLastError:=True)> _
  7.    Public Shared Function ReadProcessMemory( _
  8.    ByVal hProcess As IntPtr, _
  9.    ByVal lpBaseAddress As IntPtr, _
  10.    <Out()> ByVal lpBuffer() As Byte, _
  11.    ByVal dwSize As Integer, _
  12.    ByRef lpNumberOfBytesRead As Integer
  13.  ) As Boolean
  14.    End Function
  15.  
  16.    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
  17.    Private Shared Function PostMessage(ByVal hWnd As IntPtr, ByVal Msg As UInteger, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Boolean
  18.    End Function
  19.  
  20.    Private t_m(2) As Thread
  21.    Private t_paused(2) As Boolean
  22.    Private Const WM_KEYDOWN As Int32 = &H100
  23.  
  24.    Private Sub CreateBlankRune()
  25.        Dim PMana As Int32 = ReadInt32(Mana.ToInt32) Xor ReadInt32(XorKey)
  26.        If PMana > 50 Then
  27.            PostMessage(p.MainWindowHandle, WM_KEYDOWN, Keys.F1, 0)
  28.            Thread.Sleep(6000)
  29.        End If
  30.        CreateBlankRune()
  31.    End Sub
  32.    Private Sub CreateSuddenDeathRune()
  33.        Dim PMana As Int32 = ReadInt32(Mana.ToInt32) Xor ReadInt32(XorKey)
  34.        If PMana > 1000 Then
  35.            PostMessage(p.MainWindowHandle, WM_KEYDOWN, Keys.F2, 0)
  36.            Thread.Sleep(25000)
  37.        End If
  38.        CreateSuddenDeathRune()
  39.    End Sub
  40.    Private Sub EatFood()
  41.        While True
  42.            PostMessage(p.MainWindowHandle, WM_KEYDOWN, Keys.F3, 0)
  43.            Thread.Sleep(360000)
  44.        End While
  45.    End Sub
  46.    Private Function ReadInt32(ByVal Address As IntPtr) As Int32
  47.        Dim Buffer(3) As Byte
  48.        Dim readBytes As Int32 = Nothing
  49.        ReadProcessMemory(hWnd, Address, Buffer, 4, readBytes)
  50.        Return BitConverter.ToInt32(Buffer, 0)
  51.    End Function
  52.    Private Sub UpdateText(ByVal lbl As Label, ByVal Text As String, ByVal Running As Boolean)
  53.        If Running Then
  54.            lbl.ForeColor = Color.Green
  55.        Else
  56.            lbl.ForeColor = Color.Red
  57.        End If
  58.        lbl.Text = Text
  59.    End Sub
  60.    Private Sub btn_BlankRune_Click(sender As System.Object, e As System.EventArgs) Handles btn_BlankRune.Click
  61.        If Not t_paused(0) Then
  62.            t_paused(0) = True
  63.            btn_BlankRune.Text = "Detener Hilo Adori Blank"
  64.            UpdateText(Label4, "INICIADO", True)
  65.            t_m(0) = New Thread(AddressOf CreateBlankRune)
  66.            t_m(0).Start()
  67.        Else
  68.            t_paused(0) = False
  69.            btn_BlankRune.Text = "Adori Blank"
  70.            UpdateText(Label4, "DETENIDO", False)
  71.            t_m(0).Abort()
  72.        End If
  73.    End Sub
  74.  
  75.    Private Sub btn_SDRune_Click(sender As System.Object, e As System.EventArgs) Handles btn_SDRune.Click
  76.        If Not t_paused(1) Then
  77.            t_paused(1) = True
  78.            btn_SDRune.Text = "Detener Hilo SD"
  79.            UpdateText(Label5, "INICIADO", True)
  80.            t_m(1) = New Thread(AddressOf CreateSuddenDeathRune)
  81.            t_m(1).Start()
  82.        Else
  83.            t_paused(1) = False
  84.            btn_SDRune.Text = "Sudden Death"
  85.            UpdateText(Label5, "DETENIDO", False)
  86.            t_m(1).Abort()
  87.        End If
  88.    End Sub
  89.  
  90.    Private Sub btn_eatFood_Click(sender As System.Object, e As System.EventArgs) Handles btn_eatFood.Click
  91.        If Not t_paused(2) Then
  92.            t_paused(2) = True
  93.            btn_eatFood.Text = "Detener Hilo Eat Food"
  94.            UpdateText(Label6, "INICIADO", True)
  95.            t_m(2) = New Thread(AddressOf EatFood)
  96.            t_m(2).Start()
  97.        Else
  98.            t_paused(2) = False
  99.            btn_eatFood.Text = "Eat Food"
  100.            UpdateText(Label6, "DETENIDO", False)
  101.            t_m(2).Abort()
  102.        End If
  103.    End Sub
  104.  
  105.    Private Sub Form1_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  106.        For i As Int32 = 0 To t_m.Length - 1
  107.            If t_m(i) IsNot Nothing Then
  108.                If t_m(i).IsAlive Then
  109.                    t_m(i).Abort()
  110.                End If
  111.            End If
  112.        Next
  113.    End Sub
  114.  
  115.    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  116.        Try
  117.            Dim pStat As Boolean = IsNothing(p)
  118.        Catch ex As Exception
  119.            MsgBox("Aségurate de que Tibia se está ejecutando.", 16)
  120.            Application.Exit()
  121.        End Try
  122.    End Sub
  123. End Class

Si tienes dudas responde en este post.

Saludos.
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Visita mi perfil en ResearchGate

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Tibia 7.12
Juegos y Consolas
Arcangel 3 2,865 Último mensaje 7 Enero 2004, 06:29 am
por Arcangel
Tibia...
Juegos y Consolas
MinusFour 1 1,870 Último mensaje 25 Marzo 2005, 01:38 am
por DJ46
tibia cheats,bot...
Juegos y Consolas
urk8 0 1,766 Último mensaje 7 Junio 2006, 23:18 pm
por urk8
tibia mc 8.2
Juegos y Consolas
xaviete 0 2,698 Último mensaje 8 Julio 2008, 12:25 pm
por xaviete
Tibia
Juegos y Consolas
xzh10 0 1,659 Último mensaje 26 Septiembre 2018, 11:16 am
por xzh10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines