2022网刃杯 个人向WP ICS/Reverse easyiec,freestyle,ez_algorithm writeup

本文介绍了2022年网刃杯中的ICS和REVERSE题目,包括easyiec的签到题解法,通过搜索关键字找到flag;freestyle的逆向算法,通过数学计算得出输入值;以及ez_algorithm的解谜,通过IDA分析加密函数并逆向构造解密脚本。最终得到正确flag。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ICS

easyiec

虚假的签到题与真正的签到题.jpg
打开方式切到记事本 Ctrl+F 直接搜flag梭哈
在这里插入图片描述

REVERSE

freestyle

简单逆向算法题 f5主函数 一个fun1一个fun2 先跟进fun1
在这里插入图片描述

输入一个值 经过处理后得到4400 atoi()这个函数百度了一下跟int()差不多 数学题
4 * (3 * int(s)/9-9 ) == 4400 得到s = 3327 记一下到fun2
提示里给到The code value is the smallest divisible 意思是下面的取余逆向取最小的被除数
2 * (int(s) %56) == 98 得到s = 105

#4 * (3 * int(s)/9-9 ) == 4400
s = ((4400/4)+9)*3
print(s)
#2 * (int(s) %56) == 98
s = (98/2) + 56
print(s) //应该没人看这个吧...

主函数提示flag为输入值的md5 拼起来3327105转一下包上flag{}提交

ez_algorithm

解压是个exe 直接丢ida64里
Shift+F12查字符串
在这里插入图片描述

前三条明显是加密解密用,直接到"GJ!YOU WIN!"这条 双击跳到ida-view
Ctrl+X 查看交叉引用 跳转到目标函数直接F5反编译
在这里插入图片描述

很明显是将输入与他的一个目标字符串进行比较,相同就输出You Win(这里的BRUF是我自定义的名字 环境可能不一样)
目标字符串点一下就能发现是固定不变的,那就看encry函数对输入做了怎么样的处理了 附注释

char *__fastcall encryption(char *input_1)
{
  int v1; // eax
  char v2; // al
  char v3; //
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值