Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Karcrack en 8 Mayo 2010, 12:32 pm



Título: [SRC] Llamando punteros desde VB6 :D
Publicado por: Karcrack en 8 Mayo 2010, 12:32 pm
Aqui os traigo una forma de llamar punteros en VB6 :o Si, si! Sin usar ningun API externa al VB, ni trucos con ASM :o :o :o

Código
  1. Option Explicit
  2.  
  3. Private Type SUBROUTINE
  4.    lNull           As Long '// Must be 0
  5.    lPtr            As Long
  6. End Type
  7.  
  8. Private Declare Function GoSubReturn Lib "MSVBVM60" Alias "__vbaGosubReturn" (ByRef lpSubRoutine As Long) As Long
  9.  
  10. '---------------------------------------------------------------------------------------
  11. ' Procedure : GoToPtr
  12. ' Author    : Karcrack
  13. ' Date      : 08/05/2010
  14. ' Purpose   : GoTo a pointer
  15. ' Warning   : It's not a JMP, is a GoTo, so the execution of the program won't continue
  16. '           where you made the GoTo...
  17. '---------------------------------------------------------------------------------------
  18. '
  19. Public Sub GoToPtr(ByVal lPtr As Long)
  20.    Dim tSubRoutine As SUBROUTINE
  21.  
  22.    tSubRoutine.lPtr = lPtr
  23.    Call GoSubReturn(VarPtr(tSubRoutine))
  24. End Sub

Hay que tener mucho cuidado a que puntero llamamos, porque debido a que el Stack se deforma para hacer el salto no se puede volver al lugar desde el cual se llamo a la funcion... Mucho cuidado con esto

Es muy util para llamar a ShellCodes o para marear a la heuristica/proactiva de los AVs, yo por ejemplo lo estoy utilizando en un crypter que he hecho para el PoisonIvy ;-) ;-) (FUD Por cierto >:D)

Asi que llameis al puntero que llameis teneis que acabar la ejecucion allí :-\ Estoy intentando arreglarlo, pero me parece que va a estar jodido usando este metodo :laugh: :xD

Aqui teneis un ejemplo:
Código
  1. Sub Main()
  2.    Call GoToPtr(gP(AddressOf RMain))
  3. End Sub
  4.  
  5. Function gP(ByVal lPtr As Long) As Long
  6.    gP = lPtr
  7. End Function
  8.  
  9. Sub RMain()
  10.    MsgBox "HOLA"
  11.    End
  12. End Sub

Saludos :D

Primero posteado en:
Citar
Calling Pointers in VB6 (http://www.advancevb.com.ar/?p=519)


Título: Re: [SRC] Llamando punteros desde VB6 :D
Publicado por: Psyke1 en 8 Mayo 2010, 13:49 pm
JAJAJAJA :laugh:
No se que nos ha dao a to2 con los punteros ultimamente... :xD
Mu bueno, gracias por el aporte Karcrack!  ;-) ;-)


Título: Re: [SRC] Llamando punteros desde VB6 :D
Publicado por: ntaryl en 10 Mayo 2010, 22:03 pm
vey  nice  bro   
Congratulation