lxj8378 发表于 2015-8-15 20:27

我对作业彩蛋的分析

前几天一直以为作业和讲课的东西是一回事,后来看了@_BaZzi的帖子,才知道另有作业。
这两天仔细分析了一下,
别的地方不说了,下面的代码是我对彩蛋解密的分析
00403698   .8B45 E8       mov eax,dword ptr ss:
0040369B   .8AD4          mov dl,ah
0040369D   .C0EA 04       shr dl,0x4
004036A0   .80E2 03       and dl,0x3
004036A3   .8AC8          mov cl,al
004036A5   .C0E1 02       shl cl,0x2
004036A8   .02D1          add dl,cl
004036AA   .8855 E4       mov byte ptr ss:,dl            
004036AD   .8A55 EA       mov dl,byte ptr ss:
004036B0   .8ACA          mov cl,dl
004036B2   .C0E9 02       shr cl,0x2
004036B5   .8AC4          mov al,ah
004036B7   .C0E2 06       shl dl,0x6
004036BA   .0255 EB       add dl,byte ptr ss:
004036BD   .80E1 0F       and cl,0xF
004036C0   .C0E0 04       shl al,0x4
004036C3   .32C8          xor cl,al
004036C5   .884D E5       mov byte ptr ss:,cl
004036C8   .8855 E6       mov byte ptr ss:,dl
可以看出又是一个四字节转三字节的代码
设源码为s,s,s,s
目标码为A,A,A

A=(s>>4)&3+s<<2
A=(s>>2)^(s<<4)
A=s<<6+s
反过来
s=A>>2
s=(A&3)<<4+A>>4
s=A>>6+(A&0xf)<<2
s=A&0x3f
试一下如果想得到312:A~A
根据解密代码
"abcdefghijklmnopqrstuvwxyz0123456789+/ABCDEFGHIJKLMNOPQRSTUVWXYZ"
0x0c 0x33 0x04 0x32 转换为代码    mNeM
那么应该输入mNeM:s~s



应该就是这么解码,当然也可以通过输入更多的东西输出更长的内容,规则都是一样的,4转3。
我觉得@_BaZzi的帖子中的内容也是这么得到的。
可是@我是用户 大牛的彩蛋提示我实在不明白。
不知道是怎么个意思,哪位大牛弄出来了给讲一下吧


页: [1]
查看完整版本: 我对作业彩蛋的分析