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
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Evitar mensajes de error
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Evitar mensajes de error  (Leído 4,629 veces)
nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Evitar mensajes de error
« en: 27 Julio 2007, 17:12 pm »

Me gustaría saber si es posible evitar los mensajes de error por falta de archivos en VB6.0

No me refiero a evitar internamente los errores del programa usando por ejemplo "On error ...", me refiero a evitar el mensaje de error k salta si faltan controles ocx que usa nuestro programa, o la librería indispensable en VB6.0 que no me acuerdo como se llamaba.

Lo k me gustaría es k en caso de error se saliera y punto sin mostrar nada...es por un troyano k estoy haciendo, si a la victima le falta algun componente mejor k no salga un error (aunke no funcione el troyano) k k le aparezca un mensaje :-\

saludos ;)


En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
ActiveSheet


Desconectado Desconectado

Mensajes: 389


Feeling Jazz


Ver Perfil WWW
Re: Evitar mensajes de error
« Respuesta #1 en: 27 Julio 2007, 18:42 pm »

Por que no simplemente Bineas la libreria que utiliza


En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Evitar mensajes de error
« Respuesta #2 en: 27 Julio 2007, 23:56 pm »

El problema es que las librerías las carga el programa antes de llegar al OEP, para entenderlo: antes de ejecutar tu código fuente.
Esa información, no me quiero meter mucho en el tema, está guardada en el PE header y el programa carga las librerías que necesite y además tiene puestas ahí las que necesita..
Por ej. en el caso de VB necesita la MSVBVM60.dll y la carga lógicamente antes de llegar al OEP.

Me parece un tema interesante...

Una cosa que se me ocurre que puedes hacer y te funcionará es modificar la IMAGE IMPORT DESCRIPTOR (para que entiendas esta zona a grandes rasgos: dice qué librerías se van a cargar al comienzo del programa), y dejar lo indispensable para que funcione y después a partir del OEP, pues cargar las otras librerías con LoadLibrary y ya sabes si están o no.
Con esto tienes un problema si quieres hacerlo en VB: que VB para funcionar necesita obligatoriamente su librería: MSVBM60.dll y por este motivo no te dejará hacer nada sin ella. Modificando un programa en VB con ensamblador yo creo (sería cuestión de intentarlo) que sí sabría hacer lo que dices. De todos modos me surge la duda de si por ejemplo quito la librería de VB, si luego al hacer LoadLibrary se cargarán correctamente todas sus funciones con las direcciones correctas... no sé tal vez tenga su complicación.
Si sabes ensamblador te puedo orientar...

PD. Esto q acabo de explicar es mi idea, tal vez he pasado por alto algo elemental... quién sabe...

Un saludo
« Última modificación: 28 Julio 2007, 00:01 am por karmany » En línea

nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: Evitar mensajes de error
« Respuesta #3 en: 28 Julio 2007, 15:58 pm »

Weno, en el caso de la librería MSVBVM60.dll puede que sea más dificil, pero la verdad a mi me importaría más k faltaran componentes OCX, es bastante común...

Ya me imaginaba que para MSVBVM60.dll se necesitaría añadir algo en ensamblador, pork sin esa librería el programa no se carga. Lo k dices parece buena idea pero la verdad no se como hacerlo...sería lo mismo para evitar errorespor falta de componentes OCX??? No me importa k el programa no funcione, solo k en caso de faltar alguna librería no de un mensaje de error.

Yo a veces lo k hago es crear un archivo SFX que descomprime el ejecutable y en caso de no existir alguna librería, la copia, lo malo es k se añade el peso de las librerías al programa...

Saludos ;)
En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Evitar mensajes de error
« Respuesta #4 en: 29 Julio 2007, 19:19 pm »

Estoy echando un vistazo...

Acabo de comprobar que carga los OCX (o por lo menos en mi caso) después de llegar al OEP.
El mensaje que sale es un MessageBeep..
Voy a mirarlo bien y a ver si se pudiera hacer desde VB, para no modificarlo con ensamblador..

Un saludo
En línea

karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Evitar mensajes de error
« Respuesta #5 en: 29 Julio 2007, 22:28 pm »

He encontrado esta forma para los OCX.
Yo lo he hecho como ejemplo simple para saber si el OCX está en el directorio del programa. Tú ya lo haces a tu manera..

Código:
Private Declare Sub ExitProcess Lib "kernel32" (ByVal uExitCode As Long)
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long

Private Sub Form_Initialize()
 Dim archivo As String
 archivo = "C:\VBbotones.ocx"
 If Dir(archivo) = "" Then
    MsgBox "El ocx no existe y ahora va a finalizar el programa"
    ExitProcess GetExitCodeProcess(GetCurrentProcess, 0)
 End If
End Sub

Espero te sirva
En línea

wACtOr


Desconectado Desconectado

Mensajes: 461


Premio finalista diseño web elhacker.net


Ver Perfil
Re: Evitar mensajes de error
« Respuesta #6 en: 29 Julio 2007, 22:38 pm »

pero el ejemplo que as puesto lo que hace es cargar el codigo fuente y comprobar si existe, pero si no existe esa libreria, el codgio no se va a ejecutar, con lo que estamos en las mismas. nhaalclkiemr , si lo quieres solo para el control winsock, te paso los modulos csocketmaster, que reemplazan el control mswinsk.ocx, con lo que dejarias de tener esa dependecia con ese ocx. creo, que alguien me corrija si estoy ekivokado, que cualquier ocx puede ser reemplazada con llamadas a la API, como es el caso del csocketmaster.
En línea

d(-_-)b


Desconectado Desconectado

Mensajes: 1.331



Ver Perfil WWW
Re: Evitar mensajes de error
« Respuesta #7 en: 29 Julio 2007, 22:57 pm »

esacto gustamente eso, es mejor utilizar el csocketmaster, para no tener que depender del winsock

Saludos...
En línea

Max 400; caracteres restantes: 366
nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Re: Evitar mensajes de error
« Respuesta #8 en: 29 Julio 2007, 23:02 pm »

Nunca usé eso del csocketmaster. El funcionamiento es similar al control winsock???
En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
karmany
Colaborador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Evitar mensajes de error
« Respuesta #9 en: 29 Julio 2007, 23:06 pm »

Yo he hecho ese ejemplo porque nhaalclkiemr dijo al principio:
"Lo k me gustaría es k en caso de error se saliera y punto sin mostrar nada"

Efectivamente, como dices wACtOr, también se puede emular ese ocx. Además hay muchos código fuente de ocx que puedes incorporar. Estoy de acuerdo en que si se puede emular el ocx mejor que mejor, pero vamos, yo le entendí que si no existe el ocx que el programa finalizara.

un saludo
 
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines