我对作业彩蛋的分析
前几天一直以为作业和讲课的东西是一回事,后来看了@_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]