ezASM
将文件下载之后直接打开然后得到汇编代码直接观察可得是简单异或
得到上述分析之后写出代码
#include<stdio.h>
#include<string.h>
int main()
{
char enc[34] =
{
74, 69, 67, 79, 71, 89, 99, 113, 111, 125, 107, 81, 125, 107, 79, 82, 18, 80,
86, 22, 76, 86, 125, 22, 125, 112, 71, 84, 17, 80, 81, 17, 95, 34
};
for(int i = 0; i < strlen(enc); i++)
{
enc[i] = enc[i]^0x22;
printf("%c", enc[i]);
}
return 0;
}
hgame{ASM_Is_Imp0rt4nt_4_Rev3rs3}
ezUPX
打开下载文件之后拖入exe,发现有壳,然后是64字节,进行脱壳
下图是脱壳完成后的,拖入ida64
拖ida64之后进行分析,发现直接异或0x32即可得到flag
点进入ida进行分析,然后提取数据先*在用shift+e
#include<stdio.h>
#include<string.h>
int main()
{
char enc[38] =
{
100, 123, 118, 115, 96, 73, 101, 93, 69, 19,
107, 2, 71, 109, 89, 92, 2, 69, 109, 6,
109, 94, 3, 70, 70, 94, 1, 109, 2, 84,
109, 103, 98, 106, 19, 79, 50
};
for(int i = 0; i < strlen(enc); i++)
{
enc[i] = enc[i]^0x32;
printf("%c", enc[i]);
}
return 0;
}
VIDAR{Wow!Y0u_kn0w_4_l1ttl3_0f_UPX!}
ezIDA
拖入exe发现是64字节然后拖入ida64
可直接得到flag
hgame{W3lc0me_T0_Th3_World_of_Rev3rse!}
ezPYC
这是一道python的反汇编题先下载文件发现是.exe
首先,我们先将pyinstxtractor.py
工具与我们要反编译的.exe
文件放入同一个工作目录下
然后在上面输入cmd 打开终端,输入python pyinstxtractor.py 文件名.exe,回车运行
然后发现下面多了一个文件夹,之后找到了 同名的pyc文件
将pyc文件和pycdc这些放在一个文件夹里然后将pyc文件反汇编为py
同上在上面输入cmd进入终端然后输入pycdc.exe+文件名.pyc,得到python代码
分析代码写出c语言代码得到flag
#include<stdio.h>
#include<string.h>
int main()
{
char enc[38] = {
87,75, 71,69, 83, 121, 83, 125, 117,106,
108,106,94, 80, 48, 114, 100, 112, 112, 55,
94, 51,112, 91, 48, 108,119, 97, 115,
49,112, 112,48,108,100,37,124,2};
char c[5]={1,2,3,4};
for(int i = 0; i < strlen(enc); i++)
{
enc[i] = enc[i] ^(i%4+1);
printf("%c", enc[i]);
}
return 0;
}
VIDAR{Python_R3vers3_1s_1nter3st1ng!}