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.
.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.
Hola!
Revisa las correcciones:
.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!
Cita de: MCKSys Argentina en 29 Mayo 2018, 21:53 PM
Hola!
Revisa las correcciones:
.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.