HGAME 2019 week3
闲来无事吧week3的wp写一下
week3总体来说难度没有week2大???
// 除了那道helloweb,第一次遇见没写出来
//而且反编译后有上万行的代码实在是看不下去了。。。
Math 简单
很明显用z3去写啊
放进ida里复制一下关键函数代码就行
那个。。。因为原来题目链接挂了,这边我直接上代码
1 |
|
跑一下就行
Say-Muggle-Code a.k.a. SMC
自我感觉这题比上周的smc简单 //手动滑稽
拖进ida,因为是c艹,看起来有点难受
所以只能调试了
发现前面一大段程序主要是确定输入的数目是否为39
还有就是使用hgame{}开头结尾
真正的check在下面
点击check1查看,check1是比较简单的
直接解出来前半部分
1 |
|
然后就是check2了,也就是本题的难点
可以看到encrypt是一段数据,看汇编发现程序call了encrypt函数
那就很容易想到这边的代码段被加密过,调试发现是机器码与数值异或
运行时再进行解密,所以静态分析失败
只能调试了
跟进encrypt函数
这是一个魔改过的TEA
不难 //但确实折腾了我好久,c语言的有些运算很奇葩
//和17届x1c面试题目差不多,但肯定没那个难
复制下伪代码就行
代码如下
头文件ida.h啥的自己加好了
1 |
|
hgame{781ef0676e13e54163930b609a7da803}
题目出的挺好的,加深了对smc的理解
还有一些加密算法也能复习一下
HGAME 2019 week3
http://www.psbazx.com/2019/02/22/HGAME-2019-week3/