Instrucciones de uso de VBKiller
Killer es una herramienta de análisis inverso asistida por VB. En primer lugar, permítame decirle que no puede ayudarlo a descompilar un programa VB en el código fuente de VB. Solo puede hacer que el desensamblaje de un programa VB se parezca más al código VB.
Usado con IDA, puede crear casi todas las estructuras de clases, tablas de métodos, cuerpos de funciones de programas VB y crear estructuras de tablas de métodos; puede identificar el CLSID del COM al que se hace referencia en el programa VB y usar ProgID para nombrarlo; cualquier programa COM (que no sea VB también puede compilar tablas de métodos y cuerpos de funciones, y crear estructuras de tablas de métodos. Estas estructuras se pueden utilizar en el programa VB que se va a analizar. Después de estos procesos, el programa VB a analizar ha formado una serie de clases y métodos muy estandarizados en IDA, y no está lejos de realizar ingeniería inversa en el código fuente.
Cómo usarlo:
Haga clic en el botón Examinar para seleccionar un programa COM, DLL, Exe u ocx. Si no es un programa VB, marque "Programa que no es VB" y haga clic para ver. El cuadro de la izquierda enumera todas las interfaces COM del programa seleccionado. Si también desea ver clases y enumeraciones, puede seleccionar "Mostrar todas las clases excepto las interfaces". Haga clic en cualquier interfaz y todos los métodos de la interfaz se mostrarán a la derecha, incluida la dirección en la tabla de métodos y la dirección real del cuerpo del método. Si desea mostrar los primeros siete métodos básicos, debe seleccionar "Mostrar métodos de interfaces básicas". Si es un programa que no es VB, hay una dirección base de imagen y una dirección base virtual a la derecha. La dirección base de la imagen es la ImageBase del programa y la dirección base virtual es la dirección inicial asignada al espacio de memoria del programa. Probablemente calcule esta dirección de forma predeterminada. Si es incorrecta, debe modificarse manualmente, porque la dirección de la tabla de métodos obtenida por el programa está en el espacio de ejecución y se debe conocer que estas dos direcciones base se convertirán en la dirección en el. archivo estático, por lo que es muy importante y no se puede completar, de lo contrario se reconocerá un error. Haga clic en Generar IDC para generar el archivo IDC correspondiente a la interfaz seleccionada actualmente. Las clases y enumeraciones no pueden generar IDC. Cargue este IDC en IDA y la dirección del método correspondiente se puede identificar y procesar automáticamente. Haga clic en Generar todo para generar archivos IDC para todas las interfaces (póngalos en el mismo archivo). Seleccione "Generar estructura" y use dos botones de generación para generar el script de creación de estructura correspondiente a este COM. Cargue este IDC de estructura en IDA y se generará un lote de estructuras correspondientes en IDA, como por ejemplo: Uno de los programas analizados utiliza operaciones de base de datos. y operaciones de cifrado y descifrado. Generalmente, es necesario cargar los scripts de estructura de ADO y CAPICOM.
VBKiller también tiene una función de escaneo e identificación de COM que aún no se ha completado.
En el mismo directorio, hay varios otros archivos c.
Entre ellos, header.c está incluido en el archivo IDC anterior. Este es un archivo de función pública;
vb.c es una versión modificada de vb.idc que circula en Internet. No ha cambiado mucho. Parece que muchos lugares no funcionan. Este script se puede utilizar para establecer la estructura de clases y la tabla de eventos del programa VB;
vboop.c es un script diseñado específicamente para ayudar a analizar las funciones orientadas a objetos de VB.
El método Do_BasicOOP interno se basa principalmente en la tabla de eventos establecida en vb.c, procesa el cuerpo de la función correspondiente. Si la función no se crea, cree la función, cambie el nombre de la función para que sea coherente con el nombre de la tabla de eventos y cree. cada clase al mismo tiempo. La estructura de la tabla de métodos se analizará más adelante.
ParseAPI se utiliza para procesar funciones internas de VB. Escaneará las referencias cruzadas de todas las funciones especificadas, agregará comentarios repetibles a la función, intentará identificar parámetros y agregará comentarios a cada parámetro. Si el parámetro es un registro, buscará más. La fuente de los datos del registro, con comentarios. Las funciones escaneadas y los comentarios se especifican en el código. Actualmente, la mayoría de las funciones están especificadas. Puede agregar nuevas funciones según sus necesidades.
El método ParseNew se utiliza para escanear todas las referencias cruzadas _vbaNew y _vbaNew2 e intentar identificar el CLSID correspondiente. Si se puede identificar, se modificará al nombre del programa correspondiente para facilitar la visualización. El reconocimiento se implementa de forma integrada. No hay muchos integrados en la actualidad. Puede agregar los suyos propios según sea necesario. El escaneo es, si se encuentra un CLSID no reconocido, el programa escribirá el CLSID en UnKnown.txt en el mismo directorio. Después de analizarlo, puede verificar el archivo. Si se encuentra un CLSID no reconocido, vaya al registro. CLSID, y después de obtener el nombre del programa, agréguelo al lugar correspondiente en el programa.