-
-
[原创]2019看雪CTF Q2第六题
-
发表于: 2019-6-10 21:16 2732
-
此题没有反调试,逻辑也不复杂。
运行界面如下:
IDA F5出来的代码如下
要求输入SN长度不超过0x31,SN经过base64encode计算,要求与"!NGV%,$h1f4S3%2P(hkQ94=="相等。
跟踪base64_encode函数,发现相较于标准base64encode算法修改了2处地方:
1) 将编码表修改为
tuvwxTUlmnopqrs7YZabcdefghij8yz0123456VWXkABCDEFGHIJKLMNOPQRS9+/
2) 将编码后的字符加密处理,函数逻辑即为charEncrypt()
运行下程序,得出字符的加密映射关系
charEncrypt(A)=Z
charEncrypt(B)=Y
charEncrypt(C)=X
charEncrypt(D)=W
charEncrypt(E)=V
charEncrypt(F)=U
charEncrypt(G)=T
charEncrypt(H)=S
charEncrypt(I)=R
charEncrypt(J)=Q
charEncrypt(K)=P
charEncrypt(L)=O
charEncrypt(M)=N
charEncrypt(N)=M
charEncrypt(O)=L
charEncrypt(P)=K
charEncrypt(Q)=J
charEncrypt(R)=I
charEncrypt(S)=H
charEncrypt(T)=G
charEncrypt(U)=F
charEncrypt(V)=E
charEncrypt(W)=D
charEncrypt(X)=C
charEncrypt(Y)=B
charEncrypt(Z)=A
charEncrypt(a)=!
charEncrypt(b)="
charEncrypt(c)=#
charEncrypt(d)=$
charEncrypt(e)=%
charEncrypt(f)=&
charEncrypt(g)='
charEncrypt(h)=(
charEncrypt(i)=)
charEncrypt(j)=*
charEncrypt(k)=+
charEncrypt(l)=,
charEncrypt(m)=-
charEncrypt(n)=.
charEncrypt(o)=/
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!