desboth.pl

来自「安全套接字层」· PL 代码 · 共 80 行

PL
80
字号
#!/usr/local/bin/perl$L="edi";$R="esi";sub des_encrypt3	{	local($name,$enc)=@_;	&function_begin_B($name,"");	&push("ebx");	&mov("ebx",&wparam(0));	&push("ebp");	&push("esi");	&push("edi");	&comment("");	&comment("Load the data words");	&mov($L,&DWP(0,"ebx","",0));	&mov($R,&DWP(4,"ebx","",0));	&stack_push(3);	&comment("");	&comment("IP");	&IP_new($L,$R,"edx",0);	# put them back		if ($enc)		{		&mov(&DWP(4,"ebx","",0),$R);		 &mov("eax",&wparam(1));		&mov(&DWP(0,"ebx","",0),"edx");		 &mov("edi",&wparam(2));		 &mov("esi",&wparam(3));		}	else		{		&mov(&DWP(4,"ebx","",0),$R);		 &mov("esi",&wparam(1));		&mov(&DWP(0,"ebx","",0),"edx");		 &mov("edi",&wparam(2));		 &mov("eax",&wparam(3));		}	&mov(&swtmp(2),	(DWC(($enc)?"1":"0")));	&mov(&swtmp(1),	"eax");	&mov(&swtmp(0),	"ebx");	&call("des_encrypt2");	&mov(&swtmp(2),	(DWC(($enc)?"0":"1")));	&mov(&swtmp(1),	"edi");	&mov(&swtmp(0),	"ebx");	&call("des_encrypt2");	&mov(&swtmp(2),	(DWC(($enc)?"1":"0")));	&mov(&swtmp(1),	"esi");	&mov(&swtmp(0),	"ebx");	&call("des_encrypt2");	&stack_pop(3);	&mov($L,&DWP(0,"ebx","",0));	&mov($R,&DWP(4,"ebx","",0));	&comment("");	&comment("FP");	&FP_new($L,$R,"eax",0);	&mov(&DWP(0,"ebx","",0),"eax");	&mov(&DWP(4,"ebx","",0),$R);	&pop("edi");	&pop("esi");	&pop("ebp");	&pop("ebx");	&ret();	&function_end_B($name);	}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?