send
Grupo de Telegram
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.

Generador de passwords - by PeterPunk

  • 0 Respuestas
  • 1735 Vistas

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

Desconectado ProcessKill

  • *
  • Underc0der
  • Mensajes: 154
  • Actividad:
    0%
  • Reputación 0
  • Arriba los hackers de Argentina!
    • Ver Perfil
    • Email
« en: Febrero 24, 2010, 03:59:20 pm »
Aqui les dejo un pequeño generador en MASM32, para los que quieran iniciarse en la programación de este lenguaje:

rsrc.rc

Código: C
  1. #include "\masm32\include\resource.h"
  2.  
  3. #define IDC_STATIC                                        -1
  4. #define IDI_ICON                                         101
  5. #define IDC_CMDGENERAR                                  3000
  6. #define IDC_CMDINFO                                     3001
  7. #define IDC_CHKNUMEROS                                  3002
  8. #define IDC_CHKMAYUSCULAS                               3003
  9. #define IDC_CHKMINUSCULAS                               3004
  10. #define IDC_CHKSIMBOLOS                                 3005
  11. #define IDC_COMBOFORMATO                                3006
  12. #define IDC_TXTPASS                                     3007
  13.  
  14. IDI_ICON ICON DISCARDABLE       "misfits.ico"
  15.  
  16. IDD_DIALOG DIALOGEX 0, 0, 157, 105
  17. STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_FIXEDSYS | WS_VISIBLE | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
  18. CAPTION "Password Generator by PeterPunk"
  19. FONT 8, "Ms Shell Dlg 2"
  20. BEGIN
  21.     DEFPUSHBUTTON   "Generar", IDC_CMDGENERAR, 15, 85, 50, 14, BS_DEFPUSHBUTTON, 0, 0
  22.     PUSHBUTTON      "Info", IDC_CMDINFO, 90, 85, 50, 14, BS_PUSHBUTTON, 0, 0
  23.     GROUPBOX        "Alfabeto", IDC_STATIC, 5, 5, 145, 24, 0, 0, 0
  24.     GROUPBOX        "Formato", IDC_STATIC, 5, 31, 145, 24, 0, 0, 0
  25.     GROUPBOX        "Password", IDC_STATIC, 5, 57, 145, 24, 0, 0, 0
  26.     AUTOCHECKBOX    "0-9", IDC_CHKNUMEROS, 15, 15, 25, 10, BS_AUTOCHECKBOX, 0, 0
  27.     AUTOCHECKBOX    "A-Z", IDC_CHKMAYUSCULAS, 45, 15, 25, 10, BS_AUTOCHECKBOX, 0, 0
  28.     AUTOCHECKBOX    "a-z", IDC_CHKMINUSCULAS, 75, 15, 25, 10, BS_AUTOCHECKBOX, 0, 0
  29.     AUTOCHECKBOX    "Símbolos", IDC_CHKSIMBOLOS, 105, 15, 40, 10, BS_AUTOCHECKBOX, 0, 0
  30.     COMBOBOX        IDC_COMBOFORMATO, 15, 39, 125, 100, CBS_DROPDOWN, 0, 0
  31.     EDITTEXT        IDC_TXTPASS, 15, 66, 125, 12, ES_CENTER | ES_AUTOHSCROLL | ES_READONLY, 0
  32. END
  33.  
  34.  

