吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1830|回复: 4
收起左侧

[CTF] 【2022春节】解题领红包之三 {Windows 中级题}

[复制链接]
QAQ~QL 发表于 2022-2-16 00:10
本帖最后由 QAQ~QL 于 2022-2-18 19:21 编辑

思路
  • 中级题,PE查壳
0.png
UPX壳,使用ESP定律脱壳,不细讲,文末教程
脱后文件拖入IDA
3-2.png
得知sub_401520为比较函数,sub_401100和sub_401080和sub_401110为uid参数处理函数运行程序,确定两个变量uid和key,在三个入口函数下断调试+ida分析,发现输入字串经过处理后在sub_401520比较flag输出success遂打算直接还原代码进入uid处理的三个关键方法(sub_401100,sub_401080,sub_401110)这三个方法,生成两个参数,并传入sub_401520(1,2,3,4,uid_1,uid_2)进行判断,遂对三个方法进行步入跟踪sub_401100,sub_401080方法简单,实现过程如下
[Python] 纯文本查看 复制代码
def sub_401100(uid):    return uid % 25
def sub_401080(uid):
    return list(range(1, 26, 2))[uid % 12]
sub_401110过于繁琐,我还是太菜了,无法还原,无奈放弃还原思路,直接od动调hook算好的uid_1,uid_2便更换思路,从sub_401520判断函数下手在其领空内存发现疑似flag文本   ->    flag{Happy_New_Year_52Pojie_2022}遂记录下字符串Happy_New_Year_52Pojie_2022输入测试数据(Happy_New_Year_52Pojie_2022),得出下标
uidkey
123456Bujjs_Hyq_Syul_52Jidcy_2022
123Utkkp_Gbl_Pbto_52Kvyjb_2022

测试数据,收集flag
1-1.png
发现该函数会处理输入字符,并和flag作比较返回int结果抄起py,输出发现文本处理并无明显规律,重新查看代码
[Python] 纯文本查看 复制代码
str1 = 'Happy_New_Year_52Pojie_2022'# str2 = "Utkkp_Gbl_Pbto_52Kvyjb_2022"str2 = "Bujjs_Hyq_Syul_52Jidcy_2022"
for i in range(27):
    if str1[i] == str2[i]:
        continue
    print("{:3d}-> {} <> {:3d} -> {}    ===  {}".format(ord(str1[i]), str1[i], ord(str2[i]), str2[i],  ord(str2[i]) - ord(str1[i])))

2-1.png
跟入sub_401520,发现内容颇长,动调查看有用部分,前面一大段对flag的处理忽略,后面的释放空间也忽略,得到关键函数sub_4011B0和sub_403ED0,祭出ida,想起刚刚的uid_1和uid_2,得出sub_4011B0为关键函数
图片.png
sub_4011B0  在ida中分析得知  大小写分类型进行运算   chr(15 * (ord(i) - 20 - num) % 26 + num)  num=大写:65 小写:97便使用逆推算法,推出本人uid正确的flag
[Python] 纯文本查看 复制代码
def u1s1(pr):    for i in string.ascii_letters:
        num = 97 if i.islower() else 65
        if chr(15 * (ord(i) - 20 - num) % 26 + num) == pr:
            return i

str1 = 'Happy_New_Year_52Pojie_2022'
str2 = []
for i in str1:
    print(u1s1(i) if i.isalpha() else i, end="")

代入算出结果发现答案错误,简直怀疑人生了................后抱着试一试的心态,测试
str1=flag{Happy_New_Year_52Pojie_2022}
结果答案正确,大写的无语..............
算了半个晚上用的都是  Happy_New_Year_52Pojie_2022  属实心态有点蹦了至此题三结束

ESP脱壳定律.7z

1.66 MB, 下载次数: 34, 下载积分: 吾爱币 -1 CB

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

DEATHTOUCH 发表于 2022-2-16 17:42
图片都挂了

然后这个upx脱壳非常easy,只要鼠标一直往下滚,找到指令全是0000的时候前面那个超远距离的jmp过去就是OEP了。
 楼主| QAQ~QL 发表于 2022-2-16 18:44
可能是放我服务器被屏蔽了,稍后补

点评

这个图也不行,处理一下吧。  详情 回复 发表于 2022-2-17 16:12
Hmily 发表于 2022-2-17 16:12
QAQ~QL 发表于 2022-2-16 18:44
可能是放我服务器被屏蔽了,稍后补

这个图也不行,处理一下吧。
头像被屏蔽
hua111 发表于 2022-2-21 10:41
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 02:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表