“浩然呀”为你分享2篇“逆向Becky! Internet Mail version 2 密码加密算法”,经本站小编整理后发布,但愿对你的工作、学习、生活带来方便。
篇1:逆向Becky! Internet Mail version 2 密码加密算法
逆向Becky! Internet Mail version 2 密码加密算法
【文章作者】: crosoli
【作者邮箱】:crosoli@126.com
【软件名称】: Becky! Internet Mail
【下载地址】: 自己搜索下载
【编写语言】: VC6.0
【软件介绍】: 邮件收取工具
【作者声明】: 出于学习的目的
--------------------------------------------------------------------------------
【详细过程】
1,上个月买了本段刚老师的加密解密3,看完了第5章(只能下班的时间看),总感觉作者很了解我. 这本书太适合我了.
2.分析过程.
1,首先打开Becky! Internet Mail,配置好自己的邮件信息.
2,然后OD载入 B2.exe, F9运行后,右键点击邮件->属性,然后修改密码,此时对 GetWindowTextA下断点. 会发现配件的所有信息都会读入到内存.让发现密码明文读取到内存后,然后数据窗口跟随,找到密码的明文,并对它下内存断点.并移除先前的GetWindowTextA断点.
F9运行后程序来到:
0051A8C5 |. 85DB TEST EBX,EBX
0051A8C7 |. 75 3A JNZ SHORT B2.0051A903
0051A8C9 |. 8B86 B8000000 MOV EAX,DWORD PTR DS:[ESI+B8] ; 新密码
0051A8CF |. 8BAF B8000000 MOV EBP,DWORD PTR DS:[EDI+B8] ; 老密码
0051A8D5 |> 87747.net5 00 /MOV DL,BYTE PTR SS:[EBP] ; 取老密码一位
0051A8D8 |. 8ACA |MOV CL,DL
0051A8DA |. 3A10 |CMP DL,BYTE PTR DS:[EAX] ; 取新密码一位
0051A8DC |. 75 1C |JNZ SHORT B2.0051A8FA ; 密码不相同跳转
0051A8DE |. 84C9 |TEST CL,CL
0051A8E0 |. 74 14 |JE SHORT B2.0051A8F6
0051A8E2 |. 87747.net5 01 |MOV DL,BYTE PTR SS:[EBP+1] ; 继续比较
0051A8E5 |. 8ACA |MOV CL,DL
0051A8E7 |. 37747.net0 01 |CMP DL,BYTE PTR DS:[EAX+1]
0051A8EA |. 75 0E |JNZ SHORT B2.0051A8FA
0051A8EC |. 83C5 02 |ADD EBP,2
0051A8EF |. 83C0 02 |ADD EAX,2
0051A8F2 |. 84C9 |TEST CL,CL
0051A8F4 |.^ 75 DF JNZ SHORT B2.0051A8D5
0051A8F6 |> 33C0 XOR EAX,EAX
0051A8F8 |. EB 05 JMP SHORT B2.0051A8FF
0051A8FA |> 1BC0 SBB EAX,EAX ;
0051A8FC |. 83D8 FF SBB EAX,-1
0051A8FF |> 85C0 TEST EAX,EAX
0051A901 |. 74 5F JE SHORT B2.0051A962 ; 原密码和新密码相同时候跳过不写入
0051A903 |> 8DAE B8000000 LEA EBP,DWORD PTR DS:[ESI+B8]
0051A909 |. 8D8F B8000000 LEA ECX,DWORD PTR DS:[EDI+B8]
0051A90F |. 55 PUSH EBP
0051A910 |. E8 22280800 CALL B2.0059D137
0051A915 |. 8B6D 00 MOV EBP,DWORD PTR SS:[EBP]
0051A918 |. A1 38685F00 MOV EAX,DWORD PTR DS:[5F6838]
0051A91D |. 55 PUSH EBP
0051A91E |. 68 00100000 PUSH 1000
0051A923 |. 8D4C24 24 LEA ECX,DWORD PTR SS:[ESP+24]
0051A927 |. 894424 24 MOV DWORD PTR SS:[ESP+24],EAX
0051A92B |. E8 FE2A0800 CALL B2.0059D42E
0051A930 |. 50 PUSH EAX
0051A931 |. E8 4A00F7FF CALL B2.0048A980 ;对新密码进行加密处理,
0051A936 |. 6A FF PUSH -1
0051A938 |. 8D4C24 20 LEA ECX,DWORD PTR SS:[ESP+20]
0051A93C |. E8 3C2B0800 CALL B2.0059D47D
0051A941 |. 8B0E MOV ECX,DWORD PTR DS:[ESI]
0051A943 |. 8B5424 1C MOV EDX,DWORD PTR SS:[ESP+1C]
0051A947 |. 51 PUSH ECX ; /FileName
0051A948 |. 52 PUSH EDX ; |String
0051A949 |. 68 B8B35E00 PUSH B2.005EB3B8 ; |Key = “PassWd”
0051A94E |. 68 E4E15E00 PUSH B2.005EE1E4 ; |Section = “Account”
0051A953 |. FF15 64225C00 CALL DWORD PTR DS:[<&KERNEL32.WritePriva>; WritePrivateProfileStringA 把加密后的新密码写入配置文件的“PassWd”字段
下面来分析0048A980 这个函数
0051A931 |. E8 4A00F7FF CALL B2.0048A980 ;对新密码进行加密处理,
0048A980 /$ B8 00800000 MOV EAX,8000
0048A985 |. E8 268F0F00 CALL B2.005838B0
0048A98A |. 8B8424 088000>MOV EAX,DWORD PTR SS:[ESP+8008] ;EAX新密码
0048A991 |. 56 PUSH ESI
0048A992 |. 8038 00 CMP BYTE PTR DS:[EAX],0 ;判断新密码是不是为空
0048A995 |. 75 14 JNZ SHORT B2.0048A9AB
0048A997 |. 8B8424 088000>MOV EAX,DWORD PTR SS:[ESP+8008]
0048A99E |. 5E POP ESI
0048A99F |. C600 00 MOV BYTE PTR DS:[EAX],0
0048A9A2 |. 81C4 00800000 ADD ESP,8000
0048A9A8 |. C2 0800 RETN 8
0048A9AB |> 8D4C24 04 LEA ECX,DWORD PTR SS:[ESP+4]
0048A9AF |. 50 PUSH EAX ; /Arg2
0048A9B0 |. 51 PUSH ECX ; |Arg1
0048A9B1 |. E8 8AF5FFFF CALL B2.00489F40 ; B2.00489F40 第一次对新密码进行00489F40加密处理
0048A9B6 |. 8D5424 04 LEA EDX,DWORD PTR SS:[ESP+4]
0048A9BA |. 8BB424 088000>MOV ESI,DWORD PTR SS:[ESP+8008]
0048A9C1 |. 52 PUSH EDX ; /Arg2
0048A9C2 |. 56 PUSH ESI ; |Arg1
0048A9C3 |. E8 78F5FFFF CALL B2.00489F40 ; B2.00489F40 2次加密
0048A9C8 |. 8A06 MOV AL,BYTE PTR DS:[ESI]
0048A9CA |. 84C0 TEST AL,AL
0048A9CC |. 74 0C JE SHORT B2.0048A9DA
0048A9CE |> 34 02 /XOR AL,2 ;把2次加密码后的结果和2进行xor
0048A9D0 |. 8806 |MOV BYTE PTR DS:[ESI],AL
0048A9D2 |. 8A46 01 |MOV AL,BYTE PTR DS:[ESI+1]
0048A9D5 |. 46 |INC ESI
0048A9D6 |. 84C0 |TEST AL,AL
0048A9D8 |.^ 75 F4 JNZ SHORT B2.0048A9CE ;循环xor
0048A9DA |> 5E POP ESI
0048A9DB |. 81C4 00800000 ADD ESP,8000
0048A9E1 . C2 0800 RETN 8
下面来分析00489F40这个加密函数
00489F40 /$ 83EC 0C SUB ESP,0C
00489F43 |. 8B4424 10 MOV EAX,DWORD PTR SS:[ESP+10]
00489F47 |. 53 PUSH EBX
00489F48 |. 57 PUSH EDI
00489F49 |. 8B7C24 1C MOV EDI,DWORD PTR SS:[ESP+1C]
00489F4D |. 32DB XOR BL,BL
00489F4F |. 894424 08 MOV DWORD PTR SS:[ESP+8],EAX
00489F53 |. 8A0F MOV CL,BYTE PTR DS:[EDI]
00489F55 |. 3ACB CMP CL,BL
00489F57 |. 0F84 CF000000 JE B2.0048A02C
00489F5D |. 55 PUSH EBP
00489F5E |. 56 PUSH ESI
00489F5F |> 47 /INC EDI
00489F60 |. 884C24 14 |MOV BYTE PTR SS:[ESP+14],CL ;base64加密。
00489F64 |. 885C24 16 |MOV BYTE PTR SS:[ESP+16],BL
00489F68 |. 885C24 15 |MOV BYTE PTR SS:[ESP+15],BL
00489F6C |. 8A0F |MOV CL,BYTE PTR DS:[EDI]
00489F6E |. BE 01000000 |MOV ESI,1
00489F73 |. 3ACB |CMP CL,BL
00489F75 |. 74 1A |JE SHORT B2.00489F91
..
..
...
....
由于篇幅的文件就不对BASE64进行分析了。
其实00489F40 就是一个BASE64的加密。
综上所述 他的密码的保存方式就是 2次BASE64后xor2.
篇2:基于现代密码学的加密算法验证系统的设计与实现的论文
基于现代密码学的加密算法验证系统的设计与实现的论文
摘要:针对现代密码学课程中理论与实践存在的差距,特意设计并开发了此款加密算法验证系统。本系统以AES、RSA、RC4、IDEA等几个经典的加密算法为例,采用JAVA技术体系与SWING界面元素开发,保证跨平台性与良好的用户体验,通俗易懂地展示了现代密码学理论魅力。本系统各个版块保持相对独立,每个版块侧重特定加密算法,提供一个以算法为基本模块的流程验证系统。实践证明,使用此系统有利于学生深刻剖析算法原理过程,从而加深理论理解。
关键词:现代密码学;AES;RSA;RC4;IDEA;验证系统;EAVS
1引言
现代密码学理论是安全类本科专业极其重要的一门专业课,但由于密码理论本身的抽象性特点,导致教学过程中易出现理论与实践脱节,理论概念模棱两可的情况。目前各个高校信息安全教学主要分为两个方向:一个是数学系的信息安全,主要研究密码学数学基础,偏重理论;二是计算机系的信息安全,主要研究安全编程技术,偏重实践。随着研究的深入,我们发现两者没有一个很好的平台联系起来,导致学生知识掌握不全面,不能适应工作和深层次科研的需求。
2密码算法的选择
为了深入结合本科教学培养方案,特选取几个经典的加密算法:AES、RSA、RC4、IDEA。
2.1AES算法
高级加密标准,又称高级加密标准Rijndael加密法,属于经典的`现代加密算法,是美国联邦政府采用的一种区块加密标准。由于此算法为对称加密算法,故通常用来加解密,用来替代原先的DES,已经被广泛使用。
AES很好地融合了混淆与扩散,因为信息的内容是以128位长度的分组为加密单元的。加密密钥长度有128,192或256位等多种选择。
AES算法加密过程:密钥扩展→初始轮→重复轮→最终轮
2.2RSA算法
1977年Rivest,Shamir和Adleman提出了RSA公钥算法,它是应用最广泛的公钥密码系统。不仅可以用于信息的加解密,还可用于数字签名。该算法为非对称加密算法,其理论基础是大整数因数分解问题。
c.计算整数
d.将整数c转换成密文信息
e.将密文信息发送给A
2.3RC4算法
RC4是RonRivest在1987年为RSA数据安全公司开发的可变密钥长度的序列密码,广泛应用于商业密码产品中。RC4是一种序列密码,面向字节流。用从1到256个字节(8到2048位)的可变长度密钥初始化一个256个字节的状态矢量S,S的元素记为S[0],S[1],…,S[255],从始至终置换后的S包含从0到255的所有8比特数。
2.4IDEA算法
IDEA是80年代提出的“过渡性”的“postDES”算法,它在1990年正式公布并在以后得到增强,是一种对称密码算法。这种算法是在DES算法的基础上发展出来的,类似于三重DES,和DES一样IDEA也是属于对称密钥算法。IDEA的密钥为128位,这么长的密钥在今后若干年内应该是安全的。不过IDEA中有大量弱密钥,并且难以直接扩展到128位块。
3EAVS的体系结构
3.1EAVS的实现结构
4系统实现的关键技术
5系统运行实例
6总结
6.1本文在对现代密码学基础算法理论深入研究的基础上,针对目前课题教学中理论与实践、抽象与具体中存在的不足,详细论述了一种沟通理论与实践的经典密码算法验证系统。
6.2基于C/S的整体系统,可视化的UI使得系统具有良好的交互性。用户通过客户端图像化操作,可以细致了解密码算法的加密解密流程,并将中间结果反馈给用户,加深对理论知识的全面理解。
6.3本系统目前只实现了一些经典算法,实际应用于整体课堂教学仍存在不足,下一步须要丰富算法模块,使其形成密码学整体实践验证体系。
参考文献:
[1][美]加内特,吴世忠等.密码学导引[M].北京:机械工业出版社,2003.
[2]李杰凤等.基于Linux的操作系统实验平台的设计与实现[D].计算技术与自动化,2010.
[3][美]旋奈尔,吴世忠等.应用密码学协议.算法与C源程序[M].北京:机械工业出版社,2003.
[4]李继国,余纯武等.信息安全数学基础[M].武汉:武汉大学出版社,2006.
★ 我学会了用计算机
★ 交换机的安全因子
【逆向Becky! Internet Mail version 2 密码加密算法(共2篇)】相关文章:
word 文档怎么加密2024-01-12
电子商务中数据加密技术2023-02-12
详解加密技术概念、加密方法以及应用2024-02-19
数字签名2023-10-16
电子商务中信息安全目前状况调查论文2022-05-19
电子数字签名2023-08-19
网关攻击技术对网络安全的作用论文2023-06-05
网络安全技术论文2024-05-07
网络安全技术专业课程教学模式研究论文2023-06-07
商用密码自查报告2022-06-03