Autor
|
Tema: Mostrar librerias cargadas en programa (Leído 23,467 veces)
|
Vaagish
Desconectado
Mensajes: 875
|
Hola! Estoy intentando mostrar todas las librerias que carga el ejecutable, pero no logro mostrar el nombre, muestra la direccion.. Que me esta faltando poner?? .386 .model flat, stdcall option casemap:none assume fs: nothing include windows.inc include masm32rt.inc includelib masm32rt.lib ObtenerModulos PROTO .code start: invoke ObtenerModulos inkey "pause" ObtenerModulos proc push 30h pop esi lodsd fs:[esi] mov eax, [eax + 0Ch] lea eax, [eax + 0Ch] NextModule: assume eax: ptr LIST_ENTRY mov eax, [eax].Flink assume eax: nothing mov ebx, [eax + 30h] cmp ebx, 0 je Exit push eax print str$(ebx),13,10 pop eax jmp NextModule Exit: ret ObtenerModulos endp end start
Saludos!!
|
|
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
Bueno, vengo a ayudarte a medias, se lo que hace ese codigo, pero no conozco como funciona Windows, pero he visto papers sobre esto. Simplemente comento porque no se ha que viene todo esto. .ObtenerModulos proc push 30h pop esi lodsd fs:[esi]
No es mejor cargar la direccion directamente? movl %fs:0x30, %eax ; supongo que en intel sera asi mov eax, fs:[30h]
Un saludo.
|
|
|
En línea
|
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
movl %fs:0x30, %eax ; supongo que en intel sera asi mov eax, fs:[30h]
Efectivamente, funciona perfecto en intel.. No es mejor cargar la direccion directamente? Y al parecer, tambien tenes razon.. La verdad es que a mi me queda mucho por aprender de ASM.. y habia entendido el codigo de la primer manera que lo vi.. ahora no entiendo porque encontre esa forma que es mas rebuscada,, supongo, quizas.. porque todos los ejemplos que vi son shellcodes y cosas por el estilo,, quizas sea una forma de "camuflar" la intencion... pero la verdad, tampoco estoy seguro... Gracias cpu2! Saludos!
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
Sera un problema con esas macros, proba con MessageBoxW.
|
|
« Última modificación: 24 Abril 2014, 05:23 am por Eternal Idol »
|
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
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Perfect! Si no me equivoco, el puntero esta en ebx,, no? Mas precisamente en esta linea: mov ebx, [eax + 30h]
Yo intente cambiar el valor por la direccion,, con "[]" que si no me equivoco es como decir "la direccion de" pero no me funciono,, se quedaba colgado Saludos! [Edit] Sera un problema con esas macros, proba con MessageBoxW. Opss.. hubo un cambiazo.. pruebo con eso a ver que panza.. Gracias! Saludos!
|
|
« Última modificación: 24 Abril 2014, 05:31 am por Vaagish »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
Si, me equivoque como dijiste que se veia la direccion y no tengo el MASM32 instalado ahora Igual ya lo probe a mano, con MessageBoxW funciona, ojo que nada te asegura que sean cadenas los Buffer, por eso UNICODE_STRING tiene campos de tamaño. mov eax, fs:[30h] mov eax, [eax + 0Ch] lea eax, [eax + 0Ch] mov eax, [eax] mov ebx, [eax + 30h] invoke MessageBoxW, 0, ebx, ebx, 0
|
|
« Última modificación: 24 Abril 2014, 05:44 am por Eternal Idol »
|
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
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Sera un problema con esas macros, proba con MessageBoxW. Si señor.. ahi si que funciona! invoke MessageBoxW, NULL, ebx, addr Titulo, MB_OK
El titulo sale mocho porque es W, pero no importa.. paso a explicar,, estoy viendo cual es, o son las librerias que inyecta el AV cuando pone un ejecutable en la SandBox,, o cuales le inyecta porque si nomas.. y ahora viendo eso justamente,, veo que me carga la libreria "RocketDock.dll", esto quiere decir que el dock hace su chanchada tambien?? Aparte hay un monton de librerias cargadas.. propio de Win7 quizas?? Saludos! Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje. ojo que nada te asegura que sean cadenas los Buffer, por eso UNICODE_STRING tiene campos de tamaño Habia leido algo de eso si.. entonces puedo tener caracteres extraños sin 0 al final.. nop?
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.969
Israel nunca torturó niños, ni lo volverá a hacer.
|
El titulo sale mocho porque es W, pero no importa.. paso a explicar,, estoy viendo cual es, o son las librerias que inyecta el AV cuando pone un ejecutable en la SandBox,, o cuales le inyecta porque si nomas.. y ahora viendo eso justamente,, veo que me carga la libreria "RocketDock.dll", esto quiere decir que el dock hace su chanchada tambien?? Aparte hay un monton de librerias cargadas.. propio de Win7 quizas?? ¿RocketDock? No tengo eso, tal vez sea un software que instalaste: http://www.file.net/process/rocketdock.dll.htmlFijate con el Dependency Walker cuales tenes enlazadas estaticamente en tu ejecutable y en otras DLLs que se carguen. El subsystem de Windows necesita NTDLL.dll y con alguna funcion (ejemplo MessageBoxW que carga User32.dll y esta varias mas) casi seguro cargas Kernel32.dll y esta a su vez Kernelbase.dll. Habia leido algo de eso si.. entonces puedo tener caracteres extraños sin 0 al final.. nop? El buffer termina en el ultimo caracter valido, despues de eso la memoria corresponde a otra cosa.
|
|
|
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
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
¿RocketDock? No tengo eso, tal vez sea un software que instalaste: Ha,, sii.. es un dock que tengo instalado.. pero no se que hace metiendose en otros procesos.. Fijate con el Dependency Walker cuales tenes enlazadas estaticamente en tu ejecutable y en otras DLLs que se carguen. El subsystem de Windows necesita NTDLL.dll y con alguna funcion (ejemplo MessageBoxW que carga User32.dll y esta varias mas) casi seguro cargas Kernel32.dll y esta a su vez Kernelbase.dll. Es verdad,, estan esas librerias tambien que no tome en cuenta.. Gracias EI! Saludos!
|
|
|
En línea
|
|
|
|
xv0
Desconectado
Mensajes: 1.027
|
Efectivamente, funciona perfecto en intel..
Y al parecer, tambien tenes razon.. La verdad es que a mi me queda mucho por aprender de ASM.. y habia entendido el codigo de la primer manera que lo vi.. ahora no entiendo porque encontre esa forma que es mas rebuscada,, supongo, quizas.. porque todos los ejemplos que vi son shellcodes y cosas por el estilo,, quizas sea una forma de "camuflar" la intencion... pero la verdad, tampoco estoy seguro...
Gracias cpu2! Saludos!
Si, eso esta mas enfocado para las shellcode´s, ya que asi se "juega" mas con otros opcodes y no salta a la vista tan rapido, de poder puedes usar hasta la FPU. Pero simplemente comente, porque no tiene ningun sentido hacer todo lo que te indique antes, es hasta estupido, sin ofender. Un saludo. P.D: Segun estoy viendo, estas enserio con el malware.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Crear un Programa que Registre Librerias
Programación Visual Basic
|
nahueld
|
4
|
2,728
|
5 Mayo 2008, 15:35 pm
por nahueld
|
|
|
imagenes en html cargadas en php
PHP
|
Chazy Chaz
|
2
|
2,586
|
30 Mayo 2012, 03:38 am
por Chazy Chaz
|
|
|
ayuda con DLL cargadas a memoria
.NET (C#, VB.NET, ASP)
|
spiritdead
|
4
|
3,500
|
7 Diciembre 2012, 18:07 pm
por spiritdead
|
|
|
como agregar librerias a un programa .exe creado con c
Programación General
|
Drewermerc
|
1
|
1,940
|
21 Abril 2014, 11:57 am
por eferion
|
|
|
Corta Introducción a SVG. Mostrar Figuras en HTML sin librerías y CiberSeguridad
Desarrollo Web
|
@XSStringManolo
|
0
|
1,488
|
21 Agosto 2019, 01:11 am
por @XSStringManolo
|
|