网鼎杯2022青龙组 re694

分析

首先查壳

image-20220902211629733

这里提示不能直接去upx的壳,先放入winhex中看看

image-20220902213624082

发现这里是FUK,这里将特征码给改了,所以要将FUK改为UPX然后保存

image-20220902213922052

然后常规UPX的脱壳

image-20220902214056554

然后放入IDA分析,找到关键语句进行交叉引用

image-20220902214149673

发现关键的函数只有这两个

image-20220902214301189

然后跟进这个函数

image-20220902214358615

image-20220902214610034

然后去外面sub_1400111E5函数中看看

image-20220902214704242

image-20220902214838882

这一部分是加密,然后进去sub_140011276函数中看一下

image-20220902214924593

这里是进行判断的,可以从这里提取到关键字符

image-20220902215024131

脚本

#include<stdio.h>
#include<string.h>
int main()
{
char d[] = {
0x4B,0x48,0x79,0x13,0x45,0x30,0x5C,0x49,0x5A,0x79,
0x13,0x70,0x6D,0x78,0x13,0x6F,0x48,0x5D,0x64,0x64};
for(int i=0;i<20;i++)
{
d[i] = (d[i] ^ 0x50) - 10;
}
for(int j=0;j<20;j++)
{
d[j] = d[j] ^ 0x66;
}
printf("%s",d);
}

总结

还是要去看看关于壳和免杀的内容以及PE结构,太重要了/(ㄒoㄒ)/~~