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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  urldownloadtofile FASM
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: urldownloadtofile FASM  (Leído 5,653 veces)
rmdma()

Desconectado Desconectado

Mensajes: 17


mov eax,0x69


Ver Perfil
urldownloadtofile FASM
« en: 19 Febrero 2012, 23:28 pm »

buenas!

aer estoy haciendo un call a URLDownloadToFile en fasm y el compilador me salta con
undefined function, e mirau en la MSDN y dice de importar ulrmon32.dll  e andau mirando los ejemplos del propio compilador  pa ver como importaba peo nada sigue dandome el mismo error, en el programa pusheo los datos que pide y depues salgo con un exitprocess e declarau 1 par de DWORDS pa la url y el destino , aer si podeis arreglarme esto mersis!!


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.969


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: urldownloadtofile FASM
« Respuesta #1 en: 19 Febrero 2012, 23:37 pm »

Cuantos mas y precisos datos das mas facil es ayudarte asi que la proxima vez pone el codigo y el error exactos.

Fijate si esto te ayuda:
Código
  1. import urlmon,\
  2. URLDownloadToFile,'URLDownloadToFileA'


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
rmdma()

Desconectado Desconectado

Mensajes: 17


mov eax,0x69


Ver Perfil
Re: urldownloadtofile FASM
« Respuesta #2 en: 19 Febrero 2012, 23:51 pm »

jode te juro k pensaba q lo habia puesto

Código:
include 'win32ax.inc'

.data
        url db 'http://www.google.es/robots.txt',0
        src db 'c:\\robots.txt',0

.code

        start:

        push NULL
        push url
        push src
        push 0
        push NULL
        call [URLDownloadToFile]

        push 0
        call [ExitProcess]

.end start     

voy a probar lo q me dices aer
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.969


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: urldownloadtofile FASM
« Respuesta #3 en: 20 Febrero 2012, 00:39 am »

Puff, por suerte no uso FASM ... todo esto en .data antes de .code:

Código
  1. library urlmon,'urlmon.dll'
  2. import urlmon,\
  3. URLDownloadToFile,'URLDownloadToFileA'
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: urldownloadtofile FASM
« Respuesta #4 en: 20 Febrero 2012, 04:55 am »

estas usando las macros complejas, y no llevan incluidas igualmente el urlmon.dll

Tendras que agregar lo que puso Eternal Idol pero en vez de usar win32ax.inc, simplemente win32a.inc e incluir todo lo demas.


Código
  1. format PE Console
  2. entry start
  3.  
  4. include 'win32a.inc'
  5.  
  6. section '.data' data readable writeable
  7.  
  8.  
  9.        url db 'http://www.google.es/robots.txt',0
  10. src db 'robots.txt',0
  11.  
  12. section '.code' code readable executable
  13. start:
  14. push NULL
  15. push url
  16. push src
  17. push 0
  18. push NULL
  19. call [URLDownloadToFile]
  20.  
  21. push 0
  22. call [ExitProcess]
  23.  
  24.  
  25.  
  26. section '.idata' import data readable writeable
  27.  
  28. library kernel32,'kernel32.dll',\
  29. user32,'user32.dll',\
  30. urlmon,'urlmon.dll'
  31.  
  32. include 'api\kernel32.inc'
  33. include 'api\user32.inc'
  34. import urlmon,\
  35. URLDownloadToFile,'URLDownloadToFileA'
  36.  

una cosa, porque: "c:\\robots.txt"?
el codigo igual no me anduvo tal cual lo posteaste, pero creo que con una barra simple tendria que bastar.

Citar
Insertar Cita
Puff, por suerte no uso FASM ... todo esto en .data antes de .code:
ehem, ehem... proque por suerte?

En fasm se pueden poner los imports donde sea (en .data podrian ir), pero mayoria de las veces, prefieren crear una sección a parte para ellos. A los antivirus les gusta mas asi.

la misma ejecutable pero con una sección sola:
https://www.virustotal.com/file/93a73e35c0ea5015c3c4fc53f33cde3d62eb79c5a3b91bfbe195d1f4888a0faf/analysis/1329711094/
« Última modificación: 20 Febrero 2012, 05:21 am por _Enko » En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.969


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: urldownloadtofile FASM
« Respuesta #5 en: 20 Febrero 2012, 09:01 am »

estas usando las macros complejas, y no llevan incluidas igualmente el urlmon.dll

