Ayuda con esta aplicación en ensamblador

Iniciado por jJPHyES, 29 Mayo 2018, 19:46 PM

0 Miembros y 1 Visitante están viendo este tema.

jJPHyES

Resulta que esta aplicación hecha en ensamblador hace algunas llamadas, muestra un mensaje de texto utilizando la API MessageBox y puede detectar si hay algún depurador ejecutándolo.

El problema es a la hora de compilarlo con masm que arroja demasiados errores, y talvez haya cometido algún error decidmelo.

Código (asm) [Seleccionar]
.386
.model flat, stdcall
option casemap:none

include windows.inc
include user32.inc
include kernel32.inc

includelib user32.lib
includelib kernel32.lib

.data

MsgBoxTitulo db "¡Importante! - Cristo te ama (:", 0
MsgBoxMensaje db "Lista de archivos:", 13, 10, 13, 10, "- Dedicatoria.txt", 13, 10, "- Instrucciones.txt", 13, 10, "Contactarme.txt", 13, 10, "Archivos *.reg&.exe", 13, 10, 13, 10, "Autor: jJPHyES|CrackSLatinoS.", 13, 10, "Fecha: Martes 29 de Mayo, del 2018.", 13, 10, "Que Dios te bendiga, protega y acompañe.", 0
MsgBoxIsDT db "¡Depurador detectado!", 0
MsgBoxIsDM db "Deberías salir de vuestro depurador...", 0

.code

progasm01:
         mov eax, [fs+0x18]
         mov eax, [eax+0x30]
         movzx eax, byte [eax+0x2]
         cmp eax, TRUE
         je isdebugpreasmd
         
         push 0
         call FreeConsole, 0
         push 0
         push offset MsgBoxTitulo
         push offset MsgBoxMensaje
         call MessageBox
         xor eax, eax
         xor ebx, ebx
         xor ecx, ecx
         push 0
         call ExitProcess, 0
         
         isdebugpreasmd:
         push 0
         push offset MsgBoxIsDT
         push offset MsgBoxIsDM
         call MessageBox
         
         end isdebugpreasmd
         
end progasm01


Editado: Que Dios te bendiga, protega y acompañe.

MCKSys Argentina

#1
Hola!

Revisa las correcciones:

Código (asm) [Seleccionar]

.code

progasm01:
ASSUME fs:NOTHING
mov eax, [fs:018h]
mov eax, [eax+030h]
movzx eax, byte ptr [eax+02h]
cmp eax, TRUE
je isdebugpreasmd

push 0
call FreeConsole
push 0
push offset MsgBoxTitulo
push offset MsgBoxMensaje
call MessageBox
xor eax, eax
xor ebx, ebx
xor ecx, ecx
push 0
call ExitProcess

isdebugpreasmd:
push 0
push offset MsgBoxIsDT
push offset MsgBoxIsDM
call MessageBox

end isdebugpreasmd

end progasm01


Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


jJPHyES

Cita de: MCKSys Argentina en 29 Mayo 2018, 21:53 PM
Hola!

Revisa las correcciones:

Código (asm) [Seleccionar]

.code

progasm01:
ASSUME fs:NOTHING
mov eax, [fs:018h]
mov eax, [eax+030h]
movzx eax, byte ptr [eax+02h]
cmp eax, TRUE
je isdebugpreasmd

push 0
call FreeConsole
push 0
push offset MsgBoxTitulo
push offset MsgBoxMensaje
call MessageBox
xor eax, eax
xor ebx, ebx
xor ecx, ecx
push 0
call ExitProcess

isdebugpreasmd:
push 0
push offset MsgBoxIsDT
push offset MsgBoxIsDM
call MessageBox

end isdebugpreasmd

end progasm01


Saludos!

Gracias @MCKSysArgentina.

Que Dios te bendiga.