elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [VB+ASM]Encriptacion, Rotacion de Bits [ROR/ROL]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [VB+ASM]Encriptacion, Rotacion de Bits [ROR/ROL]  (Leído 2,561 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.419


Se siente observado ¬¬'


Ver Perfil
[VB+ASM]Encriptacion, Rotacion de Bits [ROR/ROL]
« en: 19 Septiembre 2009, 14:29 pm »

Código
  1. Option Explicit
  2. 'USER32
  3. 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
  4.  
  5. Private Const sThunk        As String = "8B7C24048B4C24088B54240CE8000000005D83ED118A1A885D1EC0<OPCODE>39FFFF42803A007404E2EEEB068B54240CEBF6C3"
  6.  
  7. '---------------------------------------------------------------------------------------
  8. ' Procedure : CryptIt
  9. ' Author    : Karcrack
  10. ' Date      : 19/09/2009
  11. ' Purpose   : Encrypt Using ROL/ROR operands...
  12. ' NOTES     : Now FULL ASM, to make it QUICKEST possible!
  13. '             Now PASSWORD compatible
  14. '             Fixed FULL rotation...
  15. '---------------------------------------------------------------------------------------
  16. '
  17. Public Sub CryptIt(ByRef bvData() As Byte, ByRef bvPass() As Byte, Optional ByVal bDecrypt As Boolean = False, Optional ByVal bPreventFULL As Boolean = True)
  18.    Dim i                   As Long
  19.    Dim sASM                As String
  20.    Dim bvASM(&HFF)         As Byte
  21.  
  22.    If bPreventFULL = True Then
  23.        'Prevent FULL rotation...
  24.        For i = LBound(bvPass) To UBound(bvPass)
  25.            If Not (bvPass(i) Mod 8) Then bvPass(i) = bvPass(i) + 1
  26.        Next i
  27.    End If
  28.  
  29.    sASM = Replace$(sThunk, "<OPCODE>", IIf((bDecrypt = False), "4C", "44"))
  30.  
  31.    Call OPCODES(sASM, bvASM)
  32.  
  33.    Call CallWindowProcA(VarPtr(bvASM(0)), VarPtr(bvData(0)), UBound(bvData) + 1, VarPtr(bvPass(0)))
  34. End Sub
  35.  
  36. Private Sub OPCODES(ByVal sThunk As String, ByRef bvTmp() As Byte)
  37.    Dim i               As Long
  38.  
  39.    For i = 0 To Len(sThunk) - 1 Step 2
  40.        bvTmp((i / 2)) = CByte("&H" & Mid$(sThunk, i + 1, 2))
  41.    Next i
  42. End Sub

Ejemplo de uso:
Código
  1.    Dim bvPass()        As Byte
  2.    Dim bvData()        As Byte
  3.  
  4.    bvPass = StrConv("YEEEAH!" & Chr$(0), vbFromUnicode)
  5.    bvData = StrConv("KARCRACK FTW! =D", vbFromUnicode)
  6.  
  7.    Call CryptIt(bvData, bvPass)
  8.  
  9.    MsgBox StrConv(bvData, vbUnicode)
  10.  
  11.    Call CryptIt(bvData, bvPass, True)
  12.    MsgBox StrConv(bvData, vbUnicode)

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

Saludos ;D


« Última modificación: 19 Septiembre 2009, 15:11 pm por Karcrack » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Rotación automatica de fondos de pantalla (WindowsXP)
Software
vincent13m 3 2,711 Último mensaje 29 Enero 2011, 01:58 am
por SuperDraco
AffineTransform rotación y movimiento
Java
gelpack 1 1,639 Último mensaje 24 Mayo 2013, 04:07 am
por crozz2
Slide de rotacion
Desarrollo Web
kakashi20 1 676 Último mensaje 13 Noviembre 2014, 23:40 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines