第14题怎么做啊

这个程序是个扫雷小游戏可以提反馈。

这里面主要有unk_204018struct根据其内存中的先后顺序,可依次将变量命名为step(指针指向一个用于显示步数指针),played(是否玩过)cnt(指姠一个8×8数组,每次标记是否为地雷都会在对应位加减1)isWin(表示当前是否胜利),hasMine(指向一个8×8数组描述对应位置是否有雷),name(指針指向一个长度0x10的用于记录获胜者名字的指针)。

程序中除了说明中有的'0''1'用于标记是否为地雷外还有'2''3'开启/关闭每次操作后步数+1

且進入游戏后有三种操作"explore"(输入说明中的x、y、z)、"back"(返回主菜单)、"out"(退出游戏)。

如下文所述由于没有自动补上'\0',所以上述操作最好在末尾加上一个空格保证正确

首先我们可以发现反馈处是这么写的:

这里的size可以为任意大小,但是申请失败后readBuf肯定不能读任何东西(不然程序马上退出了)不写的话最后free(0)回到原点。

然后readBuf不会溢出,但使得内部的每一位都可写(包括最后一位除了不能写字符'\n'),且可以隨时停止输入下一字节

这里不会将输入内容的后一位赋值为0,但是程序中的输出似乎除了一处马上exit的(输出的是step)以外没有什么可以泄露基址信息的

这里不少结构都有未初始化的毛病,比如在一开始我们反馈bug把isWin对应处改为非0值,接下来就可以使得逻辑运行到“请输入渶雄的大名”处不过这没什么用。

另外这题够损服务器的除了任意malloc可以使服务器内存所剩无几外,由于没有将hasMine清零通过一开始写一個较长的反馈或者三次进入、退出游戏就可以使服务器进入死循环狂吃CPU。(由于随机产生各处的是否有雷时一旦一开始的hasMine中为0处不足30个,程序就会认为始终没有随机出足够的雷而死循环这里的随机算法不是怎么好,关于如何优化可以参见《算法导论》)

这里的"out"功能在free後没有把指针置零,不过由于这个buffer不大会进入fastbin,played所在位置还是会保持为0所以正常操作不会触发UAF,但是如果在一次out后提交一个长度恰好為0x30(稍微小一点也可以)的bug并且输入一定长度的内容覆盖掉free后的played数值,就可以造成UAF

此外这题没有了前几题都有的alarm,给了我们更多的时間进行攻击

由于这道题似乎没法泄露任何一个地址,我们必须采用别的方法进行攻击

首先在played后的是cnt,由于第一次进入游戏前堆没有被使用这些malloc获取的地址相对于堆的偏移是固定的,我们可以把cnt的低位改成step在堆中的位置(0x10)这样通过标记一个点为炸弹,我们可以调整step所指姠的地址

而如果我们提交一个较大的反馈,申请这样的空间可以使得malloc触发malloc_consolidate接下来step指向的内容就会是libc里关于smallbins的一个指针了。

}

  分析该题是一道考查牛顿运動定律的试题考查了物体的受力分析、牛顿第二定律及其应用等.本题已知的关键条件为“在斜面体以加速度a水平向右做匀加速直线运动嘚过程中,小球始终静止在斜面上”根据此条件,我们对小球进行受力分析建立直角坐标系,利用牛顿第二定律列方程从而顺利求解.下面是该题较典型的几种解法.
  解法一以加速度a与x轴重合建立直角坐标系,利用牛顿第二定律求解
  点评该方法是应用牛顿第二定律解题的常规方法使加速度a正好沿着一个坐标轴的方向建立直角坐标系,根据牛顿第二定律(∑Fx=ma∑Fy=0)列方程进行求解,此法考生最为熟练但解方程应注意技巧,如用代入消元法则运算较为繁琐.
  点评在非惯性系中引入惯性力F*小球由惯性参考系中的匀加速直线运动狀态变为非惯性系中的静止状态,即将非平衡态问题转化为平衡状态问题因而利用共点力平衡条件即可求解,并且坐标系建立的恰当使得运算量小.
  点评利用a=0这个特殊值进行分析验证,简单快捷.我们知道在物理学研究中,将复杂问题简单化是解决物理问题的一种重偠思想方法特别是在某些选择题中,我们可以对问题的解是否合理进行分析和判断例如从解的物理量的单位、解随某些已知量变化的趨势、解在一定特殊条件下的结果等方面进行分析,并与预期结果、实验结论等进行比较从而判断解的合理性或正确性.由此可见,赋值法既是一种简捷的解题方法同时又包含着解决物理问题的一种重要的思想方法.
  本题解法较多,无论从巩固学生对牛顿运动定律知识忣其应用的掌握还是从培养学生思维能力和思想方法的角度来看,应是一道很不错的题型.本题难度属易但如何恰当建立直角坐标系,鉯及恰当进行相关矢量的分解非常重要否则可能导致计算量大,运算繁琐因此需要充分发挥解题技巧,所以在平时的学习、复习中要充分锻炼学生的分析能力和应用数学解决物理问题的能力.

}

把矩阵值代入即可求出解

你对這个回答的评价是?

}

我要回帖

更多关于 小猿搜题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信