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

📄 dx86unix.s

📁 This a good VPN source
💻 S
📖 第 1 页 / 共 5 页
字号:
	.size    des_encrypt2 , .des_encrypt2_end-des_encrypt2  .ident	"desasm.pl".text	.align 16 .globl des_encrypt3	.type    des_encrypt3 , @function  des_encrypt3:	pushl	%ebx	movl	8(%esp),	%ebx	pushl	%ebp	pushl	%esi	pushl	%edi	 	movl	(%ebx),		%edi	movl	4(%ebx),	%esi	subl	$12,		%esp	 	roll	$4,		%edi	movl	%edi,		%edx	xorl	%esi,		%edi	andl	$0xf0f0f0f0,	%edi	xorl	%edi,		%edx	xorl	%edi,		%esi	roll	$20,		%esi	movl	%esi,		%edi	xorl	%edx,		%esi	andl	$0xfff0000f,	%esi	xorl	%esi,		%edi	xorl	%esi,		%edx	roll	$14,		%edi	movl	%edi,		%esi	xorl	%edx,		%edi	andl	$0x33333333,	%edi	xorl	%edi,		%esi	xorl	%edi,		%edx	roll	$22,		%edx	movl	%edx,		%edi	xorl	%esi,		%edx	andl	$0x03fc03fc,	%edx	xorl	%edx,		%edi	xorl	%edx,		%esi	roll	$9,		%edi	movl	%edi,		%edx	xorl	%esi,		%edi	andl	$0xaaaaaaaa,	%edi	xorl	%edi,		%edx	xorl	%edi,		%esi	rorl	$3,		%edx	rorl	$2,		%esi	movl	%esi,		4(%ebx)	movl	36(%esp),	%eax	movl	%edx,		(%ebx)	movl	40(%esp),	%edi	movl	44(%esp),	%esi	movl	$1,		8(%esp)	movl	%eax,		4(%esp)	movl	%ebx,		(%esp)	call	des_encrypt2	movl	$0,		8(%esp)	movl	%edi,		4(%esp)	movl	%ebx,		(%esp)	call	des_encrypt2	movl	$1,		8(%esp)	movl	%esi,		4(%esp)	movl	%ebx,		(%esp)	call	des_encrypt2	addl	$12,		%esp	movl	(%ebx),		%edi	movl	4(%ebx),	%esi	 	roll	$2,		%esi	roll	$3,		%edi	movl	%edi,		%eax	xorl	%esi,		%edi	andl	$0xaaaaaaaa,	%edi	xorl	%edi,		%eax	xorl	%edi,		%esi	roll	$23,		%eax	movl	%eax,		%edi	xorl	%esi,		%eax	andl	$0x03fc03fc,	%eax	xorl	%eax,		%edi	xorl	%eax,		%esi	roll	$10,		%edi	movl	%edi,		%eax	xorl	%esi,		%edi	andl	$0x33333333,	%edi	xorl	%edi,		%eax	xorl	%edi,		%esi	roll	$18,		%esi	movl	%esi,		%edi	xorl	%eax,		%esi	andl	$0xfff0000f,	%esi	xorl	%esi,		%edi	xorl	%esi,		%eax	roll	$12,		%edi	movl	%edi,		%esi	xorl	%eax,		%edi	andl	$0xf0f0f0f0,	%edi	xorl	%edi,		%esi	xorl	%edi,		%eax	rorl	$4,		%eax	movl	%eax,		(%ebx)	movl	%esi,		4(%ebx)	popl	%edi	popl	%esi	popl	%ebp	popl	%ebx	ret.des_encrypt3_end:	.size    des_encrypt3 , .des_encrypt3_end-des_encrypt3  .ident	"desasm.pl".text	.align 16 .globl des_decrypt3	.type    des_decrypt3 , @function  des_decrypt3:	pushl	%ebx	movl	8(%esp),	%ebx	pushl	%ebp	pushl	%esi	pushl	%edi	 	movl	(%ebx),		%edi	movl	4(%ebx),	%esi	subl	$12,		%esp	 	roll	$4,		%edi	movl	%edi,		%edx	xorl	%esi,		%edi	andl	$0xf0f0f0f0,	%edi	xorl	%edi,		%edx	xorl	%edi,		%esi	roll	$20,		%esi	movl	%esi,		%edi	xorl	%edx,		%esi	andl	$0xfff0000f,	%esi	xorl	%esi,		%edi	xorl	%esi,		%edx	roll	$14,		%edi	movl	%edi,		%esi	xorl	%edx,		%edi	andl	$0x33333333,	%edi	xorl	%edi,		%esi	xorl	%edi,		%edx	roll	$22,		%edx	movl	%edx,		%edi	xorl	%esi,		%edx	andl	$0x03fc03fc,	%edx	xorl	%edx,		%edi	xorl	%edx,		%esi	roll	$9,		%edi	movl	%edi,		%edx	xorl	%esi,		%edi	andl	$0xaaaaaaaa,	%edi	xorl	%edi,		%edx	xorl	%edi,		%esi	rorl	$3,		%edx	rorl	$2,		%esi	movl	%esi,		4(%ebx)	movl	36(%esp),	%esi	movl	%edx,		(%ebx)	movl	40(%esp),	%edi	movl	44(%esp),	%eax	movl	$0,		8(%esp)	movl	%eax,		4(%esp)	movl	%ebx,		(%esp)	call	des_encrypt2	movl	$1,		8(%esp)	movl	%edi,		4(%esp)	movl	%ebx,		(%esp)	call	des_encrypt2	movl	$0,		8(%esp)	movl	%esi,		4(%esp)	movl	%ebx,		(%esp)	call	des_encrypt2	addl	$12,		%esp	movl	(%ebx),		%edi	movl	4(%ebx),	%esi	 	roll	$2,		%esi	roll	$3,		%edi	movl	%edi,		%eax	xorl	%esi,		%edi	andl	$0xaaaaaaaa,	%edi	xorl	%edi,		%eax	xorl	%edi,		%esi	roll	$23,		%eax	movl	%eax,		%edi	xorl	%esi,		%eax	andl	$0x03fc03fc,	%eax	xorl	%eax,		%edi	xorl	%eax,		%esi	roll	$10,		%edi	movl	%edi,		%eax	xorl	%esi,		%edi	andl	$0x33333333,	%edi	xorl	%edi,		%eax	xorl	%edi,		%esi	roll	$18,		%esi	movl	%esi,		%edi	xorl	%eax,		%esi	andl	$0xfff0000f,	%esi	xorl	%esi,		%edi	xorl	%esi,		%eax	roll	$12,		%edi	movl	%edi,		%esi	xorl	%eax,		%edi	andl	$0xf0f0f0f0,	%edi	xorl	%edi,		%esi	xorl	%edi,		%eax	rorl	$4,		%eax	movl	%eax,		(%ebx)	movl	%esi,		4(%ebx)	popl	%edi	popl	%esi	popl	%ebp	popl	%ebx	ret.des_decrypt3_end:	.size    des_decrypt3 , .des_decrypt3_end-des_decrypt3  .ident	"desasm.pl".text	.align 16 .globl des_ncbc_encrypt	.type    des_ncbc_encrypt , @function  des_ncbc_encrypt:	pushl	%ebp	pushl	%ebx	pushl	%esi	pushl	%edi	movl	28(%esp),	%ebp	 	movl	36(%esp),	%ebx	movl	(%ebx),		%esi	movl	4(%ebx),	%edi	pushl	%edi	pushl	%esi	pushl	%edi	pushl	%esi	movl	%esp,		%ebx	movl	36(%esp),	%esi	movl	40(%esp),	%edi	 	movl	56(%esp),	%ecx	 	pushl	%ecx	 	movl	52(%esp),	%eax	pushl	%eax	pushl	%ebx	cmpl	$0,		%ecx	jz	.L004decrypt	andl	$4294967288,	%ebp	movl	12(%esp),	%eax	movl	16(%esp),	%ebx	jz	.L005encrypt_finish.L006encrypt_loop:	movl	(%esi),		%ecx	movl	4(%esi),	%edx	xorl	%ecx,		%eax	xorl	%edx,		%ebx	movl	%eax,		12(%esp)	movl	%ebx,		16(%esp)	call	des_encrypt	movl	12(%esp),	%eax	movl	16(%esp),	%ebx	movl	%eax,		(%edi)	movl	%ebx,		4(%edi)	addl	$8,		%esi	addl	$8,		%edi	subl	$8,		%ebp	jnz	.L006encrypt_loop.L005encrypt_finish:	movl	56(%esp),	%ebp	andl	$7,		%ebp	jz	.L007finish	xorl	%ecx,		%ecx	xorl	%edx,		%edx	movl	.L008cbc_enc_jmp_table(,%ebp,4),%ebp	jmp	*%ebp.L009ej7:	movb	6(%esi),	%dh	sall	$8,		%edx.L010ej6:	movb	5(%esi),	%dh.L011ej5:	movb	4(%esi),	%dl.L012ej4:	movl	(%esi),		%ecx	jmp	.L013ejend.L014ej3:	movb	2(%esi),	%ch	sall	$8,		%ecx.L015ej2:	movb	1(%esi),	%ch.L016ej1:	movb	(%esi),		%cl.L013ejend:	xorl	%ecx,		%eax	xorl	%edx,		%ebx	movl	%eax,		12(%esp)	movl	%ebx,		16(%esp)	call	des_encrypt	movl	12(%esp),	%eax	movl	16(%esp),	%ebx	movl	%eax,		(%edi)	movl	%ebx,		4(%edi)	jmp	.L007finish.align 16 .L004decrypt:	andl	$4294967288,	%ebp	movl	20(%esp),	%eax	movl	24(%esp),	%ebx	jz	.L017decrypt_finish.L018decrypt_loop:	movl	(%esi),		%eax	movl	4(%esi),	%ebx	movl	%eax,		12(%esp)	movl	%ebx,		16(%esp)	call	des_encrypt	movl	12(%esp),	%eax	movl	16(%esp),	%ebx	movl	20(%esp),	%ecx	movl	24(%esp),	%edx	xorl	%eax,		%ecx	xorl	%ebx,		%edx	movl	(%esi),		%eax	movl	4(%esi),	%ebx	movl	%ecx,		(%edi)	movl	%edx,		4(%edi)	movl	%eax,		20(%esp)	movl	%ebx,		24(%esp)	addl	$8,		%esi	addl	$8,		%edi	subl	$8,		%ebp	jnz	.L018decrypt_loop.L017decrypt_finish:	movl	56(%esp),	%ebp	andl	$7,		%ebp	jz	.L007finish	movl	(%esi),		%eax	movl	4(%esi),	%ebx	movl	%eax,		12(%esp)	movl	%ebx,		16(%esp)	call	des_encrypt	movl	12(%esp),	%eax	movl	16(%esp),	%ebx	movl	20(%esp),	%ecx	movl	24(%esp),	%edx	xorl	%eax,		%ecx	xorl	%ebx,		%edx	movl	(%esi),		%eax	movl	4(%esi),	%ebx.L019dj7:	rorl	$16,		%edx	movb	%dl,		6(%edi)	shrl	$16,		%edx.L020dj6:	movb	%dh,		5(%edi).L021dj5:	movb	%dl,		4(%edi).L022dj4:	movl	%ecx,		(%edi)	jmp	.L023djend.L024dj3:	rorl	$16,		%ecx	movb	%cl,		2(%edi)	sall	$16,		%ecx.L025dj2:	movb	%ch,		1(%esi).L026dj1:	movb	%cl,		(%esi).L023djend:	jmp	.L007finish.align 16 .L007finish:	movl	64(%esp),	%ecx	addl	$28,		%esp	movl	%eax,		(%ecx)	movl	%ebx,		4(%ecx)	popl	%edi	popl	%esi	popl	%ebx	popl	%ebp	ret.align 16 .L008cbc_enc_jmp_table:	.long 0	.long .L016ej1	.long .L015ej2	.long .L014ej3	.long .L012ej4	.long .L011ej5	.long .L010ej6	.long .L009ej7.align 16 .L027cbc_dec_jmp_table:	.long 0	.long .L026dj1	.long .L025dj2	.long .L024dj3	.long .L022dj4	.long .L021dj5	.long .L020dj6	.long .L019dj7.des_ncbc_encrypt_end:	.size    des_ncbc_encrypt , .des_ncbc_encrypt_end-des_ncbc_encrypt  .ident	"desasm.pl".text	.align 16 .globl des_ede3_cbc_encrypt	.type    des_ede3_cbc_encrypt , @function  des_ede3_cbc_encrypt:	pushl	%ebp	pushl	%ebx	pushl	%esi	pushl	%edi	movl	28(%esp),	%ebp	 	movl	44(%esp),	%ebx	movl	(%ebx),		%esi	movl	4(%ebx),	%edi	pushl	%edi	pushl	%esi	pushl	%edi	pushl	%esi	movl	%esp,		%ebx	movl	36(%esp),	%esi	movl	40(%esp),	%edi	 	movl	64(%esp),	%ecx	 	movl	56(%esp),	%eax	pushl	%eax	 	movl	56(%esp),	%eax	pushl	%eax	 	movl	56(%esp),	%eax	pushl	%eax	pushl	%ebx	cmpl	$0,		%ecx	jz	.L028decrypt	andl	$4294967288,	%ebp	movl	16(%esp),	%eax	movl	20(%esp),	%ebx	jz	.L029encrypt_finish.L030encrypt_loop:	movl	(%esi),		%ecx	movl	4(%esi),	%edx	xorl	%ecx,		%eax	xorl	%edx,		%ebx	movl	%eax,		16(%esp)	movl	%ebx,		20(%esp)	call	des_encrypt3	movl	16(%esp),	%eax	movl	20(%esp),	%ebx	movl	%eax,		(%edi)	movl	%ebx,		4(%edi)	addl	$8,		%esi	addl	$8,		%edi	subl	$8,		%ebp	jnz	.L030encrypt_loop.L029encrypt_finish:	movl	60(%esp),	%ebp	andl	$7,		%ebp	jz	.L031finish	xorl	%ecx,		%ecx	xorl	%edx,		%edx	movl	.L032cbc_enc_jmp_table(,%ebp,4),%ebp	jmp	*%ebp.L033ej7:	movb	6(%esi),	%dh	sall	$8,		%edx.L034ej6:	movb	5(%esi),	%dh.L035ej5:	movb	4(%esi),	%dl.L036ej4:	movl	(%esi),		%ecx	jmp	.L037ejend.L038ej3:	movb	2(%esi),	%ch	sall	$8,		%ecx.L039ej2:	movb	1(%esi),	%ch.L040ej1:	movb	(%esi),		%cl.L037ejend:	xorl	%ecx,		%eax	xorl	%edx,		%ebx	movl	%eax,		16(%esp)	movl	%ebx,		20(%esp)	call	des_encrypt3	movl	16(%esp),	%eax	movl	20(%esp),	%ebx	movl	%eax,		(%edi)	movl	%ebx,		4(%edi)	jmp	.L031finish.align 16 .L028decrypt:	andl	$4294967288,	%ebp	movl	24(%esp),	%eax	movl	28(%esp),	%ebx	jz	.L041decrypt_finish.L042decrypt_loop:	movl	(%esi),		%eax	movl	4(%esi),	%ebx	movl	%eax,		16(%esp)	movl	%ebx,		20(%esp)	call	des_decrypt3	movl	16(%esp),	%eax	movl	20(%esp),	%ebx	movl	24(%esp),	%ecx	movl	28(%esp),	%edx	xorl	%eax,		%ecx	xorl	%ebx,		%edx	movl	(%esi),		%eax	movl	4(%esi),	%ebx	movl	%ecx,		(%edi)	movl	%edx,		4(%edi)	movl	%eax,		24(%esp)	movl	%ebx,		28(%esp)	addl	$8,		%esi	addl	$8,		%edi	subl	$8,		%ebp	jnz	.L042decrypt_loop.L041decrypt_finish:	movl	60(%esp),	%ebp	andl	$7,		%ebp	jz	.L031finish	movl	(%esi),		%eax	movl	4(%esi),	%ebx	movl	%eax,		16(%esp)	movl	%ebx,		20(%esp)	call	des_decrypt3	movl	16(%esp),	%eax	movl	20(%esp),	%ebx	movl	24(%esp),	%ecx	movl	28(%esp),	%edx	xorl	%eax,		%ecx	xorl	%ebx,		%edx	movl	(%esi),		%eax	movl	4(%esi),	%ebx.L043dj7:	rorl	$16,		%edx	movb	%dl,		6(%edi)	shrl	$16,		%edx.L044dj6:	movb	%dh,		5(%edi).L045dj5:	movb	%dl,		4(%edi).L046dj4:	movl	%ecx,		(%edi)	jmp	.L047djend.L048dj3:	rorl	$16,		%ecx	movb	%cl,		2(%edi)	sall	$16,		%ecx.L049dj2:	movb	%ch,		1(%esi).L050dj1:	movb	%cl,		(%esi).L047djend:	jmp	.L031finish.align 16 .L031finish:	movl	76(%esp),	%ecx	addl	$32,		%esp	movl	%eax,		(%ecx)	movl	%ebx,		4(%ecx)	popl	%edi	popl	%esi	popl	%ebx	popl	%ebp	ret.align 16 .L032cbc_enc_jmp_table:	.long 0	.long .L040ej1	.long .L039ej2	.long .L038ej3	.long .L036ej4	.long .L035ej5	.long .L034ej6	.long .L033ej7.align 16 .L051cbc_dec_jmp_table:	.long 0	.long .L050dj1	.long .L049dj2	.long .L048dj3	.long .L046dj4	.long .L045dj5	.long .L044dj6	.long .L043dj7.des_ede3_cbc_encrypt_end:	.size    des_ede3_cbc_encrypt , .des_ede3_cbc_encrypt_end-des_ede3_cbc_encrypt  .ident	"desasm.pl"

⌨️ 快捷键说明

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