怡清源企业网站建设可行性分析,桂林漓江自由行攻略,甜品网页设计图片,上海金山网站设计公司下载附件 先查壳 发现没加壳
再拖进 IDA 分析 按shiftF12查找字符串#xff0c;可以看到如下 Base64 加密的痕迹#xff0c;可判断基本是一个反解 flag 的题目 找到主函数按F5查看伪代码#xff0c;如下#xff1a; 可以发现这样的一个关键函数#xff0c;也就是会将 …下载附件 先查壳 发现没加壳
再拖进 IDA 分析 按shiftF12查找字符串可以看到如下 Base64 加密的痕迹可判断基本是一个反解 flag 的题目 找到主函数按F5查看伪代码如下 可以发现这样的一个关键函数也就是会将 Destination 与 Str2 进行比较如果正确为right 分析可知:将输入的串Str1先进行base64加密 再与串Str2比较 若相等 则输出right flag 由此我们只需将Str2也就是e3nifIH9b_CndH进行解密即可 将str2和Dest相比较而Dest为取V4的前长度0x28u的字符 V4的值来自sub_4110BE Sub_4110BE取自sub_411AB0 Dest由v4而来v4会通过base64加密然后对Dest做了第2次的加密v11为Dest的长度
而 Destination 是通过对输入的内容进行一连串变化之后得到的str2是给出的 首先输入的东西通过 sub_4110BE 这个函数进行加密得到初步的结果跟进看看这个函数 点开加密函数 关键语句就在这里 我们可以看到是算输入的字符按三个一组能分为几组 然后将这个数字乘上4 我们很容易想到是base64加密 因为和base64加密的过程太像了 看一下它的变换数组
完整函数 关键部分 aAbcdefghijklmn 即 可见输入内容先经过 sub_4110BE 这个函数进行 base64 加密然后各位加上下标本身再与 str2 比较 而str2的值为 “e3nifIH9b_CndH” 编写解密脚本
import base64
str e3nifIH9b_CndH
f
flag
for i in range(len(str)):f chr(ord(str[i])-i)
flag base64.b64decode(f)
print(flag)得到flag