标签:tmp 26 flag easyre 羊城 num 2020 encode ord
查壳,莫得,64 位,载入 IDA,查看主函数
看到关键的三个加密函数,第一个就是进行了个 base64,第二个进行移位变换,第三个对字符进行了一些变换
encode_three 爆破就可以,然后按照 encode_two 的逻辑重组字符串最后进行 base64decode 即可获得 flag
exp 如下:
from base64 import b64encode, b64decode
Str2 = "EmBmP5Pmn7QcPU4gLYKv5QcMmB3PWHcP5YkPq3=cT6QckkPckoRG"
key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz01234567890+/="
#encode_three
tmp = ''
for i in range(len(Str2)):
for j in key:
if ord(j) <= 64 or ord(j) > 90:
if ord(j) <= 96 or ord(j) > 122:
if ord(j) <= 47 or ord(j) > 57:
num = j
else:
num = chr((ord(j) - 48 + 3) % 10 + 48)
else:
num = chr((ord(j) - 97 + 3) % 26 + 97)
else :
num = chr((ord(j) - 65 + 3) % 26 + 65)
if num == Str2[i]:
tmp += j
break
print(tmp)
#BjYjM2Mjk4NzMR1dIVHs2NzJjY0MTEzM2VhMn0=zQ3NzhhMzhlOD
#encode_two
flag = tmp[13:26] + tmp[39:] + tmp[:13] + tmp[26:39]
#encode_one
print(b64decode(flag))
#flag{672cc4778a38e80cb362987341133ea2}
标签:tmp,26,flag,easyre,羊城,num,2020,encode,ord 来源: https://www.cnblogs.com/Moomin/p/15808898.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。