Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
01378334
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
1 年多 前同步成功
通知
10
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
01378334
编写于
4月 27, 1999
作者:
U
Ulf Möller
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove autogenerated file.
上级
1e103eaf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
0 addition
and
976 deletion
+0
-976
crypto/bf/asm/bx86unix.cpp
crypto/bf/asm/bx86unix.cpp
+0
-976
未找到文件。
crypto/bf/asm/bx86unix.cpp
已删除
100644 → 0
浏览文件 @
1e103eaf
/* Run the C pre-processor over this file with one of the following defined
* ELF - elf object files,
* OUT - a.out object files,
* BSDI - BSDI style a.out object files
* SOL - Solaris style elf
*/
#define TYPE(a,b) .type a,b
#define SIZE(a,b) .size a,b
#if defined(OUT) || defined(BSDI)
#define BF_encrypt _BF_encrypt
#define BF_decrypt _BF_decrypt
#define BF_cbc_encrypt _BF_cbc_encrypt
#endif
#ifdef OUT
#define OK 1
#define ALIGN 4
#endif
#ifdef BSDI
#define OK 1
#define ALIGN 4
#undef SIZE
#undef TYPE
#define SIZE(a,b)
#define TYPE(a,b)
#endif
#if defined(ELF) || defined(SOL)
#define OK 1
#define ALIGN 16
#endif
#ifndef OK
You
need
to
define
one
of
ELF
-
elf
systems
-
linux
-
elf
,
NetBSD
and
DG
-
UX
OUT
-
a
.
out
systems
-
linux
-
a
.
out
and
FreeBSD
SOL
-
solaris
systems
,
which
are
elf
with
strange
comment
lines
BSDI
-
a
.
out
with
a
very
primative
version
of
as
.
#endif
/* Let the Assembler begin :-) */
/* Don't even think of reading this code */
/* It was automatically generated by bf-586.pl */
/* Which is a perl program used to generate the x86 assember for */
/* any of elf, a.out, BSDI,Win32, or Solaris */
/* eric <eay@cryptsoft.com> */
.
file
"bf-586.s"
.
version
"01.01"
gcc2_compiled
.
:
.
text
.
align
ALIGN
.
globl
BF_encrypt
TYPE
(
BF_encrypt
,
@
function
)
BF_encrypt
:
pushl
%
ebp
pushl
%
ebx
movl
12
(
%
esp
),
%
ebx
movl
16
(
%
esp
),
%
ebp
pushl
%
esi
pushl
%
edi
/* Load the 2 words */
movl
(
%
ebx
),
%
edi
movl
4
(
%
ebx
),
%
esi
xorl
%
eax
,
%
eax
movl
(
%
ebp
),
%
ebx
xorl
%
ecx
,
%
ecx
xorl
%
ebx
,
%
edi
/* Round 0 */
movl
4
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 1 */
movl
8
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 2 */
movl
12
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 3 */
movl
16
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 4 */
movl
20
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 5 */
movl
24
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 6 */
movl
28
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 7 */
movl
32
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 8 */
movl
36
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 9 */
movl
40
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 10 */
movl
44
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 11 */
movl
48
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 12 */
movl
52
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 13 */
movl
56
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 14 */
movl
60
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 15 */
movl
64
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
/* Load parameter 0 (16) enc=1 */
movl
20
(
%
esp
),
%
eax
xorl
%
ebx
,
%
edi
movl
68
(
%
ebp
),
%
edx
xorl
%
edx
,
%
esi
movl
%
edi
,
4
(
%
eax
)
movl
%
esi
,
(
%
eax
)
popl
%
edi
popl
%
esi
popl
%
ebx
popl
%
ebp
ret
.
BF_encrypt_end
:
SIZE
(
BF_encrypt
,.
BF_encrypt_end
-
BF_encrypt
)
.
ident
"BF_encrypt"
.
text
.
align
ALIGN
.
globl
BF_decrypt
TYPE
(
BF_decrypt
,
@
function
)
BF_decrypt
:
pushl
%
ebp
pushl
%
ebx
movl
12
(
%
esp
),
%
ebx
movl
16
(
%
esp
),
%
ebp
pushl
%
esi
pushl
%
edi
/* Load the 2 words */
movl
(
%
ebx
),
%
edi
movl
4
(
%
ebx
),
%
esi
xorl
%
eax
,
%
eax
movl
68
(
%
ebp
),
%
ebx
xorl
%
ecx
,
%
ecx
xorl
%
ebx
,
%
edi
/* Round 16 */
movl
64
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 15 */
movl
60
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 14 */
movl
56
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 13 */
movl
52
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 12 */
movl
48
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 11 */
movl
44
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 10 */
movl
40
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 9 */
movl
36
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 8 */
movl
32
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 7 */
movl
28
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 6 */
movl
24
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 5 */
movl
20
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 4 */
movl
16
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 3 */
movl
12
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
edi
/* Round 2 */
movl
8
(
%
ebp
),
%
edx
movl
%
edi
,
%
ebx
xorl
%
edx
,
%
esi
shrl
$
16
,
%
ebx
movl
%
edi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
xorl
%
eax
,
%
eax
xorl
%
ebx
,
%
esi
/* Round 1 */
movl
4
(
%
ebp
),
%
edx
movl
%
esi
,
%
ebx
xorl
%
edx
,
%
edi
shrl
$
16
,
%
ebx
movl
%
esi
,
%
edx
movb
%
bh
,
%
al
andl
$
255
,
%
ebx
movb
%
dh
,
%
cl
andl
$
255
,
%
edx
movl
72
(
%
ebp
,
%
eax
,
4
),
%
eax
movl
1096
(
%
ebp
,
%
ebx
,
4
),
%
ebx
addl
%
eax
,
%
ebx
movl
2120
(
%
ebp
,
%
ecx
,
4
),
%
eax
xorl
%
eax
,
%
ebx
movl
3144
(
%
ebp
,
%
edx
,
4
),
%
edx
addl
%
edx
,
%
ebx
/* Load parameter 0 (1) enc=0 */
movl
20
(
%
esp
),
%
eax
xorl
%
ebx
,
%
edi
movl
(
%
ebp
),
%
edx
xorl
%
edx
,
%
esi
movl
%
edi
,
4
(
%
eax
)
movl
%
esi
,
(
%
eax
)
popl
%
edi
popl
%
esi
popl
%
ebx
popl
%
ebp
ret
.
BF_decrypt_end
:
SIZE
(
BF_decrypt
,.
BF_decrypt_end
-
BF_decrypt
)
.
ident
"BF_decrypt"
.
text
.
align
ALIGN
.
globl
BF_cbc_encrypt
TYPE
(
BF_cbc_encrypt
,
@
function
)
BF_cbc_encrypt
:
pushl
%
ebp
pushl
%
ebx
pushl
%
esi
pushl
%
edi
movl
28
(
%
esp
),
%
ebp
/* getting iv ptr from parameter 4 */
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
/* getting encrypt flag from parameter 5 */
movl
56
(
%
esp
),
%
ecx
/* get and push parameter 3 */
movl
48
(
%
esp
),
%
eax
pushl
%
eax
pushl
%
ebx
cmpl
$
0
,
%
ecx
jz
.
L000decrypt
andl
$
4294967288
,
%
ebp
movl
8
(
%
esp
),
%
eax
movl
12
(
%
esp
),
%
ebx
jz
.
L001encrypt_finish
.
L002encrypt_loop
:
movl
(
%
esi
),
%
ecx
movl
4
(
%
esi
),
%
edx
xorl
%
ecx
,
%
eax
xorl
%
edx
,
%
ebx
.
byte
15
.
byte
200
/* bswapl %eax */
.
byte
15
.
byte
203
/* bswapl %ebx */
movl
%
eax
,
8
(
%
esp
)
movl
%
ebx
,
12
(
%
esp
)
call
BF_encrypt
movl
8
(
%
esp
),
%
eax
movl
12
(
%
esp
),
%
ebx
.
byte
15
.
byte
200
/* bswapl %eax */
.
byte
15
.
byte
203
/* bswapl %ebx */
movl
%
eax
,
(
%
edi
)
movl
%
ebx
,
4
(
%
edi
)
addl
$
8
,
%
esi
addl
$
8
,
%
edi
subl
$
8
,
%
ebp
jnz
.
L002encrypt_loop
.
L001encrypt_finish
:
movl
52
(
%
esp
),
%
ebp
andl
$
7
,
%
ebp
jz
.
L003finish
xorl
%
ecx
,
%
ecx
xorl
%
edx
,
%
edx
movl
.
L004cbc_enc_jmp_table
(,
%
ebp
,
4
),
%
ebp
jmp
*%
ebp
.
L005ej7
:
movb
6
(
%
esi
),
%
dh
sall
$
8
,
%
edx
.
L006ej6
:
movb
5
(
%
esi
),
%
dh
.
L007ej5
:
movb
4
(
%
esi
),
%
dl
.
L008ej4
:
movl
(
%
esi
),
%
ecx
jmp
.
L009ejend
.
L010ej3
:
movb
2
(
%
esi
),
%
ch
sall
$
8
,
%
ecx
.
L011ej2
:
movb
1
(
%
esi
),
%
ch
.
L012ej1
:
movb
(
%
esi
),
%
cl
.
L009ejend
:
xorl
%
ecx
,
%
eax
xorl
%
edx
,
%
ebx
.
byte
15
.
byte
200
/* bswapl %eax */
.
byte
15
.
byte
203
/* bswapl %ebx */
movl
%
eax
,
8
(
%
esp
)
movl
%
ebx
,
12
(
%
esp
)
call
BF_encrypt
movl
8
(
%
esp
),
%
eax
movl
12
(
%
esp
),
%
ebx
.
byte
15
.
byte
200
/* bswapl %eax */
.
byte
15
.
byte
203
/* bswapl %ebx */
movl
%
eax
,
(
%
edi
)
movl
%
ebx
,
4
(
%
edi
)
jmp
.
L003finish
.
align
ALIGN
.
L000decrypt
:
andl
$
4294967288
,
%
ebp
movl
16
(
%
esp
),
%
eax
movl
20
(
%
esp
),
%
ebx
jz
.
L013decrypt_finish
.
L014decrypt_loop
:
movl
(
%
esi
),
%
eax
movl
4
(
%
esi
),
%
ebx
.
byte
15
.
byte
200
/* bswapl %eax */
.
byte
15
.
byte
203
/* bswapl %ebx */
movl
%
eax
,
8
(
%
esp
)
movl
%
ebx
,
12
(
%
esp
)
call
BF_decrypt
movl
8
(
%
esp
),
%
eax
movl
12
(
%
esp
),
%
ebx
.
byte
15
.
byte
200
/* bswapl %eax */
.
byte
15
.
byte
203
/* bswapl %ebx */
movl
16
(
%
esp
),
%
ecx
movl
20
(
%
esp
),
%
edx
xorl
%
eax
,
%
ecx
xorl
%
ebx
,
%
edx
movl
(
%
esi
),
%
eax
movl
4
(
%
esi
),
%
ebx
movl
%
ecx
,
(
%
edi
)
movl
%
edx
,
4
(
%
edi
)
movl
%
eax
,
16
(
%
esp
)
movl
%
ebx
,
20
(
%
esp
)
addl
$
8
,
%
esi
addl
$
8
,
%
edi
subl
$
8
,
%
ebp
jnz
.
L014decrypt_loop
.
L013decrypt_finish
:
movl
52
(
%
esp
),
%
ebp
andl
$
7
,
%
ebp
jz
.
L003finish
movl
(
%
esi
),
%
eax
movl
4
(
%
esi
),
%
ebx
.
byte
15
.
byte
200
/* bswapl %eax */
.
byte
15
.
byte
203
/* bswapl %ebx */
movl
%
eax
,
8
(
%
esp
)
movl
%
ebx
,
12
(
%
esp
)
call
BF_decrypt
movl
8
(
%
esp
),
%
eax
movl
12
(
%
esp
),
%
ebx
.
byte
15
.
byte
200
/* bswapl %eax */
.
byte
15
.
byte
203
/* bswapl %ebx */
movl
16
(
%
esp
),
%
ecx
movl
20
(
%
esp
),
%
edx
xorl
%
eax
,
%
ecx
xorl
%
ebx
,
%
edx
movl
(
%
esi
),
%
eax
movl
4
(
%
esi
),
%
ebx
.
L015dj7
:
rorl
$
16
,
%
edx
movb
%
dl
,
6
(
%
edi
)
shrl
$
16
,
%
edx
.
L016dj6
:
movb
%
dh
,
5
(
%
edi
)
.
L017dj5
:
movb
%
dl
,
4
(
%
edi
)
.
L018dj4
:
movl
%
ecx
,
(
%
edi
)
jmp
.
L019djend
.
L020dj3
:
rorl
$
16
,
%
ecx
movb
%
cl
,
2
(
%
edi
)
sall
$
16
,
%
ecx
.
L021dj2
:
movb
%
ch
,
1
(
%
esi
)
.
L022dj1
:
movb
%
cl
,
(
%
esi
)
.
L019djend
:
jmp
.
L003finish
.
align
ALIGN
.
L003finish
:
movl
60
(
%
esp
),
%
ecx
addl
$
24
,
%
esp
movl
%
eax
,
(
%
ecx
)
movl
%
ebx
,
4
(
%
ecx
)
popl
%
edi
popl
%
esi
popl
%
ebx
popl
%
ebp
ret
.
align
ALIGN
.
L004cbc_enc_jmp_table
:
.
long
0
.
long
.
L012ej1
.
long
.
L011ej2
.
long
.
L010ej3
.
long
.
L008ej4
.
long
.
L007ej5
.
long
.
L006ej6
.
long
.
L005ej7
.
align
ALIGN
.
L023cbc_dec_jmp_table
:
.
long
0
.
long
.
L022dj1
.
long
.
L021dj2
.
long
.
L020dj3
.
long
.
L018dj4
.
long
.
L017dj5
.
long
.
L016dj6
.
long
.
L015dj7
.
BF_cbc_encrypt_end
:
SIZE
(
BF_cbc_encrypt
,.
BF_cbc_encrypt_end
-
BF_cbc_encrypt
)
.
ident
"desasm.pl"
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录