首页 > 其他分享 >BUUCTF之[GUET-CTF2019]--RE

BUUCTF之[GUET-CTF2019]--RE

时间:2022-11-18 21:25:15浏览次数:49  
标签:约束条件 BUUCTF 大数 -- 然后 RE flag Z3

老样子,先查壳,ELF64而且发现Upx壳. Tips:现在只会最基本的upx -d 脱壳,虽然现在不会OEP定律法,以后还是要面对的捏

丢kali里面进行脱壳即可

丢IDA继续分析

首先看字符串窗口发现有input your flag字样

跟进函数继续查看

整体函数的逻辑很简单,就是对多个变量输入字符串,然后通过sub_4009AE函数来判断是否正确或者错误,跟进sub_4009AE.

所以逻辑就是每个大数乘另一个大数都要为另一个大数,但是不管用C或者python写,都很反人类,人麻了。

不过之前做过新生赛的题目,做过这种大数的题目可以用Z3求解器来解决,哈哈哈哈哈哈

下面是关于Z3求解器文章的讲解

引用:https://www.cnblogs.com/hetianlab/p/13685260.html

总体来说分为一下几个步骤:

先设置变量-->然后设置限制条件 -->然后判断是否有解 -->求解并输出

设置变量:

Int - 整数

x = Int('x')

Solver对象:

我们需要先实例化一个对象,方便我们添加更多的约束对象

solver = Solver()

然后添加约束条件:

譬如:solver.add(a + 999999999 = 8888888888888)等等条件,一行添加一个约束条件,这里的约束条件就是方程等式.

具体想了解Z3的师傅直接看上面引用的文章即可.

而且这里的函数还有坑,一定要注意,一定要注意!!!

第一个坑就是,a[6]没有,第二个坑就是a[16],a[17]出现了顺序颠倒,hhhh

下面附上脚本

手写的我麻了,有没有大佬能搞个一键dump图片数据的脚本,一个一个写真的好麻烦唉-_-~~~

然后写个for循环去转换字符即可

但是你以为这就是结束了?放屁,还有a[6]字符没有搞出来,后面听别的师傅说,flag写个限制0-9,小写字母,和大写字母的爆破脚本就行,爆破第6位

然后a[6]爆破出来后,a[6]=1.

最终答案 flag{e165421110ba03099a1c039337}

解毕!!!

总结:z3yyds!!!!

 

标签:约束条件,BUUCTF,大数,--,然后,RE,flag,Z3
From: https://www.cnblogs.com/qsons/p/16904914.html

相关文章

  • redis集群创建的时候,一直卡在Waiting for the cluster to join ....上、一直没有反应
    1.问题:搭建Redis集群的过程中,执行到clustercreate:…的时候,发现程序发生阻塞,显示:Waitingfortheclustertojoin的字样,然后就无休无尽的等待…2.解决方法:开放red......
  • luffy项目(十二)
    今日内容概要课程详情页接口课程列表前端课程详情前端搜索导航栏搜索后台接口搜索前端页面今日内容详细课程详情页接口查询所有章节接口,带按课程id号过滤的......
  • 【五期邹昱夫】arXiv(IJCAI'22)Fedcg: Leverage conditional gan for protecting privac
    WuY,KangY,LuoJ,etal.Fedcg:Leverageconditionalganforprotectingprivacyandmaintainingcompetitiveperformanceinfederatedlearning[J].arXivpr......
  • 20221005_T1C_思维dp
    题意一开始有\(n\)个颜色为黑白的球,但不知道黑白色分别有多少,\(m\)次操作,每次先拿出一个球,再放入黑白球各一个,再拿出一个球,最后拿出的球按顺序排列会形成一个颜色序列......
  • 泛型
    不同类型的参数解决同一问题所需的方法。  反射:就是获取dll或者exe文件中的信息。f反射详解(29条消息)C#中的反射_HelloBug.的博客-CSDN博客获取类信息以后可以,......
  • 【题解】做题记录(2022.11)
    11.1CF449DJzzhuandNumbers题目分析:考虑直接算的话就相当于限制每一位必须有一个\(0\),显然不如反着来,也就是某一位必须全为\(1\),也就是我们计算与之后不为\(0\)......
  • 同步、异步与阻塞、非阻塞
    目录一、同步与异步同步异步二、阻塞与非阻塞阻塞非阻塞三、综合使用1.同步阻塞:2.同步非阻塞:3.异步阻塞:4.异步非阻塞:四、创建进程的多种方式进程的创建multiprocessing模块......
  • 二叉树的前序、中序、后序遍历
    144.二叉树的前序遍历/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*......
  • 主存储器
    主存储器,简称主存、内存。地址寄存器简称MAR,数据寄存器简称MDR。存储体是存储器的核心部分,存储体由许多存储单元组成,每个存储单元包含若干存储元件,每个存储元件存储一位......
  • Spring 事务传播行为
    事务传播行为指当事务方法被另外一个事务方法调用时,必须指定事务应该如何传播,例如,方法可能继续在当前事务中执行,也可以开启一个新的事务,在自己的事务中执行。声明式事务......