Есть код: Код (Text): SetLen equ 37 Digits equ 3 ; number of digits minus 1 (here 4 "aaaa .... 0000") szSet db "abcdefghijklmnopqrstuvwxyz1234567890 ", 0 ; 37 zeichen a db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 BruteForce proc LOCAL wEnd:WORD; mov ecx,Digits ; length of Output mov eax,SetLen ; length of characterset Loop1: imul eax, SetLen; ;AX = SetLen^Digits loop Loop1 mov edi,eax Loop_K: ; for (k=0; k<End; k++) k in EDX mov ebx,Digits mov edx,edi dec edx Loop_i: ;for (int i=Digits; i>=0 ; i--) i in EBX mov esi,1 mov ecx,ebx ; check if ebx =0 test ecx,ecx jz AfterPower ; if ebx = 0 ESI = 1 (SetLEn^0=1) Loop2: imul esi, SetLen; ;ESI=SetLen^i (ebx) loop Loop2 ;--------------------- AfterPower: test edx, edx ; if edx = 0 avoid div by zero Error jnz NotNull mov eax,0 jmp AfterNull NotNull: mov eax,edx cdq idiv esi ; div edi / SetLen^ebx AfterNull: mov al, BYTE ptr [szSet+eax] ;a[i] = szSet[eax] mov BYTE ptr [a+ebx],al test ebx,ebx jz EndLoop_i dec ebx ;i-- jmp Loop_i EndLoop_i: ; Here the string is available in BYTE a dec edi ;k++ test edi,edi jnz Loop_K Ret BruteForce EndP Нужно чтоб он в консоль печатал все последовательнсти которые перебирает. Вот шаблон который мне создал QuickEditor: Код (Text): ; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ include \masm32\include\masm32rt.inc ; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ comment * ----------------------------------------------------- Build this console app with "MAKEIT.BAT" on the PROJECT menu. ----------------------------------------------------- * .data? value dd ? .data item dd 0 .code start: ; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ call main inkey exit ; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ main proc cls print "Hello World",13,10 ret main endp ; ¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ end start Куда чего приткнуть я немогу понять.
Ну вот ... только зачем он тебе такой? Код (Text): .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\kernel32.inc includelib \masm32\lib\kernel32.lib BruteForce PROTO .data SetLen equ 37 Digits equ 3 ; number of digits minus 1 (here 4 "aaaa .... 0000") szSet db "abcdefghijklmnopqrstuvwxyz1234567890 ", 0 ; 37 zeichen a db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 .code start: invoke BruteForce lea edi,a int 3 invoke ExitProcess,0 BruteForce proc LOCAL wEnd:WORD; mov ecx,Digits ; length of Output mov eax,SetLen ; length of characterset Loop1: imul eax, SetLen; ;AX = SetLen^Digits loop Loop1 mov edi,eax Loop_K: ; for (k=0; k<End; k++) k in EDX mov ebx,Digits mov edx,edi dec edx Loop_i: ;for (int i=Digits; i>=0 ; i--) i in EBX mov esi,1 mov ecx,ebx ; check if ebx =0 test ecx,ecx jz AfterPower ; if ebx = 0 ESI = 1 (SetLEn^0=1) Loop2: imul esi, SetLen; ;ESI=SetLen^i (ebx) loop Loop2 ;--------------------- AfterPower: test edx, edx ; if edx = 0 avoid div by zero Error jnz NotNull mov eax,0 jmp AfterNull NotNull: mov eax,edx cdq idiv esi ; div edi / SetLen^ebx AfterNull: mov al, BYTE ptr [szSet+eax] ;a[i] = szSet[eax] mov BYTE ptr [a+ebx],al test ebx,ebx jz EndLoop_i dec ebx ;i-- jmp Loop_i EndLoop_i: ; Here the string is available in BYTE a dec edi ;k++ test edi,edi jnz Loop_K Ret BruteForce EndP end start
_sheva740 Код (Text): Сигнатура проблемы: Имя события проблемы: APPCRASH Имя приложения: console.exe Версия приложения: 0.0.0.0 Отметка времени приложения: 4e4ac562 Имя модуля с ошибкой: console.exe Версия модуля с ошибкой: 0.0.0.0 Отметка времени модуля с ошибкой: 4e4ac562 Код исключения: 80000003 Смещение исключения: 0000100b Версия ОС: 6.1.7601.2.1.0.274.10 Код языка: 1049 Дополнительные сведения 1: 0a9e Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789 Дополнительные сведения 3: 0a9e Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789
Skillax Я так понял ты хочешь перебрать все комбинации из алфавита. Так ты собрать не можешь? Масм на c:\ установил? Тогда на с:\ создай 234.asm Код (Text): .386 .model flat, stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\masm32.inc ;StdOut() include \masm32\include\kernel32.inc include \masm32\include\user32.inc ;wsprintf() includelib \masm32\lib\masm32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\user32.lib BruteForce PROTO .data SetLen equ 37 Digits equ 3 ; number of digits minus 1 (here 4 "aaaa .... 0000") szSet db "abcdefghijklmnopqrstuvwxyz1234567890 ", 0 ; 37 zeichen a db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 template db '%s',0 lf db 13,10,0 .code start: invoke BruteForce invoke ExitProcess,0 BruteForce proc local text_buf[256]:BYTE mov ecx,Digits ; length of Output mov eax,SetLen ; length of characterset Loop1: imul eax, SetLen; ;AX = SetLen^Digits loop Loop1 mov edi,eax Loop_K: ;------------------- Вывод 4-х символьного слова pushad invoke wsprintf,addr text_buf,addr template,addr a invoke StdOut, addr a invoke StdOut, addr lf popad ;------------------------------------------------- ; for (k=0; k<End; k++) k in EDX mov ebx,Digits mov edx,edi dec edx Loop_i: ;for (int i=Digits; i>=0 ; i--) i in EBX mov esi,1 mov ecx,ebx ; check if ebx =0 test ecx,ecx jz AfterPower ; if ebx = 0 ESI = 1 (SetLEn^0=1) Loop2: imul esi, SetLen; ;ESI=SetLen^i (ebx) loop Loop2 ;--------------------- AfterPower: test edx, edx ; if edx = 0 avoid div by zero Error jnz NotNull mov eax,0 jmp AfterNull NotNull: mov eax,edx cdq idiv esi ; div edi / SetLen^ebx AfterNull: mov al, BYTE ptr [szSet+eax] ;a[i] = szSet[eax] mov BYTE ptr [a+ebx],al test ebx,ebx jz EndLoop_i dec ebx ;i-- jmp Loop_i EndLoop_i: ; Here the string is available in BYTE a dec edi ;k++ test edi,edi jnz Loop_K Ret BruteForce EndP end start 234.bat положи рядом с 234.asm Код (Text): \masm32\bin\ml /c /coff /Cp 234.asm \masm32\bin\Link /merge:.data=.text /section:.text,ERWX /SUBSYSTEM:CONSOLE 234.obj del 234.obj Запусти 234.bat Запусти 234 .exe Ну и радуйся вариантам )))
_sheva740 ОЙ Вот что выводит: Код (Text): 0 0 0 0 0 9 9 9 9 9 8 8 8 8 8 7 7 7 7 7 6 6 6 6 6 5 5 5 5 5 4 4 4 4 4 3 3 3 3 3 2 2 2 2 2 1 1 1 1 1 z z z z z y y y y y x x x x x w w w w w v v v v v u u u u u t t t t t s s s s s r r r r r q q q q q p p p p p o o o o o n n n n n m m m m m l l l l l k k k k k j j j j j i i i i i h h h h h g g g g g f f f f f e e e e e d d d d d c c c c c b b b b b a a a a a0 0 0 0 0 0 00 00 00 00 00 90 90 90 90 90 80 80 80 80 80 70 70 70 70 70 60 60 60 60 60 50 50 50 50 50 40 40 40 40 40 30 30 30 30 30 20 20 20 20 20 10 10 10 10 10 z0 z0 z0 z0 z0 y0 y0 y0 y0 y0 x0 x0 x0 x0 x0 w0 w0 w0 w0 w0 v0 v0 v0 v0 v0 u0 u0 u0 u0 u0 t0 t0 t0 t0 t0 s0 s0 s0 s0 s0 r0 r0 r0 r0 r0 q0 q0 q0 q0 q0 p0 p0 p0 p0 p0 o0 o0 o0 o0 o0 n0 n0 n0 n0 n0 m0 m0 m0 m0 m0 l0 l0 l0 l0 l0 k0 k0 k0 k0 k0 j0 j0 j0 j0 j0 i0 i0 i0 i0 i0 h0 h0 h0 h0 h0 g0 g0 g0 g0 g0 f0 f0 f0 f0 f0 e0 e0 e0 e0 e0 d0 d0 d0 d0 d0 c0 c0 c0 c0 c0 b0 b0 b0 b0 b0 a0 a0 a0 a0 a9 9 9 9 9 9 09 09 09 09 09 99 99 99 99 99 89 89 89 89 89 79 79 79 79 79 69 69 69 69 69 59 59 59 59 59 49 49 49 49 49 39 39 39 39 39 29 29 29 29 29 19 19 19 19 19 z9 z9 z9 z9 z9 y9 y9 y9 y9 y9 x9 x9 x9 x9 x9 w9 w9 w9 w9 w9 v9 v9 v9 v9 v9 u9 u9 u9 u9 u9 t9 t9 t9 t9 t9 s9 s9 s9 s9 s9 r9 r9 r9 r9 r9 q9 q9 q9 q9 q9 p9 p9 p9 p9 p9 o9 o9 o9 o9 o9 n9 n9 n9 n9 n9 m9 m9 m9 m9 m9 l9 l9 l9 l9 l9 k9 k9 k9 k9 k9 j9 j9 j9 j9 j9 i9 i9 i9 i9 i9 h9 h9 h9 h9 h9 g9 g9 g9 g9 g9 f9 f9 f9 f9 f9 e9 e9 e9 e9 e9 d9 d9 d9 d9 d9 c9 c9 c9 c9 c9 b9 b9 b9 b9 b9 a9 a9 a9 a9 a8 8 8 8 8 8 08 08 08 08 08 98 98 98 98 98 88 88 88 88 88 78 78 78 78 78 68 68 68 68 68 58 58 58 58 58 48 48 48 48 48 38 38 38 38 38 28 28 28 28 28 18 18 18 18 18 z8 z8 z8 z8 z8 y8 y8 y8 y8 y8 x8 x8 x8 x8 x8 w8 w8 w8 w8 w8 v8 v8 v8 v8 v8 u8 u8 u8 u8 u8 t8 t8 t8 t8 t8 s8 s8 s8 s8 s8 r8 r8 r8 r8 r8 q8 q8 q8 q8 q8 p8 p8 p8 p8 p8 o8 o8 o8 o8 o8 n8 n8 n8 n8 n8 m8 m8 m8 m8 m8 l8 l8 l8 l8 l8 k8 k8 k8 k8 k8 j8 j8 j8 j8 j8 i8 i8 i8 i8 i8 h8 h8 h8 h8 h8 g8 g8 g8 g8 g8 f8 f8 f8 f8 f8 e8 e8 e8 e8 e8 d8 d8 d8 d8 d8 c8 c8 c8 c8 c8 b8 b8 b8 b8 b8 a8 a8 a8 a8 a7 7 7 7 7 7 07 07 07 07 07 97 97 97 97 97 87 87 87 87 87 77 77 77 77 77 67 67 67 67 67 57 57 57 57 57 47 47 47 47 47 37 37 37 37 37 27 27 27 27 27 17 17 17 17 17 z7 z7 z7 z7 z7 y7 y7 y7 y7 y7 x7 x7 x7 x7 x7 w7 w7 w7 w7 w7 v7 v7 v7 v7 v7 u7 u7 u7 u7 u7 t7 t7 t7 t7 t7 s7 s7 s7 s7 s7 r7 r7 r7 r7 r7 q7 q7 q7 q7 q7 p7 p7 p7 p7 p7 o7 o7 o7 o7 o7 n7 n7 n7 n7 n7 m7 m7 m7 m7 m7 l7 l7 l7 l7 l7 k7 k7 k7 k7 k7 j7 j7 j7 j7 j7 i7 i7 i7 i7 i7 h7 h7 h7 h7 h7 g7 g7 g7 g7 g7 f7 f7 f7 f7 f7 e7 e7 e7 e7 e7 d7 d7 d7 d7 d7 c7 c7 c7 c7 c7 b7 b7 b7 b7 b7 a7 a7 a7 a7 a6 6 6 6 6 6 06 06 06 06 06 96 96 96 96 96 86