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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10
1  Programación / Scripting / Obtener nueva posición del jugador en: 28 Noviembre 2019, 10:37 am
Bueno, estoy tratando de obtener lo que sería la nueva posición del jugador en base a la posición del mouse relativa a la ventana.

Es decir: quiero que la posición X e Y de un jugador sea ajustada hacia su nueva posición en el mapa/mundo, la cual sería la posición señalada por el mouse sobre la ventana.

Yo actualmente poseeo los siguientes datos:
  • Las dimenciones de la ventana.
  • La posición X e Y del mouse en base a la ventana.
  • La dimensión del mapa.
  • La posición del jugador relativa a la dimensión del mapa.
  • La velocidad de movimiento del jugador.

Código:
local WINDOW_WIDTH = 597
local WINDOW_HEIGHT = 383
local MOUSE_X = 0
local MOUSE_Y = 0
local USER_X = 34.0
local USER_Y = 63.0
local MAP_WIDTH = 71.0
local MAP_HEIGHT = 43.0
local USER_SPEED = 8

-- Mi vano intento por obtener las nuevas coordenadas X e Y.
-- Hice cualquiera xd
local angle = math.atan2(MOUSE_Y - USER_Y,MOUSE_X - USER_X)
local dx,dy = USER_SPEED * math.cos(angle),USER_SPEED * math.sin(angle)
local x,y = dx,dy
print(x,y)

También me encuentro con el dilema de que el mapa y la posición del jugador están en valores flotantes y no sé que dimensión en pixeles representa, aunque creo que es:

Código:
WIDTH = MAP_WIDTH * USER_SPEED
HEIGHT = MAP_HEIGHT * USER_SPEED

La verdad no tengo la menor idea de como proceder en este caso. ¿alguna sugerencia?
2  Programación / ASM / Re: Creando un socket con FASM para Linux en: 5 Octubre 2019, 04:28 am
Está bueno el planteo, yo siempre creí que

Código
  1. xor ebx,ebx
  2. inc ebx

sería más rápido que:

Código
  1. mov ebx,1

Lo ideal siempre es optimizar la velocidad y el tamaño juntos, pero si el primero es más lento que el segundo no creo que tenga mucho sentido ahorrar 2 bytes.

Es verdad que siguen sobrando líneas, no se porqué no me dí cuenta :-\
3  Programación / ASM / Re: Creando un socket con FASM para Linux en: 4 Octubre 2019, 20:32 pm
Es un código de ejemplo, lo escribí de esta manera para el foro

Y si te molesta mi código, te recomiendo que veas el de SpyNET, uno de los rats más respetados... su código es un total desastre  :xD te va a agarrar una embolia cuando lo leas

Lo decía jugando, no es de mala manera

Dejo el código que yo considero optimizado a continuación:

Código
  1. format ELF executable 3
  2. entry start
  3.  
  4. segment readable executable
  5.  
  6. SYS_SOCKET = 1
  7. SYS_SOCKETCALL = 102
  8. SYS_WRITE = 4
  9.  
  10. start:
  11.        mov ecx,sockparams
  12.        mov ebx,SYS_SOCKET
  13.        mov eax,SYS_SOCKETCALL
  14.        int 0x80
  15.  
  16.        test eax,eax
  17.        jz .ZERO
  18.        js .BELOW_ZERO
  19.        jnz .ABOVE_ZERO
  20. .ZERO:
  21.        mov edx,7
  22.        mov ecx,cero_mensaje
  23.        jmp .WRITE
  24. .ABOVE_ZERO:
  25.        mov edx,19
  26.        mov ecx,nocero_mensaje
  27.        jmp .WRITE
  28. .BELOW_ZERO:
  29.        mov edx,15
  30.        mov ecx,menorcero_mensaje
  31. .WRITE:
  32.        xor ebx,ebx ; Dos opcode menos
  33.        inc ebx     ;
  34.        mov eax,SYS_WRITE
  35.        int 0x80
  36.  
  37.        xor eax,eax ; Dos opcode menos
  38.        inc eax     ;
  39.        xor ebx,ebx
  40.        int 0x80
  41.  
  42. segment readable writeable
  43.  
  44.        sockparams        dd 2,1,0
  45.        menorcero_mensaje db 'Menor a cero...',0
  46.        cero_mensaje      db 'Cero...',0
  47.        nocero_mensaje    db 'Es mayor a cero! :0',0

Si se puede optimizar más avisenme, por ahí necesito mejorar mis códigos. Aunque en realidad ya no uso el sistema SYS_CALL, sino que uso la librería de C para los sockets.
4  Programación / ASM / Re: Creando un socket con FASM para Linux en: 3 Octubre 2019, 22:39 pm
Es un código de ejemplo, lo escribí de esta manera para el foro

Y si te molesta mi código, te recomiendo que veas el de SpyNET, uno de los rats más respetados... su código es un total desastre  :xD te va a agarrar una embolia cuando lo leas
5  Programación / ASM / Creando un socket con FASM para Linux en: 26 Septiembre 2019, 16:26 pm
Bueno, como estoy creando un malware para Linux tengo que escribir y probar código, tuve (y tengo) bastantes problemas con los sockets, no por su complejidad de uso (que es nula), sino por el simple hecho de que no obtengo los resultados deseados.

