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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Temas
Páginas: [1]
1  Programación / ASM / Problema al pasar cadenas a los campos de un struct en FASM en: 31 Enero 2013, 09:36 am
Hola a todos, estoy convirtiendo este código en Python en una librería en Assembler y esto es lo que tengo hasta ahora:

Código
  1. format PE GUI 4.0 DLL
  2. entry DllEntryPoint
  3.  
  4. include 'win32a.inc'
  5.  
  6. section '.code' code readable executable
  7.  
  8. struct SHELLEXECUTEINFO
  9.    cbSize dd ?
  10.    fMask dd ?
  11.    hwnd dd ?
  12.    lpVerb dd ?
  13.    lpFile dd ?
  14.    lpParameters dd ?
  15.    lpDirectory dd ?
  16.    nShow dd ?
  17.    hInstApp  dd ?
  18.    lpIDList  dd ?
  19.    lpClass dd ?
  20.    hKeyClass  dd ?
  21.    dwHotKey dd ?
  22.    hIconOrMonitor  dd ?
  23.    hProcess  dd ?
  24. ends
  25.  
  26. proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
  27.        mov     eax,TRUE
  28.        ret
  29. endp
  30.  
  31. proc ShowProp filepath
  32.    mov [sei.cbSize], sizeof.SHELLEXECUTEINFO
  33.    mov [sei.fMask], SEE_MASK_NOCLOSEPROCESS or SEE_MASK_INVOKEIDLIST
  34.    mov [sei.lpVerb], prop
  35.    mov ecx, [filepath]
  36.    mov [sei.lpFile], ecx
  37.    mov [sei.nShow], 1
  38.    invoke ShellExecuteEx, sei
  39.    ret
  40. endp
  41.  
  42. section '.data' data readable writeable
  43.  
  44. SEE_MASK_NOCLOSEPROCESS = 0x00000040
  45. SEE_MASK_INVOKEIDLIST = 0x0000000C
  46. prop db "properties",0
  47. sei SHELLEXECUTEINFO
  48.  
  49. section '.idata' import data readable writeable
  50.  
  51. library shell32,'SHELL32.DLL'
  52. import shell32,ShellExecuteEx,'ShellExecuteEx'
  53.  
  54. section '.edata' export data readable
  55.  
  56.  export 'ShowProperties.dll', ShowProp, 'ShowProp'
  57.  
  58. section '.reloc' fixups data discardable

pero el mismo no compila. Al hacer unas pruebas (esto es, comentar lineas hasta que no me aparecieran mas errores) descubri que el problema esta en las lineas 41 y 42 al intentar asignar cadenas a los campos lpVerb y lpFile del struct SHELLEXECUTEINFO y sin importar como lo haga, el compilador siempre muestra algun error. ¿Que estoy haciendo mal? Por cierto, estos son los errores que me aparecen:
LineaModificaciónError que aparece
41mov[sei.lpVerb],propinvalid use of symbol.
41mov [sei.lpVerb], "properties"value out of range.
42mov [sei.lpFile], filepathinvalid value.
37 y 42proc ShowProp filepath* y mov [sei.lpFile], filepath (con y sin * al final)extra characters on line. (en endp)

Edit varios días después: Ya arregle ese problema que aparecía al ejecutar la función (eso de "access violation writing ..."). Abajo explico como lo logre.
2  Programación / ASM / Simuproc (con programas de ejemplo incluidos) en: 18 Agosto 2009, 08:55 am
Estaba pensando en hacer este post en la sección de software, pero, creo que aquí queda mejor (sino es así, entonces que algún administrador lo mueva a la sección de software). Como actualmente estoy comenzando a ver ensamblador en mi universidad, me acorde de este programa que tenia guardado hace tiempo y ya que las paginas desde donde se podía bajar el programa están fuera de linea, pensé en compartir este programa con todos (quizás le sirva a alguien mas).

