send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

mPatchFunction - Parchea funciones para saltar a una nueva direccion

  • 0 Respuestas
  • 1492 Vistas

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

Desconectado Karcrack

  • *
  • Underc0der
  • Mensajes: 87
  • Actividad:
    0%
  • Reputación 0
  • Se siente observado ¬¬'
    • Ver Perfil
« en: Junio 16, 2013, 06:30:21 pm »
Código: Visual Basic
  1. Option Explicit
  2.  
  3. '---------------------------------------------------------------------------------------
  4. ' Module    : mPatchFunction
  5. ' Author    : Karcrack
  6. ' Date      : 27/11/2011
  7. ' Purpose   : Patch function with JMP to new addr
  8. '---------------------------------------------------------------------------------------
  9.  
  10. 'NTDLL
  11. Private Declare Function NtWriteVirtualMemory Lib "NTDLL" (ByVal hProcess As Long, ByRef lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, ByRef lpNumberOfBytesWritten As Long) As Long
  12.  
  13. Private Const CURRENT_PROCESS = (-1)
  14.  
  15. Public Function PatchFunction(ByVal pFnc As Long, ByVal pNewFnc As Long, Optional ByVal hProc As Long = CURRENT_PROCESS) As Boolean
  16.     Dim cCode   As Currency
  17.    
  18.     cCode = &HB8& * (0.0001@)                   'mov EAX, imm32
  19.    cCode = cCode + (pNewFnc * 0.0256@)         'imm32
  20.    cCode = cCode + (&HE0FF& * 109951162.7776@) 'jmp EAX
  21.    
  22.     PatchFunction = NtWriteVirtualMemory(hProc, ByVal pFnc&, cCode, &H8, 0&)
  23. End Function

Ejemplo de uso:
Código: Visual Basic
  1. Sub Main()
  2.     Dim pMessageBoxW    As Long
  3.    
  4.     pMessageBoxW = GetProcAddress(LoadLibrary("USER32"), "MessageBoxW")
  5.    
  6.     If PatchFunction(AddressOf MessageBoxW__, pMessageBoxW) Then
  7.         If MessageBoxW__(0, "Did you like the function?", "Karcrack", vbYesNo) = vbYes Then
  8.             Call MessageBoxW__(0, "Glad you liked it", "Karcrack", 0)
  9.         Else
  10.             Call MessageBoxW__(0, "F**k you bastard xD", "Karcrack", 0)
  11.         End If
  12.     End If
  13. End Sub
  14.  
  15. Public Function MessageBoxW__(ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
  16.     'JMP &MessageBoxW@USER32
  17. End Function
I code for $$$.

(PGP ID 0xCC050E77)
ASM, C, C++, VB6... skilled [malware] developer

 

¿Te gustó el post? COMPARTILO!



Otra Forma Para Ingresar Solo Numeros

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1267
Último mensaje Julio 26, 2010, 11:16:54 am
por ANTRAX
Funcion para crear letras en 3D con colores vivos.

Iniciado por 79137913

Respuestas: 1
Vistas: 3373
Último mensaje Febrero 02, 2013, 03:23:30 pm
por alexander1712
Como hacer un boton en Flash para VB6

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1255
Último mensaje Julio 26, 2010, 12:32:48 pm
por ANTRAX
.bas para control de ODBC de bases de datos

Iniciado por ANTRAX

Respuestas: 0
Vistas: 1226
Último mensaje Julio 26, 2010, 12:41:20 pm
por ANTRAX
Actualizador para tus programa [modulo]

Iniciado por alexander1712

Respuestas: 3
Vistas: 2724
Último mensaje Julio 14, 2016, 10:16:11 pm
por noxonsoftwares