Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - ~~

#401
Programación Visual Basic / Re: Crypter
14 Enero 2008, 21:00 PM
Pues muy bien no has buscado, por q te prometo q se a tratado  :P Pero weno, te explico un poco:

Lo primero es q te leas esto de arriba a abajo (te recomiendo q tomes anotaciones):
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.doc

Si el link no te va prueva este y dale a agree y ya te bajas el doc:
http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx

Ese doc contiene todo lo que necesitas saber sobre el PE.

Una vez te lo hallas leido bien (insisto en que es fundamental leerselo todo!!!) ya puedes empezar a codear ^^ Pero antes tienes que elegir el metodo con el que quieres hacer tu cripter, yo te recomiendo el siguiente:

  • Encriptas con cualkier funcion el archivo deseado, te recomiendo q si no eres muy weno en asm no hagas una funcion muy dificil, q luego te va a tocar pasarla a asm. Claro está q no puedes cifrar todo el archivo ahí a lo loco tienes q respetar el PE, q si no te cargas el archivo, ah! y te recomiendo que no encriptes la sección .resource q si no te cargas el icono, aunke si no te kieres complicar encriptala tb ;)

  • Ahora tienes dos opciones, añades una nueva sección al ejecutable o amplias el tamaño de la última y en el hueco q te hagas añades unos opcodes q se encarguen de descifrar el archivo en memoria, esto es lo q tienes q hacer en asm. (tb pudes meter los opcodes en algun hueco libre dl ejecutable, aunke lo primero es mas generico)

  • Cambias el EntryPoint (y claro está, todos lo datos necesarios para añadir/ampliar la seccio xD) para q apunte a tus opcodes y listo


    Para conocer mas metodos googlea y busca por el foro (incluido el subforo de troyanos y virus)  q esto ya lo e explicado varias veces... cuando empieces a codear pregunta dudas

    Salu2

    EDITO - Se me olvidaba, tras los opcodes n puede faltar un jmp al OEP xD
#402
Programación Visual Basic / Re: Crypter
14 Enero 2008, 16:49 PM
Anda que no se habrá hablado esto por el foro, es mas unos pocos posts mas abajo tienes la misma pregunta:
https://foro.elhacker.net/index.php/topic,195508.0.html

Resumiendo y para q les valga a los q tengan la misma duda, lo primero es conocer BIEN el PE, si no lo conoces al dedillo no vas a ninguna parte y luego hay varios metodos, mediante inyeccion, poniendo en el archivo unos opcodes q desencripten en memoria.... pero lo mas importante es buscar, q ya se ha hablado muuuuuucho
#403
Es lo mismo q te acabo de decir, pero weno... si kieres automatizar un poco el proceso inforate sobre joiners, en la ezine insecurity numero 3 hay un articulo mio al respecto, leetelo:
http://insecurity.yethost.com/category/e-zine-insecurity/
#404
Lo q pretendes es compilarlo? o usar las funciones de otro ejecutable desde el tulllo?

A ver, si kieres compilarlo no puedes en VB. Tendrias q abrir el otro ejecutable en binario , añadirlo al final del tullo y luego volcar esos datos en un archivo nuevo, tipo joiner ;)
#405
Se refieren a q funcionan como formularios en cuanto a su capacidad para contener otros objetos  :P
#406
Ya para eso aprende vb net q es el futuro (y lo es por q a ms le da la gana basicamente..) aunke si kieres aprender un leguaje bueno estudia c, q tampoco es tan complicado..
#407
Utiliza una dll
#408
CitarExacto y yo ahora tengo un proceso persistente aca que lo cierro y se abre todo porque les iba a mostrar el code pero luego quedaban ciegos...

Freeze, sabemos q programas mal, pero hasta el punto de dejarnos ciegos  :xD :xD :xD no, es broma ;) ;) . Hacer un proceso inmortal no tiene mucho misterio, tenemos varias opciones:

- Hacer un vigia, q lo mas elegante es inyectarnos en el explorer por ejemplo y comprovar con mutex si el ejecutable está funcionando. Dejo un ejemplo mio en C, q paso de hacer estas cosas en VB, q es muy complicado:
https://foro.elhacker.net/index.php/topic,186943.0.html

- Renombrar el proceso

- O lo q ha dicho Tughack.

Citarsaludos amigos, bueno disculpen mi interrupcion, mi ignorancia, y el fastidios!xD pero bueno, me podrian explcar algito de como hacerlo, osea como aplicarselo a algun form de VB6, que veo que es algo interesante, y tengo ganas de aprender!.
El metodo que posteo TugHack eso es lo que se usa? y me podrian dar un ejemplito si pueden! undecided

Salu2's! 8)

Google + vbAppTaskManager =

'Ejemplo para usarlas:
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    'Sólo cerrar si es un mensaje de windows
    Select Case UnloadMode
    Case vbFormCode, vbAppTaskManager, vbAppWindows
        'ok, cerrar
    Case Else
        MsgBox "No se permite cerrar la aplicación.", vbInformation, "Mensajes"
        Cancel = True
        WindowState = vbMinimized
    End Select
End Sub


Y no se me ocurren mas metodos ahora mismo...
Salu2
#409
Busca sobre MDI forms ;)
#410
PIPES!!!!!! ejemplo de la api guide:

Código (vb) [Seleccionar]
'Redirects output from console program to textbox.
'Requires two textboxes and one command button.
'Set MultiLine property of Text2 to true.
'
'Original bcx version of this program was made by
' dl <dl@tks.cjb.net>
'VB port was made by Jernej Simoncic <jernej@isg.si>
'Visit Jernejs site at http://www2.arnes.si/~sopjsimo/
'
'Note: don't run plain DOS programs with this example
'under Windows 95,98 and ME, as the program freezes when
'execution of program is finnished.

Option Explicit
Private Declare Function CreatePipe Lib "kernel32" (phReadPipe As Long, phWritePipe As Long, lpPipeAttributes As SECURITY_ATTRIBUTES, ByVal nSize As Long) As Long
Private Declare Sub GetStartupInfo Lib "kernel32" Alias "GetStartupInfoA" (lpStartupInfo As STARTUPINFO)
Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As Any, lpThreadAttributes As Any, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As Any) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Type SECURITY_ATTRIBUTES
  nLength As Long
  lpSecurityDescriptor As Long
  bInheritHandle As Long
End Type

Private Type PROCESS_INFORMATION
  hProcess As Long
  hThread As Long
  dwProcessId As Long
  dwThreadId As Long
End Type

Private Type STARTUPINFO
  cb As Long
  lpReserved As Long
  lpDesktop As Long
  lpTitle As Long
  dwX As Long
  dwY As Long
  dwXSize As Long
  dwYSize As Long
  dwXCountChars As Long
  dwYCountChars As Long
  dwFillAttribute As Long
  dwFlags As Long
  wShowWindow As Integer
  cbReserved2 As Integer
  lpReserved2 As Byte
  hStdInput As Long
  hStdOutput As Long
  hStdError As Long
End Type

Private Type OVERLAPPED
    ternal As Long
    ternalHigh As Long
    offset As Long
    OffsetHigh As Long
    hEvent As Long
End Type

Private Const STARTF_USESHOWWINDOW = &H1
Private Const STARTF_USESTDHANDLES = &H100
Private Const SW_HIDE = 0
Private Const EM_SETSEL = &HB1
Private Const EM_REPLACESEL = &HC2

Private Sub Command1_Click()
  Command1.Enabled = False
  Redirect Text1.Text, Text2
  Command1.Enabled = True
End Sub
Private Sub Form_Load()
    Text1.Text = "ping"
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  If Command1.Enabled = False Then Cancel = True
End Sub

Sub Redirect(cmdLine As String, objTarget As Object)
  Dim i%, t$
  Dim pa As SECURITY_ATTRIBUTES
  Dim pra As SECURITY_ATTRIBUTES
  Dim tra As SECURITY_ATTRIBUTES
  Dim pi As PROCESS_INFORMATION
  Dim sui As STARTUPINFO
  Dim hRead As Long
  Dim hWrite As Long
  Dim bRead As Long
  Dim lpBuffer(1024) As Byte
  pa.nLength = Len(pa)
  pa.lpSecurityDescriptor = 0
  pa.bInheritHandle = True
 
  pra.nLength = Len(pra)
  tra.nLength = Len(tra)

  If CreatePipe(hRead, hWrite, pa, 0) <> 0 Then
    sui.cb = Len(sui)
    GetStartupInfo sui
    sui.hStdOutput = hWrite
    sui.hStdError = hWrite
    sui.dwFlags = STARTF_USESHOWWINDOW Or STARTF_USESTDHANDLES
    sui.wShowWindow = SW_HIDE
    If CreateProcess(vbNullString, cmdLine, pra, tra, True, 0, Null, vbNullString, sui, pi) <> 0 Then
      SetWindowText objTarget.hwnd, ""
      Do
        Erase lpBuffer()
        If ReadFile(hRead, lpBuffer(0), 1023, bRead, ByVal 0&) Then
          SendMessage objTarget.hwnd, EM_SETSEL, -1, 0
          SendMessage objTarget.hwnd, EM_REPLACESEL, False, lpBuffer(0)
          DoEvents
        Else
          CloseHandle pi.hThread
          CloseHandle pi.hProcess
          Exit Do
        End If
        CloseHandle hWrite
      Loop
      CloseHandle hRead
    End If
  End If
End Sub


Por el foro de C dejé un ejemplo mio (en c claro está) pero puedes traducirlo :P