长城杯2024复现
easyre
不解释了,42位逐位异或
有些反编译很怪的[a+-k *(b/k)]这个相当于[(a+b) mod len]
而类似
1 | if ( _mm_movemask_epi8( |
是memcmp两个值(wmctf里面x64打开so就是这个,在arm架构等价的就是memcmp)
1 | from prism import * |
tmaze
根据调试分析可以知道它是一个链表(?图),有三个方向和3个标记。要走到最后一个v7的位置
node节点大概是
前三个是指针,后面的sign是三个方向是否可以通过的标记
bef指向前一个node
next指向下一个node
tride的指向没有看懂,但是这个指针是互指的
初始化过程
检查输入过程
这个题当时被困在不会写idc脚本,最后学长告诉我idapython更方便,然后就试了一下idapython发现这个语法和python基本一样,感觉很爽,然后就把脚本搓出来了
1 | import idc |
1 | get_qword 获取对应地址的qword值 |
比赛的时候没出,不知道最后是不是
1 | import uuid |
评论