[FlareOn4]IgniteMe
查壳
发现程序是没有壳的
IDA (静动)分析
静态
然后 我们再F5 查看start的伪代码
然后我们进入 sub_4010F0 看看
读取某个字符串 然后传入全局变量当中
再进入sub_401050 看看
那么我们现在未知v4的值 为了避免麻烦 其实我们可以直接在IDA动态调试该程序来获取v4的值
动调
我们首先在v4的位置下一个断点
然后选择这个 然后我们在Debugger->Stare process
发现会报
这个错误,原因是因为IDA 7.0以后很难自己打开\dbgsrv\win32_remote.exe这个程序
我们手动打开这个文件,就行了
进入调试之后 我们随便输入下flag的值,可以看到V4的值为4
get flag
脚本
#include<stdio.h>
#include<string.h>
char data[40] =
{
13, 38, 73, 69, 42, 23, 120, 68, 43, 108,
93, 94, 69, 18, 47, 23, 43, 68, 111, 110,
86, 9, 95, 69, 71, 115, 38, 10, 13, 19,
23, 72, 66, 1, 64, 77, 12, 2, 105, 0
};
int main(void)
{
int i =0,j=0,k=0;
char flag[40] = { 0 };
char v4 = 4;
for(i = 38;i >=0;i--)
{
j = v4^data[i];
flag[i] = j;
v4 = j;
}
printf("flag{%s}",flag);
return 0;
}
flag 就为
flag{R_y0u_H0t_3n0ugH_t0_1gn1t3@flare-on.com}