Estoy haciendo reversing a un malware (Worm:Win32/SillyShareCopy.E) que está escrito en Visual Basic pero, como ya tiene sus años, me está dando problemillas el tema del P-Code.
Estuve mirando en internet y encontré el clásico VB Decompiler, y me hice con la versión Pro por métodos poco ortodoxos .
La cosa es que tras deofuscar, leer y documentar el código resultante en buena manera, sigo teniendo algunas dudas en relación a algunas instrucciones que he visto (sin contar variables referenciadas sin inicializar por aquí y por allá) y, como la documentación escasea, he venido hasta estas tierras lejanas de internet en busca de sabiduría de profesionales (o gente que sepa algo más que yo )
La primera duda que tengo es que no sé exactamente qué es Me.Global.App
Mi teoría es que Me representa el contexto actual del programa (algo así como el this de javascript), que Global es una subclase y que App representa de alguna manera la aplicación, la venana o al menos algo relacionado.
(Perdón si meto la pata, llevo la POO bastante floja )
Aquí dejo un pequeño extracto de código y un enlace a PasteBin con la función entera:
Código:
loc_404082: startup_path = funct1(0) & "\" ' Get the Startup folder path
loc_4040A2: ao_path = startup_path & "Adobe Online" & ".com" 'Variant. Name of the first copy
loc_4040BE: au_path = startup_path & "Adobe update" & ".com" 'Variant. Name of the second copy
loc_4040D1: var_118 = Me.Global.App ' <----- AQUI
loc_4040E1: original_name = CVar(App.EXEName) 'String
loc_4040E7: Thumbs .db.address_80000210
loc_4040F4: copy1_name = "Adobe Online"
loc_4040FD: Thumbs .db.address_80000210
PasteBin: https://pastebin.com/iWZ1cpD2
Mi segunda duda es qué hacen un par de opcodes, que son:
- ILdRfDarg
- FStVar
¡Gracias por adelantado! Por favor comentadme también las cosas que no os cuadren, estamos para aprender .
Citar
Un saludo, Coffee