8

[原创]看雪 2016CrackMe 攻防大赛--第24题

lacoucou 2016-12-18 17:16 966
pediy{7{2{E{4{2{E{5{2{E{2{2{E{3{2{E{0{2{E{1{2{E{E{2{E{F{2{E{7{2{E{4{2{E{5{2{E{2{2{E{3{2{E{0{2{E{1{2{E{E{2{E{F{2{E{7{2{E{4{2{E{5{2{E{2{2{E{3{2{E{0{2{E{1{2{E{E{2{E{F{2{E{7{2{E{4{2{E{5{2{E{2{2{E{3{2{E{0{2{E{1{2{E{E{2{E{F{2{E{7{2{E{4{2{E{5{2{E{2{2{E{3{2{E{0{2{E{1{2{E{E{2{E{F{2{E{7{2{E{4{2{E{5{2{E{2{2{E{3{2{E{0{2{E{6{6{6




请允许我提交,谢谢!

有问题的代码在这里:
00402E70  |> /8A043E        /MOV     AL, BYTE PTR DS:[ESI+EDI]
00402E73  |. |8D48 D0       |LEA     ECX, DWORD PTR DS:[EAX-0x30]
00402E76  |. |80F9 09       |CMP     CL, 0x9
00402E79  |. |77 04         |JA      SHORT CrackMe_.00402E7F
00402E7B  |. |8AC1          |MOV     AL, CL
00402E7D  |. |EB 16         |JMP     SHORT CrackMe_.00402E95
00402E7F  |> |8D48 9F       |LEA     ECX, DWORD PTR DS:[EAX-0x61]
00402E82  |. |80F9 05       |CMP     CL, 0x5
00402E85  |. |77 04         |JA      SHORT CrackMe_.00402E8B
00402E87  |. |04 A9         |ADD     AL, 0xA9
00402E89  |. |EB 0A         |JMP     SHORT CrackMe_.00402E95
00402E8B  |> |8D48 BF       |LEA     ECX, DWORD PTR DS:[EAX-0x41]
00402E8E  |. |80F9 05       |CMP     CL, 0x5
00402E91  |. |77 02         |JA      SHORT CrackMe_.00402E95
00402E93  |. |04 C9         |ADD     AL, 0xC9



这个逻辑估计是这样的:
      BYTE v4;
      v4 = 取偶数位字符;
      //0-9 字符的处理
      if ( (v4 - '0') <= 9 )
      {
      	v4=v4-'0';
      }
      //a-f 的处理
      if ((v4 - 'a') <= 5 )
      {
      	v4=v4+0xA9
      }
      //A-F的处理
      if ((v4 - 'A') <= 5)
      {
      	v4+=0xC9;
      }


然而其他字符怎么办?????


不符合条件要return啊!

这样的话,把{换成+ ; K [  k B 这些字符都是可以的吧。
嗯,这样就有了7的156次方中可能:6.8437516657150014906997101647503e+131
上传的附件:
最新回复 (1)
vitue 2017-2-7 09:41
2
Source Insight 4.0 发布了,大神给看下?
返回