PasswordGenerator.asm
Código: ASM
  1. .386
  2. .model flat, stdcall
  3. option casemap :none
  4.  
  5. include \masm32\include\windows.inc
  6. include \masm32\include\user32.inc
  7. include \masm32\include\kernel32.inc
  8. include \masm32\include\masm32.inc
  9.  
  10. includelib \masm32\lib\user32.lib      
  11. includelib \masm32\lib\kernel32.lib
  12. includelib \masm32\lib\masm32.lib
  13.  
  14. WndProc           PROTO :DWORD,:DWORD,:DWORD,:DWORD
  15.  
  16. .data
  17. ; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx resource data              xxxx
  18.     IDC_STATIC          equ       -1
  19.     IDI_ICON            equ      101
  20.     IDC_CMDGENERAR      equ     3000
  21.     IDC_CMDINFO         equ     3001
  22.     IDC_CHKNUMEROS      equ     3002
  23.     IDC_CHKMAYUSCULAS   equ     3003
  24.     IDC_CHKMINUSCULAS   equ     3004
  25.     IDC_CHKSIMBOLOS     equ     3005
  26.     IDC_COMBOFORMATO    equ     3006
  27.     IDC_TXTPASS         equ     3007
  28.     dlgname       db "IDD_DIALOG",0
  29. ; xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx enter your text            xxxx
  30.     szTitulo      db "Password Generator by PeterPunk",0
  31.     szAboutText   db "Password Generator coded by PeterPunk",13,10
  32.                   db "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",13,10,13,10
  33.                   db "Formato:",13,10
  34.                   db 34,"0",34,": Número en esa posición",13,10
  35.                   db 34,"A",34,": Letra mayúscula en esa posición",13,10
  36.                   db 34,"a",34,": Letra minúscula en esa posición",13,10
  37.                   db 34,"?",34,": Cualquier caracter del alfabeto",13,10
  38.                   db 34,"$",34,": Siguiente caracter literal",13,10
  39.                   db "Resto de los caracteres: Caracter literal",0
  40.     szNumeros     db "0123456789",0
  41.     szMayusculas  db "ABCDEFGHIJKLMNOPQRSTUVWXYZ",0
  42.     szMinusculas  db "abcdefghijklmnopqrstuvwxyz",0
  43.     szSimbolos    db " !",34,"#$%&'()*+,-./:;<=>?@[\]^_`{|}~",0
  44.     szFormato1    db "????-????-????-????",0
  45.     szFormato2    db "????????",0
  46.     szFormato3    db "AAAA-00000000-AAAA",0
  47.  
  48. .data?
  49.     hInstance     dd ?
  50.     hNumeros      dd ?
  51.     hMayusculas   dd ?
  52.     hMinusculas   dd ?
  53.     hSimbolos     dd ?
  54.     hFormato      dd ?
  55.     szAlfabeto    db 96 dup (?)
  56.     szFormato     db 101 dup (?)
  57.     szPassword    db 101 dup (?)
  58.     LonAlfabeto   dd ?
  59.     LonFormato    dd ?
  60.  
  61. .code
  62.  
  63. start:
  64.  
  65.     invoke GetModuleHandle, NULL
  66.     mov hInstance, eax
  67.     invoke DialogBoxParam, hInstance, ADDR dlgname, 0, ADDR WndProc, 0
  68.     invoke ExitProcess, eax
  69.  
  70. WndProc proc hWin:DWORD,uMsg:DWORD,wParam:DWORD,lParam :DWORD
  71.  
  72.     .if uMsg == WM_INITDIALOG
  73.         invoke LoadIcon, hInstance, IDI_ICON
  74.         invoke SendMessage, hWin, WM_SETICON, 0, eax
  75.         invoke GetDlgItem, hWin, IDC_CHKNUMEROS
  76.         mov hNumeros, eax
  77.         invoke GetDlgItem, hWin, IDC_CHKMAYUSCULAS
  78.         mov hMayusculas, eax
  79.         invoke GetDlgItem, hWin, IDC_CHKMINUSCULAS
  80.         mov hMinusculas, eax
  81.         invoke GetDlgItem, hWin, IDC_CHKSIMBOLOS
  82.         mov hSimbolos, eax
  83.         invoke GetDlgItem, hWin, IDC_COMBOFORMATO
  84.         mov hFormato, eax
  85.         invoke SendMessage, hNumeros, BM_SETCHECK, 1, 0
  86.         invoke SendMessage, hMayusculas, BM_SETCHECK, 1, 0
  87.         invoke SendMessage, hFormato, CB_ADDSTRING, 0, offset szFormato1
  88.         invoke SendMessage, hFormato, CB_ADDSTRING, 0, offset szFormato2
  89.         invoke SendMessage, hFormato, CB_ADDSTRING, 0, offset szFormato3        
  90.         invoke SendMessage, hFormato, CB_SETCURSEL, 0, 0
  91.         invoke GetTickCount
  92.         invoke nseed, eax
  93.     .elseif uMsg == WM_CLOSE
  94.         invoke EndDialog, hWin, 0
  95.     .elseif uMsg == WM_COMMAND
  96.         .if wParam == IDC_CMDINFO
  97.             invoke MessageBox, hWin, offset szAboutText, offset szTitulo, MB_OK
  98.         .elseif wParam == IDC_CMDGENERAR
  99.             mov byte ptr [szAlfabeto], 0
  100.             mov LonAlfabeto, 0
  101.             invoke SendMessage, hNumeros, BM_GETCHECK, 0, 0
  102.             .if (eax)
  103.                 invoke lstrcat, offset szAlfabeto, offset szNumeros
  104.                 add LonAlfabeto, 10
  105.             .endif
  106.             invoke SendMessage, hMayusculas, BM_GETCHECK, 0, 0
  107.             .if (eax)
  108.                 invoke lstrcat, offset szAlfabeto, offset szMayusculas
  109.                 add LonAlfabeto, 26
  110.             .endif
  111.             invoke SendMessage, hMinusculas, BM_GETCHECK, 0, 0
  112.             .if (eax)
  113.                 invoke lstrcat, offset szAlfabeto, offset szMinusculas
  114.                 add LonAlfabeto, 26
  115.             .endif
  116.             invoke SendMessage, hSimbolos, BM_GETCHECK, 0, 0
  117.             .if (eax)
  118.                 invoke lstrcat, offset szAlfabeto, offset szSimbolos
  119.                 add LonAlfabeto, 33
  120.             .endif
  121.             invoke GetDlgItemText, hWin, IDC_COMBOFORMATO, offset szFormato,100
  122.             mov LonFormato, eax
  123.             xor ecx, ecx
  124.             mov esi, offset szFormato
  125.             mov edi, offset szPassword
  126. @bucle:
  127.             push ecx
  128.             movzx eax, byte ptr [esi]
  129.             .if eax == '0'
  130.                 invoke nrandom, 10
  131.                 lea eax, [szNumeros+eax]
  132.                 movzx eax, byte ptr [eax]
  133.             .elseif eax == 'A'
  134.                 invoke nrandom, 26
  135.                 lea eax, [szMayusculas+eax]
  136.                 movzx eax, byte ptr [eax]
  137.             .elseif eax == 'a'
  138.                 invoke nrandom, 26
  139.                 lea eax, [szMinusculas+eax]
  140.                 movzx eax, byte ptr [eax]
  141.             .elseif eax == '?'
  142.                 cmp LonAlfabeto, 0
  143.                 jz @NonAlfabeto
  144.                 invoke nrandom, LonAlfabeto
  145.                 lea eax, [szAlfabeto+eax]
  146.                 movzx eax, byte ptr [eax]
  147. @NonAlfabeto:                
  148.             .elseif eax == '$'
  149.                 inc esi
  150.                 movzx eax, byte ptr [esi]
  151.             .endif
  152.             mov byte ptr [edi], al
  153.             inc esi
  154.             inc edi
  155.             pop ecx
  156.             inc ecx
  157.             cmp ecx, LonFormato
  158.             jb @bucle
  159.             mov byte ptr [edi], 0
  160.             invoke SetDlgItemText, hWin, IDC_TXTPASS, offset szPassword
  161.         .endif
  162.     .endif
  163.     xor eax, eax
  164.     ret
  165.  
  166. WndProc endp
  167.  
  168. end start
  169.  



bytes ;)
« Última modificación: Mayo 01, 2014, 08:41:20 am por Expermicid »

 

¿Te gustó el post? COMPARTILO!