欢迎登录大昆山人才网!
null null null null null null null null null null null null null null null null null null null
您当前的位置:首页 > 职场资讯 > 职场攻略

24小时黑客接单(黑客盗号在线接单平台)

来源:大昆山人才网 时间:2020-06-30 作者:大昆山人才网 浏览量:

为了好好的学习一下加密中的各种类型的算法,正好windrand贴出了各类应用密码学的CrackMe(下载地址:http://bbs.pediy.com/showthread.php?t=47488)。本来很早就想系统学习一下了,但由于各种原因,一直没有时间,现在总算有时间了,可以慢慢研究了,希望可以都能通过自己全部了解和掌握。再次感谢windrand无私的提供了练习的好机会! Hash类CrackMe: CRC32算法 ==>CRC32CrackMe        CRC(CyclicRedundancyCheck,直译:循环冗余校验)技术是一项很成熟的技术,在众多领域有广泛的应用,在数据存储和通信传输应用中处处都可以看到它的身影。最常用的CRC校验形式有CRC-16,CRC-32两种形式,采用CRC-16校验,可以保证在1014 位码元中只含有一位未被检测出的错误,采用CRC-32校验的出错概率比CRC-16还低105 倍。CRC的主要特点就是:检错能力极强,开销很小,易于实现。从性能和开销上综合考虑,其远远优于奇偶校验及算术和校验等方式。因此,很多软件在加密保护时都将CRC技术应用其中。 -------------------------------------------------------------------------------- 【注册验证部分代码】 00401282   .  68 00010000   PUSH 100                                   ; /Count = 100 (256.) 00401287   .  51            PUSH ECX                                   ; |Buffer 00401288   .  68 E8030000   PUSH 3E8                                   ; |ControlID = 3E8 (1000.) 0040128D   .  56            PUSH ESI                                   ; |hWnd 0040128E   .  FFD3          CALL EBX                                   ; \GetDlgItemTextA 00401290   .  8DBC24 0C0100>LEA EDI,DWORD PTR SS:[ESP+10C]             ;  用户名地址送EDI(根据字符串参考在这里下断)00401297   .  83C9 FF       OR ECX,FFFFFFFF 0040129A   .  33C0          XOR EAX,EAX 0040129C   .  F2:AE         REPNE SCAS BYTE PTR ES:[EDI] 0040129E   .  F7D1          NOT ECX 004012A0   .  49            DEC ECX 004012A1   .  83F9 01       CMP ECX,1                                  ;  用户名位数与1比较 004012A4   .  73 1F         JNB SHORT CRC32Cra.004012C5                ;  大于等于1则跳 004012A6   .  6A 40         PUSH 40                                    ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL 004012A8   .  68 8C604000   PUSH CRC32Cra.0040608C                     ; |注册提示 004012AD   .  68 74604000   PUSH CRC32Cra.00406074                     ; |用户名不能为空请输入! 004012B2   .  56            PUSH ESI                                   ; |hOwner 004012B3   .  FF15 A8504000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>]  ; \MessageBoxA 004012B9   .  5F            POP EDI 004012BA   .  5E            POP ESI 004012BB   .  33C0          XOR EAX,EAX 004012BD   .  5B            POP EBX 004012BE   .  81C4 00030000 ADD ESP,300 004012C4   .  C3            RET 004012C5   >  8D5424 0C     LEA EDX,DWORD PTR SS:[ESP+C] 004012C9   .  68 00010000   PUSH 100 004012CE   .  52            PUSH EDX 004012CF   .  68 07040000   PUSH 407 004012D4   .  56            PUSH ESI 004012D5   .  FFD3          CALL EBX 004012D7   .  8D7C24 0C     LEA EDI,DWORD PTR SS:[ESP+C]               ;  试验码地址送EDI 004012DB   .  83C9 FF       OR ECX,FFFFFFFF 004012DE   .  33C0          XOR EAX,EAX 004012E0   .  F2:AE         REPNE SCAS BYTE PTR ES:[EDI] 004012E2   .  F7D1          NOT ECX 004012E4   .  49            DEC ECX 004012E5   .  83F9 01       CMP ECX,1                                  ;  试验码位数与1比较 004012E8   .  73 1F         JNB SHORT CRC32Cra.00401309                ;  大于等于1则跳 004012EA   .  6A 40         PUSH 40                                    ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL 004012EC   .  68 8C604000   PUSH CRC32Cra.0040608C                     ; |注册提示 004012F1   .  68 5C604000   PUSH CRC32Cra.0040605C                     ; |注册码不能为空请输入! 004012F6   .  56            PUSH ESI                                   ; |hOwner 004012F7   .  FF15 A8504000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>]  ; \MessageBoxA 004012FD   .  5F            POP EDI 004012FE   .  5E            POP ESI 004012FF   .  33C0          XOR EAX,EAX 00401301   .  5B            POP EBX 00401302   .  81C4 00030000 ADD ESP,300 00401308   .  C3            RET 00401309   >  8D8424 0C0200>LEA EAX,DWORD PTR SS:[ESP+20C] 00401310   .  8D8C24 0C0100>LEA ECX,DWORD PTR SS:[ESP+10C]             ;  用户名地址 00401317   .  50            PUSH EAX 00401318   .  51            PUSH ECX 00401319   .  E8 F2FDFFFF   CALL CRC32Cra.00401110                     ;  算法Call,F7跟进去 0040131E   .  8D9424 140200>LEA EDX,DWORD PTR SS:[ESP+214]             ;  算法Call计算得到的值 00401325   .  8D4424 14     LEA EAX,DWORD PTR SS:[ESP+14]              ;  试验码 00401329   .  52            PUSH EDX                                   ;  注册码地址入栈 0040132A   .  50            PUSH EAX                                   ;  试验码地址入栈 0040132B   .  E8 D0FCFFFF   CALL CRC32Cra.00401000                     ;  比较真假注册码Call,F7跟进00401330   .  83C4 10       ADD ESP,10 00401333   .  83F8 01       CMP EAX,1                                  ;  EAX=0与0比较 00401336   .  6A 40         PUSH 40                                    ; /Style = MB_OK|MB_ICONASTERISK|MB_APPLMODAL 00401338   .  68 8C604000   PUSH CRC32Cra.0040608C                     ; |注册提示 0040133D   .  75 18         JNZ SHORT CRC32Cra.00401357                ; |不相等则跳向死亡(关健跳) 0040133F   .  68 48604000   PUSH CRC32Cra.00406048                     ; |恭喜你,注册码正确! 00401344   .  56            PUSH ESI                                   ; |hOwner 00401345   .  FF15 A8504000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>]  ; \MessageBoxA 0040134B   .  5F            POP EDI 0040134C   .  5E            POP ESI 0040134D   .  33C0          XOR EAX,EAX 0040134F   .  5B            POP EBX 00401350   .  81C4 00030000 ADD ESP,300 00401356   .  C3            RET 00401357   >  68 30604000   PUSH CRC32Cra.00406030                     ; |注册码错误,继续加油! 0040135C   .  56            PUSH ESI                                   ; |hOwner 0040135D   .  FF15 A8504000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>]  ; \MessageBoxA 00401363   .  5F            POP EDI 00401364   .  5E            POP ESI 00401365   .  33C0          XOR EAX,EAX 00401367   .  5B            POP EBX 00401368   .  81C4 00030000 ADD ESP,300 0040136E   .  C3            RET 【算法Call代码】 00401110  /$  83EC 0C       SUB ESP,0C                                 ;  来到这里 00401113  |.  56            PUSH ESI 00401114  |.  57            PUSH EDI 00401115  |.  E8 B6FFFFFF   CALL CRC32Cra.004010D0                     ;  动态生成码表Call,F7跟进0040111A  |.  8B7424 18     MOV ESI,DWORD PTR SS:[ESP+18]              ;  取用户名地址送ESI 0040111E  |.  83C9 FF       OR ECX,FFFFFFFF 00401121  |.  8BFE          MOV EDI,ESI 00401123  |.  33C0          XOR EAX,EAX 00401125  |.  83CA FF       OR EDX,FFFFFFFF 00401128  |.  F2:AE         REPNE SCAS BYTE PTR ES:[EDI] 0040112A  |.  F7D1          NOT ECX 0040112C  |.  49            DEC ECX 0040112D  |.  85C9          TEST ECX,ECX                               ;  测试用户名位数 0040112F  |.  7E 1F         JLE SHORT CRC32Cra.00401150                ;  为0则跳 00401131  |.  53            PUSH EBX 00401132  |>  8BC2          /MOV EAX,EDX                               ;  以下循环将进行一系列运算后根据EAX值取上面计算出码表中数据 00401134  |.  33DB          |XOR EBX,EBX 00401136  |.  8A1E          |MOV BL,BYTE PTR DS:[ESI]                  ;  依次取用户名 00401138  |.  25 FF000000   |AND EAX,0FF 0040113D  |.  33C3          |XOR EAX,EBX 0040113F  |.  C1EA 08       |SHR EDX,8 00401142  |.  8B0485 208540>|MOV EAX,DWORD PTR DS:[EAX*4+408520]       ;  根据EAX的值取动态码表数组中的数据 00401149  |.  33D0          |XOR EDX,EAX                               ;  EDX最后得到一个数值 0040114B  |.  46            |INC ESI 0040114C  |.  49            |DEC ECX 0040114D  |.^ 75 E3         \JNZ SHORT CRC32Cra.00401132 0040114F  |.  5B            POP EBX 00401150  |>  33C9          XOR ECX,ECX 00401152  |.  8D4424 08     LEA EAX,DWORD PTR SS:[ESP+8] 00401156  |.  894C24 09     MOV DWORD PTR SS:[ESP+9],ECX 0040115A  |.  6A 10         PUSH 10 0040115C  |.  F7D2          NOT EDX                                    ;  这里对EDX取反 0040115E  |.  894C24 11     MOV DWORD PTR SS:[ESP+11],ECX 00401162  |.  50            PUSH EAX 00401163  |.  52            PUSH EDX 00401164  |.  C64424 14 00  MOV BYTE PTR SS:[ESP+14],0 00401169  |.  884C24 1D     MOV BYTE PTR SS:[ESP+1D],CL 0040116D  |.  E8 24380000   CALL CRC32Cra.00404996                    00401172  |.  8D7C24 14     LEA EDI,DWORD PTR SS:[ESP+14] 00401176  |.  83C9 FF       OR ECX,FFFFFFFF 00401179  |.  33C0          XOR EAX,EAX 0040117B  |.  83C4 0C       ADD ESP,0C 0040117E  |.  33F6          XOR ESI,ESI 00401180  |.  F2:AE         REPNE SCAS BYTE PTR ES:[EDI] 00401182  |.  F7D1          NOT ECX 00401184  |.  49            DEC ECX                                    ;  得到注册码个数 00401185  |.  74 25         JE SHORT CRC32Cra.004011AC                 ;  等于0则跳 00401187  |>  0FBE4C34 08   /MOVSX ECX,BYTE PTR SS:[ESP+ESI+8] 0040118C  |.  51            |PUSH ECX 0040118D  |.  E8 4E020000   |CALL CRC32Cra.004013E0 00401192  |.  884434 0C     |MOV BYTE PTR SS:[ESP+ESI+C],AL 00401196  |.  83C4 04       |ADD ESP,4 00401199  |.  8D7C24 08     |LEA EDI,DWORD PTR SS:[ESP+8] 0040119D  |.  83C9 FF       |OR ECX,FFFFFFFF 004011A0  |.  33C0          |XOR EAX,EAX 004011A2  |.  46            |INC ESI 004011A3  |.  F2:AE         |REPNE SCAS BYTE PTR ES:[EDI] 004011A5  |.  F7D1          |NOT ECX 004011A7  |.  49            |DEC ECX 004011A8  |.  3BF1          |CMP ESI,ECX 004011AA  |.^ 72 DB         \JB SHORT CRC32Cra.00401187                ;  以上循环用于将注册码中小写字母转换为大写字母 004011AC  |>  8B4424 1C     MOV EAX,DWORD PTR SS:[ESP+1C] 004011B0  |.  8D5424 08     LEA EDX,DWORD PTR SS:[ESP+8] 004011B4  |.  52            PUSH EDX                                   ; /String2 004011B5  |.  50            PUSH EAX                                   ; |String1 004011B6  |.  FF15 00504000 CALL DWORD PTR DS:[<&KERNEL32.lstrcpyA>]   ; \lstrcpyA 004011BC  |.  5F            POP EDI 004011BD  |.  5E            POP ESI 004011BE  |.  83C4 0C       ADD ESP,0C 004011C1  \.  C3            RET                                        ;  这里结束 【动态生成码表Call】 004010D0  /$  56            PUSH ESI                                   ;  这里开始 004010D1  |.  33D2          XOR EDX,EDX 004010D3  |.  B9 20854000   MOV ECX,CRC32Cra.00408520 

分享到:
微信公众号
手机浏览

大昆山人才网,让招聘更简单! 7×24小时QQ在线:3288812033 苏ICP备12049413号

地址:江苏省昆山市千灯镇软件园B栋10楼 EMAIL:[email protected]

Powered by PHPYun.

用微信扫一扫