题目
Boom there have a game.
双击运行,开始界面
回车,输入md5值
上去查
https://www.cmd5.com/
en5oy
到了下一关
三元一次方程
求解x,y,z
我自己拿草稿纸手解。。。加减消元,一觉“萌新”高考!
x = 74
y = 68
z = 31
python sympy求解
from sympy import *
x = Symbol('x')
y = Symbol('y')
z = Symbol('z')
print(solve([3*x-y+z-185,2*x+3*y-z-321,x+y+z-173],[x, y,z]))
{x: 74, y: 68, z: 31}
from sympy import *
x = Symbol('x')
print(solve([x*x+x-7943722218936282],[x]))
[(-89127562,), (89127561,)]
结果赛后发现可以直接用 软件 or 网址 在线求解,比如微软数学、WolframAlpha
比如酱紫:https://www.99cankao.com/algebra/twovar.php
到了二元一次了!
高中求根公式,拿py一步一步手动算(现场版垃圾jio本)
开根号,求gen!
最后输入答案,
一正根
一负根
正跟 负根
负根 正根
@#¥#¥@¥%#%¥%
exe程序都是原地直接 爆炸 消失!!!!
把我给he pi
掉了——
换方法
(本来想尝试反编译,扔进IDA Pro,赛后文末尝试)
不不不不,
- cmd运行程序
- 或者“傻瓜式一点
随便 win + r,打开dos命令窗口,然后把boom.exe 关 进小黑屋!!!
叫你消失!生气.png
- 文件夹空白处,Shift + 右键,Powershell,
记住哦
是
./boom.exe
输入
en5oy
进下一关,重复之前的sao姿势
到最后一关
输入第一个根
89127561
flag{en5oy_7XXX31_XXXX1}
你flag有了
附上一元二次方程的py脚本:
import math
print("ax*x+bx+c=0")
a = float(input("input a:"))
b = float(input("input b:"))
c = float(input("input c:"))
p = b*b-4*a*c
if p < 0:
print("None")
exit()
else:
X1 = (-b+math.sqrt(p))/(2*a)
X2 = (-b-math.sqrt(p))/(2*a)
print("X1: " + str(X1))
print("X2: " + str(X2))
IDLE可,这里用Pycharm演示一下:
本着能不动脑,就不动脑,能不动手就不动手的principal,我动手试了试 云学习(云解密)
http://www.ab126.com/shuxue/8009.html
惊,真的,生活如此简单!
*还有过程… *
- 换 SageMath 试试瞧!
在线网址:https://sagecell.sagemath.org/
清屏键同dos的clear
第二题
3x-y+z=185
2x+3y-z=321
x+y+z=173
x,y,z = var('x y z')
solve([3*x-y+z==185,2*x+3*y-z==321,x+y+z==173],x,y,z)
[[x == 74, y == 68, z == 31]]
第三题
x*x+x-7943722218936282=0
x,y,z = var('x y z')
solve([x*x+x-7943722218936282==0],x)
[x == 89127561, x == -89127562]
怀着试一试,碰一碰的心理,我悄咪咪把她扔进了IDA Pro,web 狗开始 re…
看见flag了
flag{%s_%d%d%d_%lld}
对比一下,把ida碗里的这 3大份,5小块 M & M 巧克力豆
找出来!
flag{en5oy_746831_89127561}
- 分析
%s是第一题输入的结果en5oy
然后
中间3个%d,分别是第二题输入的x y z即
74 68 31
最后
lld 是 第三题输入的第一个根,正跟,即89127561
之间用 -
连接,穿上 { }
的婚纱,戴上上flag
的皇冠,完。
具体实现过程如下:
~~谢谢观看!~~
【 全 剧 终 】