|
271
|
Seguridad Informática / Abril negro / Re: Abril Negro 2008: Taller de ASM by E0N
|
en: 19 Abril 2008, 15:00 pm
|
Pues no se que mas quieres que profundice, son instruccioes básicas y viene un ejemplillo de cada una. Lo mejor es que hagas una prueba de cada una y mires con un debugger (el olly mismo q es el que yo he explicado o con los que a dicho Eternal Idol) para ver bien como funcionan. Una vez las entiendas intenta hacer los ejercicios y si te salen es q ya las tienes casi dominadas Salu2 y si no entiendes alguna pregunta
|
|
|
272
|
Seguridad Informática / Abril negro / Re: Abril Negro 2008: Taller de ASM by E0N
|
en: 18 Abril 2008, 16:28 pm
|
El primer post se ha actualizado. Se a añadido el capitulo "INSTRUCCIONES BÁSICAS DE ASM" Para hacer los ejercicos, ya que aun no se ha explicado por falta de tiempo como se estructura el código en FASM, pegad este código y haced las prácticas donde se indica: include 'C:\archivos de programa\fasm\include\win32ax.inc' .code start: ; Colocad aqui vuestro codigo .end start
Para comprobar si os el código hace lo que quereis utilizad el olly y para cualkier duda preguntad Salu2 E0N
Yo tengo una pregunta, no se si lo estoy compilando bien, pero al guardarlo como E0N explica en el primer post, no se me crea el ejecutable. Te da algún tipo de error al intentar ensamblar el código o ensambla bien y no se te crea el ejecutable?
|
|
|
273
|
Programación / .NET (C#, VB.NET, ASP) / Re: Inyeccion DLL VB.NET
|
en: 17 Abril 2008, 00:29 am
|
Hola
Lo que viene siendo el código para inyectar la dll lo puedes hacer en net y en cualker lenguaje q permita el uso de apis, por eso no hay problemas. El problema viene a la hora de crear la dll, q las de net no te valen. Tienes q usar alguna con código nativo
Salu2
|
|
|
274
|
Seguridad Informática / Abril negro / Re: Abril Negro 2008: Taller de ASM by E0N
|
en: 17 Abril 2008, 00:16 am
|
Mira, en la sección '.code' tienes que meter el código ejecutable, las variables las metes en la seción '.data' y la it en la sección '.idata' (las apis que usas vamos). Este es el estandar por así decirlo aunke a las secciones las pudes llamar como kieras y darles los permisos q kieras Resumiendo: format PE GUI 4.0 entry start include 'H:\Archivos de programa\FASM\INCLUDE\win32ax.inc' section '.data' data readable writeable _message db 'Te veo aburrido, quieres echar unas canastas?',0 _caption db 'Estás aburrido',0 _cmd_open db 'open cdaudio',0 _cmd_eject db 'set cdaudio door open',0 _cmd_close db 'close cdaudio',0 _aburrimiento db 'Hala! Haz un Triple!',0 _aburres db 'NBA',0 section '.code' code readable executable start: invoke MessageBoxA,0,_message,_caption,MB_ICONQUESTION+MB_YESNO cmp eax,IDYES jne exit invoke mciSendString,_cmd_open,0,0,0 invoke mciSendString,_cmd_eject,0,0,0 invoke mciSendString,_cmd_close,0,0,0 invoke MessageBoxA,0,_aburrimiento, _aburres,MB_ICONQUESTION+MB_OK exit: invoke ExitProcess,0 section '.idata' import data readable writeable library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL',\ winmm,'WINMM.DLL' import kernel32,\ ExitProcess,'ExitProcess' import user32,\ MessageBoxA,'MessageBoxA' import winmm,\ mciSendString,'mciSendStringA' section '.rsrc' resource data readable directory RT_ICON,icons,\ RT_GROUP_ICON,group_icons resource icons,\ 1,LANG_NEUTRAL,icon_data resource group_icons,\ 17,LANG_NEUTRAL,main_icon icon main_icon,icon_data,'icono.ico'
Todo esto lo explicaré mas adelante, q no me esta dando tiempo! xD Saludos E0N
|
|
|
275
|
Seguridad Informática / Abril negro / Re: Abril Negro 2008: Taller de ASM by E0N
|
en: 16 Abril 2008, 20:25 pm
|
Te pongo un ejemplo 100% funcional y miras a ver en lo que te has ekivocado: format PE GUI 4.0 entry start include 'H:\Archivos de programa\FASM\INCLUDE\win32ax.inc' section '.data' data readable writeable mensaje db 'Tengo icono!!', 0 titulo db 'lol', 0 section '.code' code readable executable start: invoke MessageBox, 0, mensaje, titulo, 0 invoke ExitProcess, 0 section '.idata' import data readable writeable library kernel,'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess,'ExitProcess' import user,\ MessageBox, 'MessageBoxA' section '.rsrc' resource data readable directory RT_ICON,icons,\ RT_GROUP_ICON,group_icons resource icons,\ 1,LANG_NEUTRAL,icon_data resource group_icons,\ 17,LANG_NEUTRAL,main_icon icon main_icon,icon_data,'icono.ico'
Solo tienes que poner un icono llamado icono.ico en la misma ruta y ya tira Salu2
|
|
|
276
|
Seguridad Informática / Abril negro / Re: Abril Negro 2008: Taller de ASM by E0N
|
en: 16 Abril 2008, 18:04 pm
|
A ok xD pues para eso tienes que añadir una sección de resources al ejecutable, fijate en el ejemplo "MINIPAD" al final del todo Para q te hagas una idea tienes que añadir algo así: section '.rsrc' resource data readable directory RT_ICON,icons,\ RT_GROUP_ICON,group_icons resource icons,\ 1,LANG_NEUTRAL,icon_data resource group_icons,\ 17,LANG_NEUTRAL,main_icon icon main_icon,icon_data,'NombreDeTuIcono.ico'
Salu2
|
|
|
277
|
Seguridad Informática / Abril negro / Re: Abril Negro 2008: Taller de ASM by E0N
|
en: 16 Abril 2008, 17:15 pm
|
Fijate en los parametros del MessageBoxA. Si miras en la MSDN la descripcion de este api veras que para modificar el icono hay que cambiar el último parametro. http://msdn2.microsoft.com/en-us/library/ms645505(VS.85).aspx Por poner un ejemplo: include 'H:/Archivos de Programa/FASM/include/win32ax.inc' .code start: invoke MessageBox, 0, 'Error', 0, MB_ICONERROR invoke MessageBox, 0, 'Pregunta', '', MB_ICONQUESTION invoke MessageBox, 0, 'Warning', '', MB_ICONWARNING invoke MessageBox, 0, 'Información', '', MB_ICONINFORMATION
invoke ExitProcess, 0 .end start En la MSDN encontrarás prácticamente todo lo que necesites respecto a apis Salu2 E0N
|
|
|
278
|
Seguridad Informática / Abril negro / Re: Abril Negro 2008: Taller de ASM by E0N
|
en: 16 Abril 2008, 16:44 pm
|
@DistorsionSi, mira, por poner un ejemplo compila esto con el fasm: format PE GUI 4.0 include 'H:\archivos de programa\fasm\include\win32a.inc' invoke MessageBox,0,cuerpo, titulo,MB_OK invoke ExitProcess,0 cuerpo db 'Hola mundo', 0 titulo db ':P', 0 data import library kernel32,'KERNEL32.DLL',\ user32,'USER32.DLL' import kernel32,\ ExitProcess,'ExitProcess' import user32,\ MessageBox,'MessageBoxA' end data
Veras que solo se crea una sección en el ejecutable, la flat, q es la crea fasm por defecto cuando se estructura de esta manera el código Ahora haz esto: borras todos los bytes con un editor hexadecimal a partir del 0x2BC y cambias el RawSize de la sección por 0xBC. Con esto te kedará un archivo de 700 bytes Posiblemente se pueda reducir un poco mas el tamaño del ejecutable, pero de esta manera ya tienes la sección de "codigo" bien ajustadita
Respecto a lo de Rozor, ya lo hemos hablado por privado y me a pedido disculpas, parece q por fin ha entrad en razon, asi q si algun mod puede borrar todos los post q no estén relaccionados con el taller pues mejor. Salu2
|
|
|
|
|
|
|