Tendras que agregar lo que puso Eternal Idol pero en vez de usar win32ax.inc, simplemente win32a.inc e incluir todo lo demas.

ehem, ehem... proque por suerte?

Como si las, al menos dos, cabeceras no fueran suficientes fijate que faltando el library o el import da el mismo error ... ¿Es error al ensamblar o al enlazar?
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
rmdma()

Desconectado Desconectado

Mensajes: 17


mov eax,0x69


Ver Perfil
Re: urldownloadtofile FASM
« Respuesta #6 en: 20 Febrero 2012, 10:11 am »

gracias txavales!

funciona dpm, es una pua lo de urldownloadfile lo tienen muy pipeau la movida es q queria poner una funcion de estas k capan mucho y probar diferentes tipos de encriptacion ya ire posteando si resulta como qiero
En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: urldownloadtofile FASM
« Respuesta #7 en: 20 Febrero 2012, 20:54 pm »

Citar
gracias txavales!
De nada :)


Citar
Como si las, al menos dos, cabeceras no fueran suficientes fijate que faltando el library o el import da el mismo error ... ¿Es error al ensamblar o al enlazar?
Hola, no te entendí muy bien.

Por ahi me explique mal, win32ax.inc en fasm, es un include que trae macros complejas similares a las de masm. No hace falta hacer include de ninguna library ya que las trae incorporadas.

.end es una macro, y tiene esto en win32ax
Citar

macro .end label
{
   entry label

   section '.idata' import data readable writeable

     library kernel32,'KERNEL32.DLL',\
        user32,'USER32.DLL',\
        gdi32,'GDI32.DLL',\
        advapi32,'ADVAPI32.DLL',\
        comctl32,'COMCTL32.DLL',\
        comdlg32,'COMDLG32.DLL',\
        shell32,'SHELL32.DLL',\
        wsock32,'WSOCK32.DLL'

     import_kernel32
     import_user32
     import_gdi32
     import_advapi32
     import_comctl32
     import_comdlg32
     import_shell32
     import_wsock32

     all_api
}

Como ves, hace todos los include que pueda y ya crea la sección de importes. Por eso para usar el código que posteaste, lo que hay que hacer es usar win32a.inc que no tiene las macros complejas.
(win32ax.inc incluye win32a.inc)
Citar
¿Es error al ensamblar o al enlazar?
Seria un error del preprocesador en el caso. (la sección .import se estaria creando dos veces si se usa win32ax. Creo que se le podria dar otro nombre, pero no estoy seguro que sea valido tener dos secciones de importes.)

con "format pe", fasm crea directamente la ejecutable, no se gasta en producir el archivo objeto.
con "format coff", si crea el archivo objeto que luego se puede enlazar por ejemplo con el vc++.

 
« Última modificación: 20 Febrero 2012, 20:55 pm por _Enko » En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.969


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: urldownloadtofile FASM
« Respuesta #8 en: 20 Febrero 2012, 21:11 pm »

Por ahi me explique mal, win32ax.inc en fasm, es un include que trae macros complejas similares a las de masm. No hace falta hacer include de ninguna library ya que las trae incorporadas.

.end es una macro, y tiene esto en win32axComo ves, hace todos los include que pueda y ya crea la sección de importes. Por eso para usar el código que posteaste, lo que hay que hacer es usar win32a.inc que no tiene las macros complejas.
(win32ax.inc incluye win32a.inc)Seria un error del preprocesador en el caso. (la sección .import se estaria creando dos veces si se usa win32ax. Creo que se le podria dar otro nombre, pero no estoy seguro que sea valido tener dos secciones de importes.)

No se queja por eso (es un unresolved el error) y el codigo termina funcionando al poner todo eso ...
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda Fasm
ASM
SLUGER 7 5,700 Último mensaje 31 Mayo 2009, 07:06 am
por YST
Sintaxis FASM « 1 2 »
ASM
ferk93 16 11,376 Último mensaje 9 Julio 2009, 09:57 am
por Erik#
URLDownloadToFile no asincrono
Programación Visual Basic
Lupin 5 5,322 Último mensaje 25 Octubre 2009, 08:15 am
por cobein
FASM o MASM? « 1 2 »
ASM
Riki_89D 12 11,248 Último mensaje 16 Abril 2010, 18:50 pm
por Иōҳ
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines