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

#681
Revisa tu definicion de OFFSET, veras que no se puede quitar...

Lo que tu quieres hacer es eliminar la firma que han puesto los AntiVirus en él. Y lo mejor que puedes hacer es leer esto:
http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_asi_funcionan_los_crypters_encriptando_malware_a_mano-t262806.0.html
#682
Muy interesante, gran trabajo :D

No entiendo mucho de Java, pero la idea es muy interesante ;)

PD: Doy por hecho que tu eres tambien NocturnuX...
#683
Private Declare Sub CopyBytes Lib "MSVBVM60" Alias "__vbaCopyBytes" (ByVal Size As Long, Dest As Any, Source As Any)
#684
Pobre niño pronto descubrira que Mozilla le estafo... le dio 2.000 cochinos € por una vulnerabilidad que seguro habria podido vender a cualquier juanker ruso por 50.000 € :laugh: :laugh:
#685
Existen diversas formas, algunas mas complicadas que otras, las mas complicadas son siempre mas efectivas...
Aqui te las enumero:

  • Hookear las APIs de Winsock en el proceso del MSN
  • Interceptar OutputDebugString, mucho mas simple, aunque no tan compatible con todas las versiones
  • Subclassificar cualqueir entrada de teclado con WH_KEYBOARD_LL y filtrar segun el ClassName de la ventana en que se presionan (este caso solo la del MSN)

Link de interes:
http://foro.elhacker.net/programacion_vb/thebug_src-t228183.0.html;msg1086147


@_katze_:No es posible subclassificar las ventanas del MSN ya que estan protegidas :)
#686
Simplemente has de hacer un bucle infinito (While True) e ir comprobando si el numero actual es mayor que el guardado...

Aqui tienes:
Código (Python) [Seleccionar]
max = 0
while True:
n = int(raw_input("Dame un numero positivo:"))
if (n > max):
max = n
if (n < 0):
break;

print "Numero negativo."
print "El numero maximo fue:",max
print "Adios"
#687
Código (python) [Seleccionar]
while True:
x = int(raw_input("Dame un numero:"))
if (x < 0):
break;
print x
#688
Scripting / Re: Valores incorrectos [python]
21 Octubre 2010, 17:49 PM
Lo hice el año pasado para el instituto.
Código (python) [Seleccionar]
# coding: utf-8
# Obtiene el desglose en billetes y monedas de una cantidad de Euros

# Creamos y obtenemos las variables
iMoney = round(float(raw_input("Dame una cantidad de Euros con 2 decimales:")),2)

# Recorremos la cantidad de posibles billetes o monedas
for nCantidad in [500,200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.10,0.05,0.02,0.01]:
if (iMoney // nCantidad != 0):
if nCantidad >= 5: sNombre = "billete(s)"
if nCantidad < 5: sNombre = "moneda(s)"
print "%d %s de %.2f Euros" % (iMoney // nCantidad, sNombre, nCantidad)
iMoney -= (iMoney // nCantidad * nCantidad)
#689
Una lectura muy recomendada :)
Ayuda a expandir tus horizontes >:D :xD
#690
Es una optimizacion de este codigo:
http://foro.elhacker.net/programacion_vb/newmapiobfuscation_ofuscar_strings_de_las_apis_no_callapibyname-t265942.0.html

Código (vb) [Seleccionar]
'---------------------------------------------------------------------------------------
' Module    : mAPIScramble
' Author    : Karcrack
' Now       : 20/10/2010 22:52
' Purpose   : Obfuscate API Declaration in VB6
' History   : 20/10/2010 First cut .........................................................
'---------------------------------------------------------------------------------------

Option Explicit

'KERNEL32
Private Declare Function WriteProcessMemory Lib "KERNEL32" (ByVal hProcess As Long, ByRef lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, ByRef lpNumberOfBytesWritten As Long) As Long

Public Function UnScrambleAPI(ByVal sLibName As String, ByVal sFuncName As String) As Boolean
   Dim pBaseAddress    As Long
   Dim pVB5            As Long
   Dim pProjectInfo    As Long
   Dim pExtTable       As Long
   Dim pLibraryName    As Long
   Dim pFunctionName   As Long
   Dim iExtCount       As Long
   Dim iIndex          As Long
   
   'Do NOT run it on the IDE
   If App.LogMode = 0 Then Debug.Assert (0 = 1): Exit Function
   
   pBaseAddress = App.hInstance
   pVB5 = ReadDWORD(pBaseAddress + ReadDWORD(pBaseAddress + ReadDWORD(pBaseAddress + &H3C) + &H28) + 1)
   pProjectInfo = ReadDWORD(pVB5 + &H30)
   pExtTable = ReadDWORD(pProjectInfo + &H234)
   iExtCount = ReadDWORD(pProjectInfo + &H238)
   
   For iIndex = 0 To iExtCount - 1
       If ReadDWORD(pExtTable) <> 6 Then
           pLibraryName = ReadDWORD(ReadDWORD(pExtTable + &H4) + &H0)
           pFunctionName = ReadDWORD(ReadDWORD(pExtTable + &H4) + &H4)
           
           If (pLibraryName <> 0) And (pFunctionName <> 0) Then
               If ReadString(pLibraryName) = sLibName Then
                   If ReadString(pFunctionName) = sFuncName Then
                       Call WriteString(pLibraryName, Decrypt(sLibName))
                       Call WriteString(pFunctionName, Decrypt(sFuncName))
                       UnScrambleAPI = True
                   End If
               End If
           End If
       End If
       pExtTable = pExtTable + 8
   Next iIndex
End Function

Private Function ReadDWORD(ByVal lPtr As Long) As Long
   Call WriteProcessMemory(-1, ReadDWORD, ByVal lPtr&, &H4, ByVal 0&)
End Function

Private Sub WriteDWORD(ByVal lPtr As Long, ByVal lLng As Long)
   Call WriteProcessMemory(-1, ByVal lPtr&, lLng, &H4, ByVal 0&)
End Sub

Private Function ReadString(ByVal lPtr As Long) As String
   Dim i               As Long
   Dim b               As Byte
   
   Do
       Call WriteProcessMemory(-1, b, ByVal lPtr& + i, &H1, ByVal 0&)
       If b = 0 Then Exit Do
       ReadString = ReadString & Chr$(b)
       i = i + 1
   Loop
End Function

Private Sub WriteString(ByVal lPtr As Long, ByVal sStr As String)
   Dim bvStr()         As Byte
   
   bvStr = StrConv(sStr, vbFromUnicode)
   Call WriteProcessMemory(-1, ByVal lPtr, bvStr(0), UBound(bvStr) + 1, ByVal 0&)
End Sub

Private Function Decrypt(ByVal sData As String) As String
   Dim i               As Long
   
   For i = 1 To Len(sData)
       Decrypt = Decrypt & Chr$(Asc(Mid$(sData, i, 1)) - 1)
   Next i
End Function


Ejemplo:
http://www.box.net/shared/sr8rky5tku

Agradecimientos a BlackZeroX, que puso las estructuras que me ayudaron a acabar este code :D

Saludos :D