type
status
date
slug
summary
tags
category
icon
password
easyre
一、分析
有用的伪代码就这一段
看得出来关键加密就是for循环里的异或加密
分析这一段加密
简化一下就是:
- 前41位,input的前一位xor后一位
- input[41] ^= input[0]
- input[42] ^= input[1]
二、确定cipher
根据这个if语句中的条件,确定来确定cipher
解释
- _mm_loadu_si128(input):
这是一个 SSE 指令,表示从
input
地址处加载一个 128 位(16 字节)的未对齐数据到一个 SSE 寄存器中
- _mm_cmpeq_epi8(_mm_loadu_si128(input), data1):
这是一个字节级的比较指令,比较
_mm_loadu_si128(input)
中的每个字节和data1
中的每个字节;结果是每个字节比较的结果:如果某个字节相等,则对应的结果字节为 0xFF(即全1),否则为 0x00(全0)
- _mm_and_si128(...):这是一个按位与操作,对前两个比较结果的每个字节进行按位与运算。相当于都为 0xFF(全1,表示相等)时,结果字节才为 0xFF;否则结果字节为 0x00
- _mm_movemask_epi8(...):这是将每个字节的最高位(即第8位)提取出来,形成一个 16 位的整数;若某个字节的最高位是1(即该字节为 0xFF),则对应的位为1;否则为0
- 最后结果要
==0xFFFF
,相当于全为1
换言之,取input的32位进行对比,相同则正确,根据data2可以确定校验的后16位在data1中的位置,往前推16位即是校验的前16位
因此,正确的cipher为剩下的data1
三、解题
根据以上分析,可以将整个题简化为一个异或加密,结果与cipher对比
直接写个正面爆破即可完成:
exp
tmaze
根据题目猜测它是T型迷宫
结果上网搜全是动物实验= =,利用上网找图的思路
一、分析
DIE查询可知是64位程序,进入ida分析 →
初始并没有发现有什么引导输入的伪代码,开调!
1.1 传参方式及输入字符
在
if(v5 == 43)
处下断点,调试可以发现终端并未让输入这里可以确定程序是命令行传参
在此输入再进行调试即可
在下面的switch-case逻辑中,可以看出要求输入字符
xyz
1.2 确定输入长度
可以看出v4是输入的
path
分析这一段,do-while循环是在统计输入的字符串长度,检索到0结束
可以确定path的长度为42
1.3 调试switch之前的逻辑
这个语句,
unk_7FF7D50D7000
中是若干1和0组成的数组,猜测是构成迷宫的参数,dword_7FF7D50D7FA0
是固定参数10sub_7FF7D50A1230
里是复杂的迷宫生成函数,对我来说难以分析我就先没管调试可以知道,data0、data1、data2分别存储了一个地址
- data0:1DDFFDACD70h
- data1:1DDFFDAEA60h
- data2:1DDFFDAEE20h
1.4 调试switch之后的逻辑
根据最后的if判断语句和switch逻辑,可以知道data1指向的地址是会发生变化的
v7的地址就是data2存的地址
那么,可以分析出来,
data1
其实就是当前操作对应地址,最开始的的data1就是start_loc
,data2
就是最后的地址end_loc
再但拿一个case来分析:
- 都是对地址操作,v15就是
now_loc
,v19存储的是*(now_loc + 16)这个地址的值,而这个值恰好又是一个地址,可以说v19 是next
- 要满足不去执行goto的操作,需要让if里的条件为假,满足:next ≠ 0、*(now_loc + 26) = 0
分析完可以得到:
二、解题
根据输入全跟地址相关,以及地址操作全在下半段
就可以考虑不管上半迷宫生成的逻辑
我们可以把
1.3
分析的内容全部理解为:获得start_loc
和end_loc
2.1 解题思路
用
idapython
,把start_loc
到end_loc
的内容当作迷宫,根据switch-case的限制逻辑,利用深度搜索算法来输出符合条件的xyz
,即path2.2 EXP
用递归算法实现深度搜索
记录已经访问过的地址(相当于迷宫中已经走过的坐标)为
all_visited_loc
,来实现减少搜索量2.3 验证
xiran_encrypto
Tips:
xiran_encrypto是恶意样本分析,本质是从cha文件里解出一个数据流,clickme文件是chacha20对flag.png文件进行加密。对本人来说太难了,分析不出来QAQ,后续若能理解再来分享。- 作者:Sh4d0w
- 链接:https://sh4d0w.life//article/40058453-a58d-4b57-bd2d-c64afc3a5028
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章