Escribí este código para encontrar el error de manera más sencilla, pero no pude hacerlo debido a que milagrosamente el código decidió funcionar sin problemas (o eso creo).


Para FASM:
Código
  1. format ELF executable 3
  2. entry start
  3.  
  4. segment readable executable
  5.  
  6. SYS_SOCKET = 1
  7. SYS_SOCKETCALL = 102
  8. SYS_WRITE = 4
  9.  
  10. start:
  11.        mov DWORD[sockparams+4*0],2 ; PF_INET - AF_INET (2)
  12.        mov DWORD[sockparams+4*1],1 ; SOCK_STREAM (1)
  13.        mov DWORD[sockparams+4*2],0 ; 0, También probé con IPPROTO_TCP (6)
  14.  
  15.        lea ecx,DWORD[sockparams]
  16.        mov ebx,SYS_SOCKET
  17.        mov eax,SYS_SOCKETCALL
  18.        int 0x80
  19.        cmp eax,0
  20.        je .MOSTRAR_MENSAJE_CERO
  21.        js .MOSTRAR_MENSAJE_MENOR_CERO
  22.        jb .MOSTRAR_MENSAJE_MENOR_CERO
  23.        ja .MOSTRAR_MENSAJE_NO_CERO
  24.        jmp .CONTINUAR
  25. .MOSTRAR_MENSAJE_CERO:
  26.        mov edx,7
  27.        mov ecx,cero_mensaje
  28.        mov ebx,1
  29.        mov eax,SYS_WRITE
  30.        int 0x80
  31.        jmp .CONTINUAR
  32. .MOSTRAR_MENSAJE_NO_CERO:
  33.        mov edx,19
  34.        mov ecx,nocero_mensaje
  35.        mov ebx,1
  36.        mov eax,SYS_WRITE
  37.        int 0x80
  38.        jmp .CONTINUAR
  39. .MOSTRAR_MENSAJE_MENOR_CERO:
  40.        mov edx,15
  41.        mov ecx,menorcero_mensaje
  42.        mov ebx,1
  43.        mov eax,SYS_WRITE
  44.        int 0x80
  45. .CONTINUAR:
  46.        mov eax,1
  47.        xor ebx,ebx
  48.        int 0x80
  49.  
  50. segment readable writeable
  51.  
  52.        sockparams rd 10
  53.  
  54.        menorcero_mensaje db 'Menor a cero...',0
  55.        cero_mensaje db 'Cero...',0
  56.        nocero_mensaje db 'Es mayor a cero! :0',0

Considero que está muy claro, pero si no se entiende no duden en decirme. Espero que les sirva a aquellas personas interesadas en la programación de bajo nivel para Linux.

Testeado en TinyCore Linux emulado mediante QEMU.
6  Sistemas Operativos / Windows / Re: Creando variante Lua en: 12 Mayo 2019, 19:50 pm
No creo que sea inaudito, y ese tipo de idea puede implementarse fácilmente en Lua. Es más, yo hace unos meses escribí una función que permitía almacenar una tabla (tipo de estructura/array en otros lenguajes) en un fichero de texto, con todos los nombres y valores de sus miembros. Básicamente lo que explicas.

Me gusta la idea, funcionaría muy bien al momento de inyectar funciones externas también.
7  Sistemas Operativos / Windows / Re: Creando variante Lua en: 12 Mayo 2019, 10:14 am
Me interesó bastante tu comentario B#, estoy buscando en Internet métodos de evasión avanzada, pero veo que cada uno es específico para el anti-trampas del momento ¿hay algún método estandar para implementar en un módulo específico?

La generación de licencias también me gustó, pero al igual que el anterior, los métodos de creación de keys/licencias es específico para la aplicación.

El obfuscador lo puedo escribir sin problemas.
8  Sistemas Operativos / Windows / Creando variante Lua en: 6 Mayo 2019, 20:03 pm
Estoy creando una variante de Lua 5.3 que permite la automatización de Windows (vease: AutoIT y AutoHotKey) pero mejor orientado al hacking de juegos (vease: edición de memoria, hooks, etc).

No vengo a pedir ayuda con el desarrollo del proyecto, tengo en mente la base del lenguaje; solo me gustaría (realmente!) tener algunas ideas en la mesa antes de terminar con la primera liberación.

¿Qué te gustaría ver implementado en Lua?, también busco sugerencias para el nombre.

¡Saludos!
9  Foros Generales / Dudas Generales / Re: consejo en: 6 Mayo 2019, 00:20 am
No tiene porque ser tan malo, lee el libro y pásalo a un archivo PDF en tu computador (tecleado a mano, obviamente) tal vez se te haga mas interesante así...
10  Foros Generales / Dudas Generales / Re: Confíais en Blockchain? en: 2 Mayo 2019, 14:45 pm
Yo no confiaría, las cripto-divisas tienen pocas cualidades con respecto al dinero real, una de ellas es el anonimato... Si fuera cierto (y no creo) para algo usarán tu información personal, no te la han de pedir por nada.
Páginas: [1] 2 3 4 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines