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 - Karcrack

#1241
Código (vb) [Seleccionar]
Option Explicit

'KERNEL32
Private Declare Function lstrcpyW Lib "KERNEL32" (ByVal lpString1 As Long, ByVal lpString2 As Long) As Long
'NTDLL
Private Declare Function RtlGetCurrentPeb Lib "NTDLL" () As Long
'MSVBVM60
Private Declare Sub GetMem4 Lib "MSVBVM60" (ByVal Addr As Long, ByRef RetVal As Long)

Public Enum STRING_TYPE
   CurrentDirectoryPath = &H28
   DllPath = &H34
   ImagePathName = &H3C
   CommandLine = &H44
   WindowTitle = &H74
   DesktopName = &H7C
   ShellInfo = &H80
   RuntimeData = &H84
End Enum

'---------------------------------------------------------------------------------------
' Procedure : GetUPPString
' Author    : Karcrack
' Date      : 24/09/2009
' Purpose   : Get strings from PEB.RTL_USER_PROCESS_PARAMETERS
'---------------------------------------------------------------------------------------
'
Public Sub GetUPPString(ByRef sRet As String, ByVal lType As STRING_TYPE)
   Dim lUPP        As Long         'RTL_USER_PROCESS_PARAMETERS
   Dim lAddr       As Long         'RTL_USER_PROCESS_PARAMETERS.X
   
   Call GetMem4(RtlGetCurrentPeb + &H10, lUPP)
   Call GetMem4(lUPP + lType, lAddr)
   Call lstrcpyW(StrPtr(sRet), lAddr)
End Sub


Ejemplo de uso:
Código (vb) [Seleccionar]
Sub Main()
   Dim sStr        As String * 260
   
   Call GetUPPString(sStr, ImagePathName)
   
   MsgBox "MiRuta:" & vbCrLf & sStr
End Sub


Minimalista al maximo ;D

Cualquier duda preguntad  ;)
#1242
Cita de: 50l3r en 24 Septiembre 2009, 10:00 AM
a qu te refieres con indentacion
Esto:
Sub Main
     x
     Do
          y
     Loop
End Sub

Envez de esto...
Sub Main
x
Do
y
Loop
End Sub


Usando Tabulaciones claro... yo he usado espacios para el ejemplo...
#1243
ASM / Re: [HELP] Block API LoadLibrary
20 Septiembre 2009, 13:46 PM
La primera norma del API Hooking is "GO NATIVE!"... asi que envez de LoadLibraryW deberias hookear LdrLoadDLL... Aunque creo que tambien seria conveniente Hookear LdrGetModuleHandleEx ;)

Cita de: Eternal Idol en 20 Septiembre 2009, 10:10 AM
PD. Me olvidaba, el codigo de esta manera es inseguro ya que hace dos mov's y no esta sincronizado. Con lock cmpxchg8b podes escribir 8 bytes atomicamente.
Podrias poner como se utilizaria esa instruccion EI? :D
#1244
Tal vez cambiando la fuente del TextBox...
#1245
Código (vb) [Seleccionar]
Option Explicit
'USER32
Private Declare Function CallWindowProcA Lib "USER32" (ByVal lPtr As Long, Optional ByVal Param1 As Long = 0, Optional ByVal Param2 As Long = 0, Optional ByVal Param3 As Long = 0, Optional ByVal Param4 As Long = 0) As Long

Private Const sThunk        As String = "8B7C24048B4C24088B54240CE8000000005D83ED118A1A885D1EC0<OPCODE>39FFFF42803A007404E2EEEB068B54240CEBF6C3"

'---------------------------------------------------------------------------------------
' Procedure : CryptIt
' Author    : Karcrack
' Date      : 19/09/2009
' Purpose   : Encrypt Using ROL/ROR operands...
' NOTES     : Now FULL ASM, to make it QUICKEST possible!
'             Now PASSWORD compatible
'             Fixed FULL rotation...
'---------------------------------------------------------------------------------------
'
Public Sub CryptIt(ByRef bvData() As Byte, ByRef bvPass() As Byte, Optional ByVal bDecrypt As Boolean = False, Optional ByVal bPreventFULL As Boolean = True)
   Dim i                   As Long
   Dim sASM                As String
   Dim bvASM(&HFF)         As Byte
 
   If bPreventFULL = True Then
       'Prevent FULL rotation...
       For i = LBound(bvPass) To UBound(bvPass)
           If Not (bvPass(i) Mod 8) Then bvPass(i) = bvPass(i) + 1
       Next i
   End If
 
   sASM = Replace$(sThunk, "<OPCODE>", IIf((bDecrypt = False), "4C", "44"))
 
   Call OPCODES(sASM, bvASM)

   Call CallWindowProcA(VarPtr(bvASM(0)), VarPtr(bvData(0)), UBound(bvData) + 1, VarPtr(bvPass(0)))
End Sub

Private Sub OPCODES(ByVal sThunk As String, ByRef bvTmp() As Byte)
   Dim i               As Long

   For i = 0 To Len(sThunk) - 1 Step 2
       bvTmp((i / 2)) = CByte("&H" & Mid$(sThunk, i + 1, 2))
   Next i
End Sub


Ejemplo de uso:
Código (vb) [Seleccionar]
   Dim bvPass()        As Byte
   Dim bvData()        As Byte
 
   bvPass = StrConv("YEEEAH!" & Chr$(0), vbFromUnicode)
   bvData = StrConv("KARCRACK FTW! =D", vbFromUnicode)
 
   Call CryptIt(bvData, bvPass)
 
   MsgBox StrConv(bvData, vbUnicode)
 
   Call CryptIt(bvData, bvPass, True)
   MsgBox StrConv(bvData, vbUnicode)


El password siempre ha de acabar en chr(0)!!

Saludos ;D
#1246
Bueno, siempre se puede hacer un LoadLibrarary&GetProcAddress para saber si existe... y sino pues devuelves que es inferior a W$ NT
#1247
Cita de: 50l3r en 18 Septiembre 2009, 23:28 PM
es el csocketmaster del cliente lo unico que puedo quitar, y poner winsock
No, estoy hablando del Server...
No lo he mirado, pero el Server no tenia dos clases? Una del Keylogger, y otra del CSM?
#1248
Cita de: 50l3r en 18 Septiembre 2009, 23:23 PM
ok, hombre no tiene pocas funciones  :rolleyes: tiene unas cuantas

el dataarrival del server esta petadisimo
No uses tantos modulos de clases... o metelos todos juntitos...
#1249
Correcto, ese es 'ShyGuy', un tio vergonzoso :xD
Mas info:
http://es.wikipedia.org/wiki/Shy_Guy



Para la proxima hay que añadir MultiConexion y algunas funciones nuevas eh?

PD: Hacker_Zero, modifique el tamaño de la imagen...
#1250
Un buen cambio ;)

Te lo añado al recopilatorio...

128KB siguen siendo demasiados.... :P