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

📄 yx86unix.cpp

📁 本软件是根据DES加密算法
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	movl	0x400+des_SPtrans(%eax),%ebx
	xorl	%ebx,		%esi
	movl	0x500+des_SPtrans(%edx),%ebx
	xorl	%ebx,		%esi

	/* Round 8 */
	movl	32(%esp),	%eax
	movl	%esi,		%edx
	shrl	$16,		%edx
	movl	36(%esp),	%ecx
	xorl	%esi,		%edx
	andl	%edx,		%eax
	andl	%ecx,		%edx
	movl	%eax,		%ebx
	sall	$16,		%ebx
	movl	%edx,		%ecx
	sall	$16,		%ecx
	xorl	%ebx,		%eax
	xorl	%ecx,		%edx
	movl	64(%ebp),	%ebx
	xorl	%ebx,		%eax
	movl	68(%ebp),	%ecx
	xorl	%esi,		%eax
	xorl	%esi,		%edx
	xorl	%ecx,		%edx
	andl	$0xfcfcfcfc,	%eax
	xorl	%ebx,		%ebx
	andl	$0xcfcfcfcf,	%edx
	xorl	%ecx,		%ecx
	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	28(%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	32(%esp),	%eax
	movl	%edi,		%edx
	shrl	$16,		%edx
	movl	36(%esp),	%ecx
	xorl	%edi,		%edx
	andl	%edx,		%eax
	andl	%ecx,		%edx
	movl	%eax,		%ebx
	sall	$16,		%ebx
	movl	%edx,		%ecx
	sall	$16,		%ecx
	xorl	%ebx,		%eax
	xorl	%ecx,		%edx
	movl	72(%ebp),	%ebx
	xorl	%ebx,		%eax
	movl	76(%ebp),	%ecx
	xorl	%edi,		%eax
	xorl	%edi,		%edx
	xorl	%ecx,		%edx
	andl	$0xfcfcfcfc,	%eax
	xorl	%ebx,		%ebx
	andl	$0xcfcfcfcf,	%edx
	xorl	%ecx,		%ecx
	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	28(%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	32(%esp),	%eax
	movl	%esi,		%edx
	shrl	$16,		%edx
	movl	36(%esp),	%ecx
	xorl	%esi,		%edx
	andl	%edx,		%eax
	andl	%ecx,		%edx
	movl	%eax,		%ebx
	sall	$16,		%ebx
	movl	%edx,		%ecx
	sall	$16,		%ecx
	xorl	%ebx,		%eax
	xorl	%ecx,		%edx
	movl	80(%ebp),	%ebx
	xorl	%ebx,		%eax
	movl	84(%ebp),	%ecx
	xorl	%esi,		%eax
	xorl	%esi,		%edx
	xorl	%ecx,		%edx
	andl	$0xfcfcfcfc,	%eax
	xorl	%ebx,		%ebx
	andl	$0xcfcfcfcf,	%edx
	xorl	%ecx,		%ecx
	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	28(%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	32(%esp),	%eax
	movl	%edi,		%edx
	shrl	$16,		%edx
	movl	36(%esp),	%ecx
	xorl	%edi,		%edx
	andl	%edx,		%eax
	andl	%ecx,		%edx
	movl	%eax,		%ebx
	sall	$16,		%ebx
	movl	%edx,		%ecx
	sall	$16,		%ecx
	xorl	%ebx,		%eax
	xorl	%ecx,		%edx
	movl	88(%ebp),	%ebx
	xorl	%ebx,		%eax
	movl	92(%ebp),	%ecx
	xorl	%edi,		%eax
	xorl	%edi,		%edx
	xorl	%ecx,		%edx
	andl	$0xfcfcfcfc,	%eax
	xorl	%ebx,		%ebx
	andl	$0xcfcfcfcf,	%edx
	xorl	%ecx,		%ecx
	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	28(%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	32(%esp),	%eax
	movl	%esi,		%edx
	shrl	$16,		%edx
	movl	36(%esp),	%ecx
	xorl	%esi,		%edx
	andl	%edx,		%eax
	andl	%ecx,		%edx
	movl	%eax,		%ebx
	sall	$16,		%ebx
	movl	%edx,		%ecx
	sall	$16,		%ecx
	xorl	%ebx,		%eax
	xorl	%ecx,		%edx
	movl	96(%ebp),	%ebx
	xorl	%ebx,		%eax
	movl	100(%ebp),	%ecx
	xorl	%esi,		%eax
	xorl	%esi,		%edx
	xorl	%ecx,		%edx
	andl	$0xfcfcfcfc,	%eax
	xorl	%ebx,		%ebx
	andl	$0xcfcfcfcf,	%edx
	xorl	%ecx,		%ecx
	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	28(%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	32(%esp),	%eax
	movl	%edi,		%edx
	shrl	$16,		%edx
	movl	36(%esp),	%ecx
	xorl	%edi,		%edx
	andl	%edx,		%eax
	andl	%ecx,		%edx
	movl	%eax,		%ebx
	sall	$16,		%ebx
	movl	%edx,		%ecx
	sall	$16,		%ecx
	xorl	%ebx,		%eax
	xorl	%ecx,		%edx
	movl	104(%ebp),	%ebx
	xorl	%ebx,		%eax
	movl	108(%ebp),	%ecx
	xorl	%edi,		%eax
	xorl	%edi,		%edx
	xorl	%ecx,		%edx
	andl	$0xfcfcfcfc,	%eax
	xorl	%ebx,		%ebx
	andl	$0xcfcfcfcf,	%edx
	xorl	%ecx,		%ecx
	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	28(%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	32(%esp),	%eax
	movl	%esi,		%edx
	shrl	$16,		%edx
	movl	36(%esp),	%ecx
	xorl	%esi,		%edx
	andl	%edx,		%eax
	andl	%ecx,		%edx
	movl	%eax,		%ebx
	sall	$16,		%ebx
	movl	%edx,		%ecx
	sall	$16,		%ecx
	xorl	%ebx,		%eax
	xorl	%ecx,		%edx
	movl	112(%ebp),	%ebx
	xorl	%ebx,		%eax
	movl	116(%ebp),	%ecx
	xorl	%esi,		%eax
	xorl	%esi,		%edx
	xorl	%ecx,		%edx
	andl	$0xfcfcfcfc,	%eax
	xorl	%ebx,		%ebx
	andl	$0xcfcfcfcf,	%edx
	xorl	%ecx,		%ecx
	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	28(%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	32(%esp),	%eax
	movl	%edi,		%edx
	shrl	$16,		%edx
	movl	36(%esp),	%ecx
	xorl	%edi,		%edx
	andl	%edx,		%eax
	andl	%ecx,		%edx
	movl	%eax,		%ebx
	sall	$16,		%ebx
	movl	%edx,		%ecx
	sall	$16,		%ecx
	xorl	%ebx,		%eax
	xorl	%ecx,		%edx
	movl	120(%ebp),	%ebx
	xorl	%ebx,		%eax
	movl	124(%ebp),	%ecx
	xorl	%edi,		%eax
	xorl	%edi,		%edx
	xorl	%ecx,		%edx
	andl	$0xfcfcfcfc,	%eax
	xorl	%ebx,		%ebx
	andl	$0xcfcfcfcf,	%edx
	xorl	%ecx,		%ecx
	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	28(%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
	movl	(%esp),		%ebx
	movl	%edi,		%eax
	decl	%ebx
	movl	%esi,		%edi
	movl	%eax,		%esi
	movl	%ebx,		(%esp)
	jnz	.L000start

	/* FP */
	movl	24(%esp),	%edx
.byte 209
.byte 207		/* rorl $1 %edi */
	movl	%esi,		%eax
	xorl	%edi,		%esi
	andl	$0xaaaaaaaa,	%esi
	xorl	%esi,		%eax
	xorl	%esi,		%edi

	roll	$23,		%eax
	movl	%eax,		%esi
	xorl	%edi,		%eax
	andl	$0x03fc03fc,	%eax
	xorl	%eax,		%esi
	xorl	%eax,		%edi

	roll	$10,		%esi
	movl	%esi,		%eax
	xorl	%edi,		%esi
	andl	$0x33333333,	%esi
	xorl	%esi,		%eax
	xorl	%esi,		%edi

	roll	$18,		%edi
	movl	%edi,		%esi
	xorl	%eax,		%edi
	andl	$0xfff0000f,	%edi
	xorl	%edi,		%esi
	xorl	%edi,		%eax

	roll	$12,		%esi
	movl	%esi,		%edi
	xorl	%eax,		%esi
	andl	$0xf0f0f0f0,	%esi
	xorl	%esi,		%edi
	xorl	%esi,		%eax

	rorl	$4,		%eax
	movl	%eax,		(%edx)
	movl	%edi,		4(%edx)
	popl	%ecx
	popl	%edi
	popl	%esi
	popl	%ebx
	popl	%ebp
	ret
.fcrypt_body_end:
	SIZE(fcrypt_body,.fcrypt_body_end-fcrypt_body)
.ident	"fcrypt_body"

⌨️ 快捷键说明

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