此处调用 怀疑使用内联汇编

r1

OD动态调试,进到main函数会看到第一次输出

r2

往下有一个动态装载Dll链接库,加载Kernel.dll 然后……或者CreateProcessA 创建一个挂起的自身。

然后获取上下文。

r3

剩下好像交与了新进程,这块有点没看太清楚对新进程的寄存器怎么个修改法。可以理解为代码注入到新进程,或者调试新进程。

下面还有一个setthreadcontext

r4

可以定位到新进程的输入。

r5

这是接受输入的

r6

这一块是输出GetIt !

上面没法调试,结合了IDA获取了算法。

r7

拿到密文和加密算法……剩下的就是暴力的手段了……

void re3_getkey()
{
	int t=0,i=0,index=0;
	char jikekey[9]="JIKE1202",flag[100]=" ",temp;
	char key[100] = "Fiac>d;=ImlNNfQPR[lPJ?hsIEmrN;=H";
	char CharSet[100]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890?!@#$%^&*()_+\\{}[]|<>";
	do
	{
		for (i=0;i<83;i++)
		{
			flag[index]=CharSet[i];
			temp = ((flag[index]&0x20|jikekey[index%strlen(jikekey)])^(flag[index]<<(jikekey[index%strlen(jikekey)]&1)))%65+58;
			if (temp==key[index])
			{
				index+=1;
				break;
			}
		}
	}
	while (index < 32);
	printf("%s \n",flag);
}

还是暴力美学好

flag{Yrven_Is_here_Nqt_Hero_spt}
页面下部广告

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

鲁ICP备17018668号-1