Hola.... tal vez digan hay un subforo para esto y si... pero aquí me siento más a gusto, además no tenemos que hacer ing. inversa para analizar malware? :P
Espero que no me muevan el post... hasta que el tutorial esté completo :P
Para los me conocen de cerca saben que ahora hago análisis de malware, pero como siempre el tema de malware en VB siempre es pesado, más para los que no programamos en dicho lenguaje.
Bien mi pregunta es esta que hace esta api:
__vbaVarLateMemCallLd
He googleado pero aún no lo tengo claro, aunque creo que no tiene relevancia en el análisis que estoy haciendo, (luego explicaré porque!) desearía saber sobre esta api, ya que para otra oportunidad no tendría problemas.
pd: ya iré documentando lo que encuentre hasta formar un tute :P
Saludos,
Nox.
Por lo que asocio: vbaVarLateMemCallLd = VBA Variable Late Memory Call Load/er
Por lo que recuerdo: Podria usarse para cargar objetos OCX en runtime. Tambien podria ser para cargar/inicializar objetos/clases que estan dentro de un OCX (un OCX puede tener varios objetos/controles)
Si recuerdo algo mas, aviso...
uhm... pues cuando llego ahí... y paso con F8... FLOAT INEXACT RESULT, según leí es "normal" que pase esto con los vb, pero creo que hay algo en el malware que me hace pensar que está hecho a propósito, ya estoy terminando de documentar lo que he visto, cuando lo termine posteo... haber si me hechas un cable Fly! o el que pueda jejeje.
Saludos,
Nox.
Para que el post no sea sumamente largo, documenté lo que había visto en doc.
http://www.mediafire.com/download.php?bcuh53jmurxj2x1
A ver si alguien reconoce algo :D.
pd: el que desea la muestra que me mande un MP o que chifle y se lo mando :P
Saludos,
Nox.
yo quiero una muestra :D gracias
Vaya el curro me tiene sin tiempo, justo cuando iba por la mejor parte, me piden que hagan unas cosas... veré si hoy lo termino, si no, ya mañana lo miraré...
Saludos.
Alguna idea de que hace rtcAnsiValueBstr?
Según lo que vi cuando le pasaba un carácter 41h = 'A'
me devolvía en EAX = 41, pero esta vez el valor ocupa dos bytes como sigue -->
Le pasaron como parámetro 0192h y me devolvió 83h
EAX = [ADDR] = 192h
push eax
call rtcAnsiValueBstr
EAX = 83h
Alguien sabe el por qué?
Saludos,
Nox.
Creo que el Bstr corresponde a algo asi como una cadena UNICODE, que son las usadas internamente por VB.
Normalmente lo usarian para convertir valores ascii en chars y asi poder concatenarlos despues...