SimuProc es básicamente un Simulador de un procesador hipotético de 16 bits con el cual se puede aprender las nociones básicas para comenzar a programar en ensamblador. El programa funciona mostrando todo el proceso interno de ejecución del programa a través de cada ciclo del procesador. Aunque el programa sea viejo (la ultima versión parece ser del 2004), no he tenido problemas al usarlo en Windows XP SP3 y según este mensaje del antiguo libro de visitas del programa, también funciona en Linux mediante Wine.

Enlace de descarga (en esa pagina también hay información extra sobre el programa que puede ser de utilidad): http://www.hotshare.net/es/file/165516-300768800a.html

También incluí algunos programitas de ejemplo, los cuales son:
  • De la pagina del autor:
    • Factorial (encuentra el Factorial de un numero)
    • Paridad (Calcula la Paridad de un Numero)
    • Serie Fibonacci (encuentra los números de la serie de Fibonacci hasta n)
  • Los que encontré aquí:
    • Ecuación de 2° grado (no se si funciona bien)
    • Ordenador de números
    • Calculadora con pseudomenus


Ventana principal del programa


Editor incorporado en el programa


Salida que genera la calculadora con pseudomenus


Ventana principal del programa en medio de una simulación

Por ultimo, sino pueden abrir alguno de los programas directamente, intenten abrirlo primero desde el editor que el programa tiene incorporado, y desde allí lo envían a la memoria.
3  Informática / Electrónica / ¿Alguien tiene una imagen de esto? en: 7 Septiembre 2008, 12:31 pm
Se trata de una unidad de limpieza del toner de las fotocopiadoras. Es que estuve buscando eso y no he encontrado algo útil. Resulta que tengo una fotocopiadora Ricoh FT 3713 con el error E70, buscando encontré que eso se debe a que el colector de toner de la unidad de limpieza esta lleno, por lo que hay que limpiarlo. El problema es que no se cual es ese colector y, ademas, el servicio técnico se esta tardando mucho en venir y necesitamos usar la maquina, por eso pregunto (ademas, si pudiera saber cual es ese colector, podría sacarlo y llevarlo con alguien para que la limpie).
4  Foros Generales / Sugerencias y dudas sobre el Foro / Problemas con las citas en Kmeleon en: 16 Agosto 2008, 08:22 am
No se si a alguien mas le haya pasado lo mismo que a mi, pero, resulta que cuando en el navegador Kmeleon quiero responder algún post del foro y presiono el enlace "Insertar cita", esta no aparece. ¿Alguien sabe a que se debe esto?. Aclaro que con el Firefox no tengo problemas, por lo que creo que es algo que afecta únicamente a Kmeleon.
5  Foros Generales / Sugerencias y dudas sobre el Foro / Visualizacion del foro y wmlbrowser en: 12 Julio 2007, 23:11 pm
Resulta que anoche, cuando entre al foro, me apareció todo en modo texto (sin imágenes, ni nada, solo texto sobre un fondo blanco) y no me aparecía el enlace para ingresar con mi nombre de usuario. Yo me preguntaba, ¿porque el foro esta asi?. Poco después descubrí que deje el wmlbrowser activado (WML on), cuando lo puse a WML off, se me soluciono el problema.

Resulta que habitualmente utilizo el Firefox para navegar por internet y tengo instalado la extensión wmlbrowser (para ver paginas hechas en WAP sin necesidad de un celular) y para activarlo y desactivarlo fácilmente tengo en la barra de navegación el menú WML mode, para activar y desactivar el modo de navegación fácilmente.

Estas son algunas sugerencias que se me han ocurrido:
Estaba pensado, para evitar esto, que el servidor del foro podría reconocer si un usuario que visualiza la pagina esta usando Firefox (y de ser así, si esta usando la extensión wmlbrowser) para evitar que el usuario visualice accidentalmente el modo WAP (aunque tenga el WML mode en on) o que aparezca un cuadro de dialogo que pregunte al usuario en que modo desea ver la pagina (WAP o HTML). O sino se podría hacer lo mismo que en Wikipedia; ya que en la Portada (http://es.wikipedia.org/wiki/Portada) aparece un enlace que dice Acceso WAP (http://wapedia.mobi/es).
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines