[TLB][VB6] Indetectar DllFunctionCall y CopyBytes

Iniciado por Karcrack, 24 Marzo 2010, 00:43 AM

0 Miembros y 1 Visitante están viendo este tema.

tr1n1t1

Cita de: Karcrack en  3 Abril 2010, 01:53 AM


Para solucionarlo en ese parte he usado RtlMoveMemory envez de __vbaCopyBytes...

No creo que haya forma de arreglar eso... Parece ser algo interno del VB...

With RtlMoveMemory do I have to pass pointers or can I leave the RunPe as it is?
Thanks for your work Karcrack

Karcrack

Cita de: tr1n1t1 en 10 Abril 2010, 20:33 PM
With RtlMoveMemory do I have to pass pointers or can I leave the RunPe as it is?
Thanks for your work Karcrack
RtlMoveMemory isn't in this TLB, anyway if you add it, remember to do it as ByRef, then you won't need to change the code.

Pure Ice

Duda, haber si me a quedado claro :silbar::

Me estás diciendo, que modificando la TLB puedo modificar esta API:


Private Declare Sub CopyBytes Lib "MSVBVM60.DLL" Alias "__vbaCopyBytes" (ByVal Size As Long, Dest As Any, Source As Any)

A esto otro por ejemplo:

Private Declare Sub CopyBytes Lib "MSVBVM60.DLL" Alias "Loqueyoquiera" (ByVal Size As Long, Dest As Any, Source As Any)

Es esto así ?

Karcrack

No, no lo has entendido...

Cambias la forma en que queda el API en el ejecutable...En vez de estar como de costumbre lo hace VB las añade en la IAT...

Pure Ice

Cita de: Karcrack en 21 Mayo 2010, 21:17 PM
No, no lo has entendido...

Cambias la forma en que queda el API en el ejecutable...En vez de estar como de costumbre lo hace VB las añade en la IAT...


Es decir, tu añades la TLB , y en el source la dejas tal cual, es decir la api de
costumbre. Pero, en HEX por ejemplo ya no la encontrarás así, sino que será
como tu lo hallas puesto en la TLB.

Ahora sí ?


PD: Gracias  ;D

common26

Alhuien a logrado hacer funcionar Runpe con TLB = copybytes???

Esta es la parte peluda:

For i = 0 To tIMAGE_NT_HEADERS.FileHeader.NumberOfSections - 1

            Copybytes tIMAGE_SECTION_HEADER, bvBuff(tIMAGE_DOS_HEADER.e_lfanew + SIZE_NT_HEADERS + SIZE_IMAGE_SECTION_HEADER * i), Len(tIMAGE_SECTION_HEADER)

            Invoke lMod, tPROCESS_INFORMATION.hProcess, .ImageBase + tIMAGE_SECTION_HEADER.VirtualAddress, VarPtr(bvBuff(tIMAGE_SECTION_HEADER.PointerToRawData)), tIMAGE_SECTION_HEADER.SizeOfRawData, 0

Next i

Use mezcla de copybtes y copymem y nada :(

Ayuda!!!!

Karcrack

Hay un problema con VB6... por lo visto no funciona correctamente con estructuras y APIs definidas en TLB, a ver si durante esta semana saco tiempo y pongo la solucion, simplemente seria sacar el puntero correctamente usando alguna API :P

Saludos :D

common26

Cita de: Karcrack en 20 Junio 2010, 21:43 PM
Hay un problema con VB6... por lo visto no funciona correctamente con estructuras y APIs definidas en TLB, a ver si durante esta semana saco tiempo y pongo la solucion, simplemente seria sacar el puntero correctamente usando alguna API :P

Saludos :D

Ojala puedas... ando encuero con ese API jodiendo :D

Gracias de antemano!!!

<cmm>