-
-
算法高手看过来。
-
发表于: 2004-6-6 10:27 4250
-
软件名称:一分钟测试
下载地十:http://dlb.pchome.net/system/benchmark/zwt0922.exe
简介:
1. 仅仅只需要一分钟,就可以准确的评估计算机的总体性能,典型精度能够达到1% 。
2. 测试项目只有整数、浮点、内存、磁盘、DirectDraw图形五项,每一项测试都是普遍、适用范围宽的测试,而不倾向于测试某种理论值。
3. 可以将你的测试结果上传到网站,这样你就可以将你的测试成绩和系统配置同全世界的朋友们一起比较了!
4. 虽然五项测试各有其"绝对速度"成绩,但最重要的测试结果是综合得分,即"一分钟基准得分"或"一分钟MARK",它是一个相对于某个性能均
衡的基本系统的相对值,因而是十分直观的结果。例如一分钟MARK是2.00的机器比一分钟MARK是1.00,总体感觉就是差不多快一倍,它与你的
使用感受是比较统一的,并且我们正在力图使这种比较更接近一般、普遍的使用感受。
5. 《一分钟测试》支持宽广的硬件平台范围,从“古老的”奔腾到最新的奔腾IV甚至将来的硬件都可以顺利测试,因而具有相当长的生存寿
命和可比较性,在当前全球IT技术发展速度下,一分钟测试可以在几年中不必更新基准。
6. 测试结果分析与升级建议能够给初级或非专业用户提供有益的参考和帮助。
7. 多个测试选项能够满足高级用户更丰富的测试需求。
8. 《一分钟测试》也支持Intel SSE,AMD 3DNOW浮点技术,能够让用户比较这些新技术究竟能够带来多大的性能提高。
9. 用户能够将测试数据和机器信息存储到一个可管理的机器数据库,便于比较各个系统性能。
使用工具:OD,W32dsm,PEID
首先用PEID检测,无壳,VC6++写的,W32DSM打开,找到“祝贺你”字样,仔细看,00414990 |. 0F85 DB000000 JNZ zwtest.00414A71这句跳转是关键,跳则注册错误,不跳,成功。
注册E-mail,必须是大于4个字符,注册码是24位,
我跟了几天,可以爆破,但本人数学学的不好, 算法始终不明白,请大侠们给看看。谢谢了。
00414876 /. 55 PUSH EBP
00414877 |. 8BEC MOV EBP,ESP
00414879 |. 81EC 10010000 SUB ESP,110
0041487F |. 898D F0FEFFFF MOV DWORD PTR SS:[EBP-110],ECX
00414885 |. 6A 20 PUSH 20
00414887 |. 68 48434500 PUSH zwtest.00454348
0041488C |. 8B8D F0FEFFFF MOV ECX,DWORD PTR SS:[EBP-110]
00414892 |. 81C1 14010000 ADD ECX,114
00414898 |. E8 BC7C0100 CALL zwtest.0042C559 ; 取字符串长度
0041489D |. A3 5C604500 MOV DWORD PTR DS:[45605C],EAX
004148A2 |. 6A 20 PUSH 20
004148A4 |. 68 283B4500 PUSH zwtest.00453B28
004148A9 |. 8B8D F0FEFFFF MOV ECX,DWORD PTR SS:[EBP-110]
004148AF |. 81C1 D8000000 ADD ECX,0D8
004148B5 |. E8 9F7C0100 CALL zwtest.0042C559
004148BA |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
004148BD |. 837D F8 18 CMP DWORD PTR SS:[EBP-8],18 注册码长度
004148C1 |. 75 09 JNZ SHORT zwtest.004148CC
004148C3 |. 833D 5C604500 >CMP DWORD PTR DS:[45605C],4 E-mail长度
004148CA |. 7D 30 JGE SHORT zwtest.004148FC
004148CC |> 68 388D4400 PUSH zwtest.00448D38 ; /Arg1 = 00448D38
004148D1 |. E8 DED5FFFF CALL zwtest.00411EB4 ; \zwtest.00411EB4
004148D6 |. 83C4 04 ADD ESP,4
004148D9 |. C605 22334500 >MOV BYTE PTR DS:[453322],78
004148E0 |. C605 23334500 >MOV BYTE PTR DS:[453323],79
004148E7 |. 8B85 F0FEFFFF MOV EAX,DWORD PTR SS:[EBP-110]
004148ED |. C780 A0010000 >MOV DWORD PTR DS:[EAX+1A0],0
004148F7 |. E9 82010000 JMP zwtest.00414A7E
004148FC |> C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
00414903 |. EB 09 JMP SHORT zwtest.0041490E
00414905 |> 8B4D FC /MOV ECX,DWORD PTR SS:[EBP-4] 对邮箱地址进行处理。
00414908 |. 83C1 01 |ADD ECX,1
0041490B |. 894D FC |MOV DWORD PTR SS:[EBP-4],ECX
0041490E |> 837D FC 40 CMP DWORD PTR SS:[EBP-4],40
00414912 |. 7D 25 |JGE SHORT zwtest.00414939
00414914 |. 8B15 5C604500 |MOV EDX,DWORD PTR DS:[45605C] 把邮箱长度传到EDX。
0041491A |. 52 |PUSH EDX 长度入栈。
0041491B |. 68 48434500 |PUSH zwtest.00454348 ; ASCII "123@huaxin.com" 字符串入栈。
00414920 |. A1 5C604500 |MOV EAX,DWORD PTR DS:[45605C] 字符长度传到EAX
00414925 |. 0FAF45 FC |IMUL EAX,DWORD PTR SS:[EBP-4]
00414929 |. 05 483B4500 |ADD EAX,zwtest.00453B48 ; ASCII
"123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.c
[email]om123@huaxin.com[/email]123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.co"...
0041492E |. 50 |PUSH EAX
0041492F |. E8 EC2F0000 |CALL zwtest.00417920 这个调用是把E-mail或注册码重复40次写入一个地址(这是不是算法,不太明白)
00414934 |. 83C4 0C |ADD ESP,0C
00414937 |.^EB CC \JMP SHORT zwtest.00414905
00414939 |> C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
00414940 |. EB 09 JMP SHORT zwtest.0041494B
00414942 |> 8B4D FC /MOV ECX,DWORD PTR SS:[EBP-4] 对注册码进行处理。
00414945 |. 83C1 01 |ADD ECX,1
00414948 |. 894D FC |MOV DWORD PTR SS:[EBP-4],ECX
0041494B |> 837D FC 40 CMP DWORD PTR SS:[EBP-4],40
0041494F |. 7D 1E |JGE SHORT zwtest.0041496F
00414951 |. 6A 20 |PUSH 20
00414953 |. 68 283B4500 |PUSH zwtest.00453B28 ; ASCII "123456123456123456123456"
00414958 |. 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4]
0041495B |. C1E2 05 |SHL EDX,5
0041495E |. 81C2 28334500 |ADD EDX,zwtest.00453328 ; ASCII "123456123456123456123456"
00414964 |. 52 |PUSH EDX
00414965 |. E8 B62F0000 |CALL zwtest.00417920
0041496A |. 83C4 0C |ADD ESP,0C
0041496D |.^EB D3 \JMP SHORT zwtest.00414942
0041496F |> 6A 00 PUSH 0 ; /Arg3 = 00000000
00414971 |. 6A 00 PUSH 0 ; |Arg2 = 00000000
00414973 |. 68 03140000 PUSH 1403 ; |Arg1 = 00001403
00414978 |. 8B8D F0FEFFFF MOV ECX,DWORD PTR SS:[EBP-110] ; |
0041497E |. E8 BD0B0000 CALL zwtest.00415540 ; \zwtest.00415540 关键调用????跟入。
00414983 |. 8B85 F0FEFFFF MOV EAX,DWORD PTR SS:[EBP-110]
00414989 |. 83B8 A0010000 >CMP DWORD PTR DS:[EAX+1A0],0 比较。
00414990 |. 0F85 DB000000 JNZ zwtest.00414A71 关键跳转,跳则死。不跳注册成功。
00414996 |. 68 488D4400 PUSH zwtest.00448D48 ; /Arg1 = 00448D48 注册成功字符串地址。
0041499B |. E8 14D5FFFF CALL zwtest.00411EB4 ; \zwtest.00411EB4 弹出注册成功的对话框。
00415540 /$ 55 PUSH EBP
00415541 |. 8BEC MOV EBP,ESP
00415543 |. 51 PUSH ECX
00415544 |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
00415547 |. 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
0041554A |. 50 PUSH EAX ; /lParam
0041554B |. 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C] ; |
0041554E |. 51 PUSH ECX ; |wParam
0041554F |. 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8] ; |
00415552 |. 52 PUSH EDX ; |Message
00415553 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00415556 |. 8B48 1C MOV ECX,DWORD PTR DS:[EAX+1C] ; |
00415559 |. 51 PUSH ECX ; |hWnd
0041555A |. FF15 50C54300 CALL DWORD PTR DS:[<&USER32.SendMessageA>; \SendMessageA
00415560 |. 8BE5 MOV ESP,EBP
00415562 |. 5D POP EBP
00415563 \. C2 0C00 RETN 0C
算法:
00417920 $ 55 PUSH EBP
00417921 . 8BEC MOV EBP,ESP
00417923 . 57 PUSH EDI
00417924 . 56 PUSH ESI
00417925 . 8B75 0C MOV ESI,DWORD PTR SS:[EBP+C]
00417928 . 8B4D 10 MOV ECX,DWORD PTR SS:[EBP+10]
0041792B . 8B7D 08 MOV EDI,DWORD PTR SS:[EBP+8]
0041792E . 8BC1 MOV EAX,ECX
00417930 . 8BD1 MOV EDX,ECX
00417932 . 03C6 ADD EAX,ESI
00417934 . 3BFE CMP EDI,ESI
00417936 . 76 08 JBE SHORT zwtest.00417940
00417938 . 3BF8 CMP EDI,EAX
0041793A . 0F82 78010000 JB zwtest.00417AB8
00417940 > F7C7 03000000 TEST EDI,3
00417946 . 75 14 JNZ SHORT zwtest.0041795C
00417948 . C1E9 02 SHR ECX,2
0041794B . 83E2 03 AND EDX,3
0041794E . 83F9 08 CMP ECX,8
00417951 . 72 29 JB SHORT zwtest.0041797C
00417953 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
00417955 . FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
0041795C > 8BC7 MOV EAX,EDI
0041795E . BA 03000000 MOV EDX,3
00417963 . 83E9 04 SUB ECX,4
00417966 . 72 0C JB SHORT zwtest.00417974
00417968 . 83E0 03 AND EAX,3
0041796B . 03C8 ADD ECX,EAX
0041796D . FF2485 8079410>JMP DWORD PTR DS:[EAX*4+417980]
00417974 > FF248D 787A410>JMP DWORD PTR DS:[ECX*4+417A78]
0041797B 90 NOP
0041797C > FF248D FC79410>JMP DWORD PTR DS:[ECX*4+4179FC]
00417983 90 NOP
00417984 . 90794100 DD zwtest.00417990 ; Switch table (1-based) used at 0041796D
00417988 . BC794100 DD zwtest.004179BC
0041798C . E0794100 DD zwtest.004179E0
00417990 > 23D1 AND EDX,ECX
00417992 . 8A06 MOV AL,BYTE PTR DS:[ESI]
00417994 . 8807 MOV BYTE PTR DS:[EDI],AL
00417996 . 8A46 01 MOV AL,BYTE PTR DS:[ESI+1]
00417999 . 8847 01 MOV BYTE PTR DS:[EDI+1],AL
0041799C . 8A46 02 MOV AL,BYTE PTR DS:[ESI+2]
0041799F . C1E9 02 SHR ECX,2
004179A2 . 8847 02 MOV BYTE PTR DS:[EDI+2],AL
004179A5 . 83C6 03 ADD ESI,3
004179A8 . 83C7 03 ADD EDI,3
004179AB . 83F9 08 CMP ECX,8
004179AE .^72 CC JB SHORT zwtest.0041797C
004179B0 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
004179B2 . FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
004179B9 8D49 00 LEA ECX,DWORD PTR DS:[ECX]
004179BC > 23D1 AND EDX,ECX
004179BE . 8A06 MOV AL,BYTE PTR DS:[ESI]
004179C0 . 8807 MOV BYTE PTR DS:[EDI],AL
004179C2 . 8A46 01 MOV AL,BYTE PTR DS:[ESI+1]
004179C5 . C1E9 02 SHR ECX,2
004179C8 . 8847 01 MOV BYTE PTR DS:[EDI+1],AL
004179CB . 83C6 02 ADD ESI,2
004179CE . 83C7 02 ADD EDI,2
004179D1 . 83F9 08 CMP ECX,8
004179D4 .^72 A6 JB SHORT zwtest.0041797C
004179D6 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
004179D8 . FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
004179DF 90 NOP
004179E0 > 23D1 AND EDX,ECX
004179E2 . 8A06 MOV AL,BYTE PTR DS:[ESI]
004179E4 . 8807 MOV BYTE PTR DS:[EDI],AL
004179E6 . 46 INC ESI
004179E7 . C1E9 02 SHR ECX,2
004179EA . 47 INC EDI
004179EB . 83F9 08 CMP ECX,8
004179EE .^72 8C JB SHORT zwtest.0041797C
004179F0 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
004179F2 . FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
004179F9 8D49 00 LEA ECX,DWORD PTR DS:[ECX]
004179FC . 5F7A4100 DD zwtest.00417A5F ; Switch table used at 0041797C
00417A00 . 4C7A4100 DD zwtest.00417A4C
00417A04 . 447A4100 DD zwtest.00417A44
00417A08 . 3C7A4100 DD zwtest.00417A3C
00417A0C . 347A4100 DD zwtest.00417A34
00417A10 . 2C7A4100 DD zwtest.00417A2C
00417A14 . 247A4100 DD zwtest.00417A24
00417A18 . 1C7A4100 DD zwtest.00417A1C
00417A1C > 8B448E E4 MOV EAX,DWORD PTR DS:[ESI+ECX*4-1C]
00417A20 . 89448F E4 MOV DWORD PTR DS:[EDI+ECX*4-1C],EAX
00417A24 > 8B448E E8 MOV EAX,DWORD PTR DS:[ESI+ECX*4-18]
00417A28 . 89448F E8 MOV DWORD PTR DS:[EDI+ECX*4-18],EAX
00417A2C > 8B448E EC MOV EAX,DWORD PTR DS:[ESI+ECX*4-14]
00417A30 . 89448F EC MOV DWORD PTR DS:[EDI+ECX*4-14],EAX
00417A34 > 8B448E F0 MOV EAX,DWORD PTR DS:[ESI+ECX*4-10]
00417A38 . 89448F F0 MOV DWORD PTR DS:[EDI+ECX*4-10],EAX
00417A3C > 8B448E F4 MOV EAX,DWORD PTR DS:[ESI+ECX*4-C]
00417A40 . 89448F F4 MOV DWORD PTR DS:[EDI+ECX*4-C],EAX
00417A44 > 8B448E F8 MOV EAX,DWORD PTR DS:[ESI+ECX*4-8]
00417A48 . 89448F F8 MOV DWORD PTR DS:[EDI+ECX*4-8],EAX
00417A4C > 8B448E FC MOV EAX,DWORD PTR DS:[ESI+ECX*4-4]
00417A50 . 89448F FC MOV DWORD PTR DS:[EDI+ECX*4-4],EAX
00417A54 . 8D048D 0000000>LEA EAX,DWORD PTR DS:[ECX*4]
00417A5B . 03F0 ADD ESI,EAX
00417A5D . 03F8 ADD EDI,EAX
00417A5F > FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
00417A66 8BFF MOV EDI,EDI
00417A68 . 787A4100 DD zwtest.00417A78 ; Switch table used at 004179B2
00417A6C . 807A4100 DD zwtest.00417A80
00417A70 . 8C7A4100 DD zwtest.00417A8C
00417A74 . A07A4100 DD zwtest.00417AA0
00417A78 > 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00417A7B . 5E POP ESI
00417A7C . 5F POP EDI
00417A7D . C9 LEAVE
00417A7E . C3 RETN
下载地十:http://dlb.pchome.net/system/benchmark/zwt0922.exe
简介:
1. 仅仅只需要一分钟,就可以准确的评估计算机的总体性能,典型精度能够达到1% 。
2. 测试项目只有整数、浮点、内存、磁盘、DirectDraw图形五项,每一项测试都是普遍、适用范围宽的测试,而不倾向于测试某种理论值。
3. 可以将你的测试结果上传到网站,这样你就可以将你的测试成绩和系统配置同全世界的朋友们一起比较了!
4. 虽然五项测试各有其"绝对速度"成绩,但最重要的测试结果是综合得分,即"一分钟基准得分"或"一分钟MARK",它是一个相对于某个性能均
衡的基本系统的相对值,因而是十分直观的结果。例如一分钟MARK是2.00的机器比一分钟MARK是1.00,总体感觉就是差不多快一倍,它与你的
使用感受是比较统一的,并且我们正在力图使这种比较更接近一般、普遍的使用感受。
5. 《一分钟测试》支持宽广的硬件平台范围,从“古老的”奔腾到最新的奔腾IV甚至将来的硬件都可以顺利测试,因而具有相当长的生存寿
命和可比较性,在当前全球IT技术发展速度下,一分钟测试可以在几年中不必更新基准。
6. 测试结果分析与升级建议能够给初级或非专业用户提供有益的参考和帮助。
7. 多个测试选项能够满足高级用户更丰富的测试需求。
8. 《一分钟测试》也支持Intel SSE,AMD 3DNOW浮点技术,能够让用户比较这些新技术究竟能够带来多大的性能提高。
9. 用户能够将测试数据和机器信息存储到一个可管理的机器数据库,便于比较各个系统性能。
使用工具:OD,W32dsm,PEID
首先用PEID检测,无壳,VC6++写的,W32DSM打开,找到“祝贺你”字样,仔细看,00414990 |. 0F85 DB000000 JNZ zwtest.00414A71这句跳转是关键,跳则注册错误,不跳,成功。
注册E-mail,必须是大于4个字符,注册码是24位,
我跟了几天,可以爆破,但本人数学学的不好, 算法始终不明白,请大侠们给看看。谢谢了。
00414876 /. 55 PUSH EBP
00414877 |. 8BEC MOV EBP,ESP
00414879 |. 81EC 10010000 SUB ESP,110
0041487F |. 898D F0FEFFFF MOV DWORD PTR SS:[EBP-110],ECX
00414885 |. 6A 20 PUSH 20
00414887 |. 68 48434500 PUSH zwtest.00454348
0041488C |. 8B8D F0FEFFFF MOV ECX,DWORD PTR SS:[EBP-110]
00414892 |. 81C1 14010000 ADD ECX,114
00414898 |. E8 BC7C0100 CALL zwtest.0042C559 ; 取字符串长度
0041489D |. A3 5C604500 MOV DWORD PTR DS:[45605C],EAX
004148A2 |. 6A 20 PUSH 20
004148A4 |. 68 283B4500 PUSH zwtest.00453B28
004148A9 |. 8B8D F0FEFFFF MOV ECX,DWORD PTR SS:[EBP-110]
004148AF |. 81C1 D8000000 ADD ECX,0D8
004148B5 |. E8 9F7C0100 CALL zwtest.0042C559
004148BA |. 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
004148BD |. 837D F8 18 CMP DWORD PTR SS:[EBP-8],18 注册码长度
004148C1 |. 75 09 JNZ SHORT zwtest.004148CC
004148C3 |. 833D 5C604500 >CMP DWORD PTR DS:[45605C],4 E-mail长度
004148CA |. 7D 30 JGE SHORT zwtest.004148FC
004148CC |> 68 388D4400 PUSH zwtest.00448D38 ; /Arg1 = 00448D38
004148D1 |. E8 DED5FFFF CALL zwtest.00411EB4 ; \zwtest.00411EB4
004148D6 |. 83C4 04 ADD ESP,4
004148D9 |. C605 22334500 >MOV BYTE PTR DS:[453322],78
004148E0 |. C605 23334500 >MOV BYTE PTR DS:[453323],79
004148E7 |. 8B85 F0FEFFFF MOV EAX,DWORD PTR SS:[EBP-110]
004148ED |. C780 A0010000 >MOV DWORD PTR DS:[EAX+1A0],0
004148F7 |. E9 82010000 JMP zwtest.00414A7E
004148FC |> C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
00414903 |. EB 09 JMP SHORT zwtest.0041490E
00414905 |> 8B4D FC /MOV ECX,DWORD PTR SS:[EBP-4] 对邮箱地址进行处理。
00414908 |. 83C1 01 |ADD ECX,1
0041490B |. 894D FC |MOV DWORD PTR SS:[EBP-4],ECX
0041490E |> 837D FC 40 CMP DWORD PTR SS:[EBP-4],40
00414912 |. 7D 25 |JGE SHORT zwtest.00414939
00414914 |. 8B15 5C604500 |MOV EDX,DWORD PTR DS:[45605C] 把邮箱长度传到EDX。
0041491A |. 52 |PUSH EDX 长度入栈。
0041491B |. 68 48434500 |PUSH zwtest.00454348 ; ASCII "123@huaxin.com" 字符串入栈。
00414920 |. A1 5C604500 |MOV EAX,DWORD PTR DS:[45605C] 字符长度传到EAX
00414925 |. 0FAF45 FC |IMUL EAX,DWORD PTR SS:[EBP-4]
00414929 |. 05 483B4500 |ADD EAX,zwtest.00453B48 ; ASCII
"123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.c
[email]om123@huaxin.com[/email]123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.com123@huaxin.co"...
0041492E |. 50 |PUSH EAX
0041492F |. E8 EC2F0000 |CALL zwtest.00417920 这个调用是把E-mail或注册码重复40次写入一个地址(这是不是算法,不太明白)
00414934 |. 83C4 0C |ADD ESP,0C
00414937 |.^EB CC \JMP SHORT zwtest.00414905
00414939 |> C745 FC 000000>MOV DWORD PTR SS:[EBP-4],0
00414940 |. EB 09 JMP SHORT zwtest.0041494B
00414942 |> 8B4D FC /MOV ECX,DWORD PTR SS:[EBP-4] 对注册码进行处理。
00414945 |. 83C1 01 |ADD ECX,1
00414948 |. 894D FC |MOV DWORD PTR SS:[EBP-4],ECX
0041494B |> 837D FC 40 CMP DWORD PTR SS:[EBP-4],40
0041494F |. 7D 1E |JGE SHORT zwtest.0041496F
00414951 |. 6A 20 |PUSH 20
00414953 |. 68 283B4500 |PUSH zwtest.00453B28 ; ASCII "123456123456123456123456"
00414958 |. 8B55 FC |MOV EDX,DWORD PTR SS:[EBP-4]
0041495B |. C1E2 05 |SHL EDX,5
0041495E |. 81C2 28334500 |ADD EDX,zwtest.00453328 ; ASCII "123456123456123456123456"
00414964 |. 52 |PUSH EDX
00414965 |. E8 B62F0000 |CALL zwtest.00417920
0041496A |. 83C4 0C |ADD ESP,0C
0041496D |.^EB D3 \JMP SHORT zwtest.00414942
0041496F |> 6A 00 PUSH 0 ; /Arg3 = 00000000
00414971 |. 6A 00 PUSH 0 ; |Arg2 = 00000000
00414973 |. 68 03140000 PUSH 1403 ; |Arg1 = 00001403
00414978 |. 8B8D F0FEFFFF MOV ECX,DWORD PTR SS:[EBP-110] ; |
0041497E |. E8 BD0B0000 CALL zwtest.00415540 ; \zwtest.00415540 关键调用????跟入。
00414983 |. 8B85 F0FEFFFF MOV EAX,DWORD PTR SS:[EBP-110]
00414989 |. 83B8 A0010000 >CMP DWORD PTR DS:[EAX+1A0],0 比较。
00414990 |. 0F85 DB000000 JNZ zwtest.00414A71 关键跳转,跳则死。不跳注册成功。
00414996 |. 68 488D4400 PUSH zwtest.00448D48 ; /Arg1 = 00448D48 注册成功字符串地址。
0041499B |. E8 14D5FFFF CALL zwtest.00411EB4 ; \zwtest.00411EB4 弹出注册成功的对话框。
00415540 /$ 55 PUSH EBP
00415541 |. 8BEC MOV EBP,ESP
00415543 |. 51 PUSH ECX
00415544 |. 894D FC MOV DWORD PTR SS:[EBP-4],ECX
00415547 |. 8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
0041554A |. 50 PUSH EAX ; /lParam
0041554B |. 8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C] ; |
0041554E |. 51 PUSH ECX ; |wParam
0041554F |. 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8] ; |
00415552 |. 52 PUSH EDX ; |Message
00415553 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |
00415556 |. 8B48 1C MOV ECX,DWORD PTR DS:[EAX+1C] ; |
00415559 |. 51 PUSH ECX ; |hWnd
0041555A |. FF15 50C54300 CALL DWORD PTR DS:[<&USER32.SendMessageA>; \SendMessageA
00415560 |. 8BE5 MOV ESP,EBP
00415562 |. 5D POP EBP
00415563 \. C2 0C00 RETN 0C
算法:
00417920 $ 55 PUSH EBP
00417921 . 8BEC MOV EBP,ESP
00417923 . 57 PUSH EDI
00417924 . 56 PUSH ESI
00417925 . 8B75 0C MOV ESI,DWORD PTR SS:[EBP+C]
00417928 . 8B4D 10 MOV ECX,DWORD PTR SS:[EBP+10]
0041792B . 8B7D 08 MOV EDI,DWORD PTR SS:[EBP+8]
0041792E . 8BC1 MOV EAX,ECX
00417930 . 8BD1 MOV EDX,ECX
00417932 . 03C6 ADD EAX,ESI
00417934 . 3BFE CMP EDI,ESI
00417936 . 76 08 JBE SHORT zwtest.00417940
00417938 . 3BF8 CMP EDI,EAX
0041793A . 0F82 78010000 JB zwtest.00417AB8
00417940 > F7C7 03000000 TEST EDI,3
00417946 . 75 14 JNZ SHORT zwtest.0041795C
00417948 . C1E9 02 SHR ECX,2
0041794B . 83E2 03 AND EDX,3
0041794E . 83F9 08 CMP ECX,8
00417951 . 72 29 JB SHORT zwtest.0041797C
00417953 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
00417955 . FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
0041795C > 8BC7 MOV EAX,EDI
0041795E . BA 03000000 MOV EDX,3
00417963 . 83E9 04 SUB ECX,4
00417966 . 72 0C JB SHORT zwtest.00417974
00417968 . 83E0 03 AND EAX,3
0041796B . 03C8 ADD ECX,EAX
0041796D . FF2485 8079410>JMP DWORD PTR DS:[EAX*4+417980]
00417974 > FF248D 787A410>JMP DWORD PTR DS:[ECX*4+417A78]
0041797B 90 NOP
0041797C > FF248D FC79410>JMP DWORD PTR DS:[ECX*4+4179FC]
00417983 90 NOP
00417984 . 90794100 DD zwtest.00417990 ; Switch table (1-based) used at 0041796D
00417988 . BC794100 DD zwtest.004179BC
0041798C . E0794100 DD zwtest.004179E0
00417990 > 23D1 AND EDX,ECX
00417992 . 8A06 MOV AL,BYTE PTR DS:[ESI]
00417994 . 8807 MOV BYTE PTR DS:[EDI],AL
00417996 . 8A46 01 MOV AL,BYTE PTR DS:[ESI+1]
00417999 . 8847 01 MOV BYTE PTR DS:[EDI+1],AL
0041799C . 8A46 02 MOV AL,BYTE PTR DS:[ESI+2]
0041799F . C1E9 02 SHR ECX,2
004179A2 . 8847 02 MOV BYTE PTR DS:[EDI+2],AL
004179A5 . 83C6 03 ADD ESI,3
004179A8 . 83C7 03 ADD EDI,3
004179AB . 83F9 08 CMP ECX,8
004179AE .^72 CC JB SHORT zwtest.0041797C
004179B0 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
004179B2 . FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
004179B9 8D49 00 LEA ECX,DWORD PTR DS:[ECX]
004179BC > 23D1 AND EDX,ECX
004179BE . 8A06 MOV AL,BYTE PTR DS:[ESI]
004179C0 . 8807 MOV BYTE PTR DS:[EDI],AL
004179C2 . 8A46 01 MOV AL,BYTE PTR DS:[ESI+1]
004179C5 . C1E9 02 SHR ECX,2
004179C8 . 8847 01 MOV BYTE PTR DS:[EDI+1],AL
004179CB . 83C6 02 ADD ESI,2
004179CE . 83C7 02 ADD EDI,2
004179D1 . 83F9 08 CMP ECX,8
004179D4 .^72 A6 JB SHORT zwtest.0041797C
004179D6 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
004179D8 . FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
004179DF 90 NOP
004179E0 > 23D1 AND EDX,ECX
004179E2 . 8A06 MOV AL,BYTE PTR DS:[ESI]
004179E4 . 8807 MOV BYTE PTR DS:[EDI],AL
004179E6 . 46 INC ESI
004179E7 . C1E9 02 SHR ECX,2
004179EA . 47 INC EDI
004179EB . 83F9 08 CMP ECX,8
004179EE .^72 8C JB SHORT zwtest.0041797C
004179F0 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
004179F2 . FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
004179F9 8D49 00 LEA ECX,DWORD PTR DS:[ECX]
004179FC . 5F7A4100 DD zwtest.00417A5F ; Switch table used at 0041797C
00417A00 . 4C7A4100 DD zwtest.00417A4C
00417A04 . 447A4100 DD zwtest.00417A44
00417A08 . 3C7A4100 DD zwtest.00417A3C
00417A0C . 347A4100 DD zwtest.00417A34
00417A10 . 2C7A4100 DD zwtest.00417A2C
00417A14 . 247A4100 DD zwtest.00417A24
00417A18 . 1C7A4100 DD zwtest.00417A1C
00417A1C > 8B448E E4 MOV EAX,DWORD PTR DS:[ESI+ECX*4-1C]
00417A20 . 89448F E4 MOV DWORD PTR DS:[EDI+ECX*4-1C],EAX
00417A24 > 8B448E E8 MOV EAX,DWORD PTR DS:[ESI+ECX*4-18]
00417A28 . 89448F E8 MOV DWORD PTR DS:[EDI+ECX*4-18],EAX
00417A2C > 8B448E EC MOV EAX,DWORD PTR DS:[ESI+ECX*4-14]
00417A30 . 89448F EC MOV DWORD PTR DS:[EDI+ECX*4-14],EAX
00417A34 > 8B448E F0 MOV EAX,DWORD PTR DS:[ESI+ECX*4-10]
00417A38 . 89448F F0 MOV DWORD PTR DS:[EDI+ECX*4-10],EAX
00417A3C > 8B448E F4 MOV EAX,DWORD PTR DS:[ESI+ECX*4-C]
00417A40 . 89448F F4 MOV DWORD PTR DS:[EDI+ECX*4-C],EAX
00417A44 > 8B448E F8 MOV EAX,DWORD PTR DS:[ESI+ECX*4-8]
00417A48 . 89448F F8 MOV DWORD PTR DS:[EDI+ECX*4-8],EAX
00417A4C > 8B448E FC MOV EAX,DWORD PTR DS:[ESI+ECX*4-4]
00417A50 . 89448F FC MOV DWORD PTR DS:[EDI+ECX*4-4],EAX
00417A54 . 8D048D 0000000>LEA EAX,DWORD PTR DS:[ECX*4]
00417A5B . 03F0 ADD ESI,EAX
00417A5D . 03F8 ADD EDI,EAX
00417A5F > FF2495 687A410>JMP DWORD PTR DS:[EDX*4+417A68]
00417A66 8BFF MOV EDI,EDI
00417A68 . 787A4100 DD zwtest.00417A78 ; Switch table used at 004179B2
00417A6C . 807A4100 DD zwtest.00417A80
00417A70 . 8C7A4100 DD zwtest.00417A8C
00417A74 . A07A4100 DD zwtest.00417AA0
00417A78 > 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
00417A7B . 5E POP ESI
00417A7C . 5F POP EDI
00417A7D . C9 LEAVE
00417A7E . C3 RETN
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏记录
参与人
雪币
留言
时间
一路南寻
为你点赞~
2024-4-3 01:57
嫉妒的死远点
为你点赞~
2024-3-7 00:19
一笑人间万事
为你点赞~
2024-2-18 00:03
shinratensei
为你点赞~
2023-4-11 02:02
QinBeast
为你点赞~
2023-3-31 08:37
赞赏
他的文章
看原图
赞赏
雪币:
留言: