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.

[Cifrado] RC4 ASM en linea

  • 2 Respuestas
  • 2848 Vistas

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

Desconectado Danyfirex

  • *
  • Underc0der
  • Mensajes: 22
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« en: Abril 09, 2013, 01:34:41 pm »
Bueno aquí un pequeño aporte.  8)

Código: Visual Basic
  1. ' =================================================================
  2. ' =================================================================
  3. ' => Autor: Pink
  4. ' => RC4 ASM en linea
  5. ' => Gracias Ward(Version Autoit)
  6. ' => Fecha : 01|04|2013
  7. ' => Uso: misbytes()=RC4ASM(bytesacifrar(),"clave")
  8. ' =================================================================
  9. ' =================================================================
  10.  
  11.  
  12. Option Explicit
  13.  
  14. Private Declare Function CallWindowProcW Lib "USER32" (ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  15.  
  16.  
  17. Public Function RC4ASM(datos() As Byte, pass As String) As Byte()
  18. Dim passbyte() As Byte
  19. Dim B_RC4() As Byte
  20. Dim Str_OP  As String
  21. Dim i As Long
  22.  
  23. Str_OP = "C81001006A006A005356578B551031C989C84989D7F2AE484829C88945F085C00F84DC000000B90001000088C82C0188840DEFFEFFFFE2F38365F4008365FC00817DFC000100007D478B45FC31D2F775F0920345100FB6008B4DFC0FB68C0DF0FEFFFF01C80345F425FF0000008945F48B75FC8A8435F0FEFFFF8B7DF486843DF0FEFFFF8"
  24. Str_OP = Str_OP & "88435F0FEFFFFFF45FCEBB08D9DF0FEFFFF31FF89FA39550C76638B85ECFEFFFF4025FF0000008985ECFEFFFF89D80385ECFEFFFF0FB6000385E8FEFFFF25FF0000008985E8FEFFFF89DE03B5ECFEFFFF8A0689DF03BDE8FEFFFF860788060FB60E0FB60701C181E1FF0000008A840DF0FEFFFF8B750801D6300642EB985F5E5BC9C21000"
  25. passbyte = StrConv(pass, vbFromUnicode)
  26.  
  27. ReDim B_RC4((Len(Str_OP) / 2) - 1)
  28. For i = 1 To Len(Str_OP) - 1 Step 2
  29. B_RC4(Int(i / 2)) = CByte("&h" & Mid(Str_OP, i, 2))
  30. Next
  31.  
  32. CallWindowProcW VarPtr(B_RC4(0)), VarPtr(datos(0)), UBound(datos) + 1, VarPtr(passbyte(0)), 0
  33.  
  34. RC4ASM = datos()
  35.  
  36. End Function


Saludos
« Última modificación: Mayo 12, 2014, 02:58:32 pm por Expermicid »

Desconectado 79137913

  • *
  • Moderator
  • Mensajes: 626
  • Actividad:
    15%
  • Reputación 10
  • 4 Esquinas
    • Ver Perfil
    • Doors.Party
    • Email
  • Skype: fg_mdq@hotmail.com
« Respuesta #1 en: Abril 12, 2013, 09:23:29 am »
HOLA!!!

Muy buen aporte...

Podes optimizarlo asi:

Cambia:
Código: Visual Basic
  1. Str_OP = "C81001006A006A005356578B551031C989C84989D7F2AE484829C88945F085C00F84DC000000B90001000088C82C0188840DEFFEFFFFE2F38365F4008365FC00817DFC000100007D478B45FC31D2F775F0920345100FB6008B4DFC0FB68C0DF0FEFFFF01C80345F425FF0000008945F48B75FC8A8435F0FEFFFF8B7DF486843DF0FEFFFF8"
  2. Str_OP = Str_OP & "88435F0FEFFFFFF45FCEBB08D9DF0FEFFFF31FF89FA39550C76638B85ECFEFFFF4025FF0000008985ECFEFFFF89D80385ECFEFFFF0FB6000385E8FEFFFF25FF0000008985E8FEFFFF89DE03B5ECFEFFFF8A0689DF03BDE8FEFFFF860788060FB60E0FB60701C181E1FF0000008A840DF0FEFFFF8B750801D6300642EB985F5E5BC9C21000"
por:
Código: Visual Basic
  1. Str_OP = "C81001006A006A005356578B551031C989C84989D7F2AE484829C88945F085C00F84DC000000B90001000088C82C0188840DEFFEFFFFE2F38365F4008365FC00817DFC000100007D478B45FC31D2F775F0920345100FB6008B4DFC0FB68C0DF0FEFFFF01C80345F425FF0000008945F48B75FC8A8435F0FEFFFF8B7DF486843DF0FEFFFF888435F0FEFFFFFF45FCEBB08D9DF0FEFFFF31FF89FA39550C76638B85ECFEFFFF4025FF0000008985ECFEFFFF89D80385ECFEFFFF0FB6000385E8FEFFFF25FF0000008985E8FEFFFF89DE03B5ECFEFFFF8A0689DF03BDE8FEFFFF860788060FB60E0FB60701C181E1FF0000008A840DF0FEFFFF8B750801D6300642EB985F5E5BC9C21000"
  2.  

Cambiar:
Código: Visual Basic
  1. ReDim B_RC4((Len(Str_OP) / 2) - 1)
Por:
Código: Visual Basic
  1. ReDim B_RC4((LenB(Str_OP) / 4) - 1)

Cambiar:
Código: Visual Basic
  1. For i = 1 To Len(Str_OP) - 1 Step 2
Por:
Código: Visual Basic
  1. For i = 1 To LenB(Str_OP) / 2 - 1 Step 2

Cambiar:
Código: Visual Basic
  1. B_RC4(Int(i / 2)) = CByte("&h" & Mid(Str_OP, i, 2))
Por:
Código: Visual Basic
  1. B_RC4(Int(i / 2)) = CByte("&h" & Mid$(Str_OP, i, 2))

Mis recomendaciones son para que no cambie la estructura del codigo pero mejore el rendimiento en procesador (velocidad de proceso).

GRACIAS POR LEER!!!
"Algunos creen que soy un bot, puede que tengan razon"
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

*Shadow Scout Team*                                                   You are not allowed to view links. Register or Login

Desconectado Danyfirex

  • *
  • Underc0der
  • Mensajes: 22
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Abril 20, 2013, 01:23:49 pm »
@79137913 gracias por la recomendación no me fije en eso esta vez. pero ya he estudiado sobre eso desde la otra vez que me lo dijiste.

gracias.  ;)
saludos

 

¿Te gustó el post? COMPARTILO!



RunPE ASM en linea

Iniciado por Danyfirex

Respuestas: 0
Vistas: 2364
Último mensaje Abril 30, 2013, 06:40:42 pm
por Danyfirex