⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d-sol.s

📁 老外写的加密库cryptlib(版本3.1)
💻 S
📖 第 1 页 / 共 5 页
字号:
	/ Don't even think of reading this code 	/ It was automatically generated by des-586.pl 	/ Which is a perl program used to generate the x86 assember for 	/ any of elf, a.out, BSDI, Win32, gaswin (for GNU as on Win32) or Solaris 	/ eric <eay@cryptsoft.com> 	.file	"des-586.s"	.version	"01.01"gcc2_compiled.:.text	.align 16.globl des_encrypt1	.type	des_encrypt1,@functiondes_encrypt1:	pushl	%esi	pushl	%edi	/ Load the 2 words 	movl	12(%esp),	%esi	xorl	%ecx,		%ecx	pushl	%ebx	pushl	%ebp	movl	(%esi),		%eax	movl	28(%esp),	%ebx	movl	4(%esi),	%edi	/ IP 	roll	$4,		%eax	movl	%eax,		%esi	xorl	%edi,		%eax	andl	$0xf0f0f0f0,	%eax	xorl	%eax,		%esi	xorl	%eax,		%edi	roll	$20,		%edi	movl	%edi,		%eax	xorl	%esi,		%edi	andl	$0xfff0000f,	%edi	xorl	%edi,		%eax	xorl	%edi,		%esi	roll	$14,		%eax	movl	%eax,		%edi	xorl	%esi,		%eax	andl	$0x33333333,	%eax	xorl	%eax,		%edi	xorl	%eax,		%esi	roll	$22,		%esi	movl	%esi,		%eax	xorl	%edi,		%esi	andl	$0x03fc03fc,	%esi	xorl	%esi,		%eax	xorl	%esi,		%edi	roll	$9,		%eax	movl	%eax,		%esi	xorl	%edi,		%eax	andl	$0xaaaaaaaa,	%eax	xorl	%eax,		%esi	xorl	%eax,		%edi.byte 209.byte 199		/ roll $1 %edi 	movl	24(%esp),	%ebp	cmpl	$0,		%ebx	je	.L000start_decrypt	/ Round 0 	movl	(%ebp),		%eax	xorl	%ebx,		%ebx	movl	4(%ebp),	%edx	xorl	%esi,		%eax	xorl	%esi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/ Round 1 	movl	8(%ebp),	%eax	xorl	%ebx,		%ebx	movl	12(%ebp),	%edx	xorl	%edi,		%eax	xorl	%edi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/ Round 2 	movl	16(%ebp),	%eax	xorl	%ebx,		%ebx	movl	20(%ebp),	%edx	xorl	%esi,		%eax	xorl	%esi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/ Round 3 	movl	24(%ebp),	%eax	xorl	%ebx,		%ebx	movl	28(%ebp),	%edx	xorl	%edi,		%eax	xorl	%edi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/ Round 4 	movl	32(%ebp),	%eax	xorl	%ebx,		%ebx	movl	36(%ebp),	%edx	xorl	%esi,		%eax	xorl	%esi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/ Round 5 	movl	40(%ebp),	%eax	xorl	%ebx,		%ebx	movl	44(%ebp),	%edx	xorl	%edi,		%eax	xorl	%edi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/ Round 6 	movl	48(%ebp),	%eax	xorl	%ebx,		%ebx	movl	52(%ebp),	%edx	xorl	%esi,		%eax	xorl	%esi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/ Round 7 	movl	56(%ebp),	%eax	xorl	%ebx,		%ebx	movl	60(%ebp),	%edx	xorl	%edi,		%eax	xorl	%edi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/ Round 8 	movl	64(%ebp),	%eax	xorl	%ebx,		%ebx	movl	68(%ebp),	%edx	xorl	%esi,		%eax	xorl	%esi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/ Round 9 	movl	72(%ebp),	%eax	xorl	%ebx,		%ebx	movl	76(%ebp),	%edx	xorl	%edi,		%eax	xorl	%edi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/ Round 10 	movl	80(%ebp),	%eax	xorl	%ebx,		%ebx	movl	84(%ebp),	%edx	xorl	%esi,		%eax	xorl	%esi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/ Round 11 	movl	88(%ebp),	%eax	xorl	%ebx,		%ebx	movl	92(%ebp),	%edx	xorl	%edi,		%eax	xorl	%edi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/ Round 12 	movl	96(%ebp),	%eax	xorl	%ebx,		%ebx	movl	100(%ebp),	%edx	xorl	%esi,		%eax	xorl	%esi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/ Round 13 	movl	104(%ebp),	%eax	xorl	%ebx,		%ebx	movl	108(%ebp),	%edx	xorl	%edi,		%eax	xorl	%edi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%esi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%esi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%esi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%esi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%esi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%esi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%esi	/ Round 14 	movl	112(%ebp),	%eax	xorl	%ebx,		%ebx	movl	116(%ebp),	%edx	xorl	%esi,		%eax	xorl	%esi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx	movb	%al,		%bl	movb	%ah,		%cl	rorl	$4,		%edx	movl	      des_SPtrans(%ebx),%ebp	movb	%dl,		%bl	xorl	%ebp,		%edi	movl	0x200+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movb	%dh,		%cl	shrl	$16,		%eax	movl	0x100+des_SPtrans(%ebx),%ebp	xorl	%ebp,		%edi	movb	%ah,		%bl	shrl	$16,		%edx	movl	0x300+des_SPtrans(%ecx),%ebp	xorl	%ebp,		%edi	movl	24(%esp),	%ebp	movb	%dh,		%cl	andl	$0xff,		%eax	andl	$0xff,		%edx	movl	0x600+des_SPtrans(%ebx),%ebx	xorl	%ebx,		%edi	movl	0x700+des_SPtrans(%ecx),%ebx	xorl	%ebx,		%edi	movl	0x400+des_SPtrans(%eax),%ebx	xorl	%ebx,		%edi	movl	0x500+des_SPtrans(%edx),%ebx	xorl	%ebx,		%edi	/ Round 15 	movl	120(%ebp),	%eax	xorl	%ebx,		%ebx	movl	124(%ebp),	%edx	xorl	%edi,		%eax	xorl	%edi,		%edx	andl	$0xfcfcfcfc,	%eax	andl	$0xcfcfcfcf,	%edx

⌨️ 快捷键说明

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