0x01 登陆密码解密: foxmail登陆的时候会将密码加密保存在本地文件中,并不是用网络验证. 我们用行为监控工具Procomn 里分析foxmail客户端在登陆的时候对哪些文件就行了读写操作 从procom的分析中可以看出,foxmail客户端对"C:\Foxmail 7.2\Storage\1073739377@qq.com\Accounts\Account.rec0"这个文件进行了读写的操作,很明显从这个文件名的命名我们可以分析出这是一个存放账户相关信息的文件,加密后的密码就存放在这个文件里面。随便用一款二进制文件编辑器打开这个文件,可以用ulteaedit ,C32Asm 我习惯用C32Asm,打开速度快 而且比较小巧。接着我们搜索Password关键字,这一串类似MD5的数值就是foxmail客户端登陆的加密密码。 0x02:登陆密码解密算法 密码解密的加密算法在看雪上有,http://www.pediy.com/kssd/pediy03/forum505.htm 请你先记住一个单词:~F@7%m$~(注意要区分大小写)。
第一步:
取得上面这个单词的ASCII码:7E 46 40 37 25 6D 24 7E,记为a1,a2,a3,a4,a5,a6,a7,a8
第二步:
将其相加,得0x26F,除以255,余数是0x71, 记为c0
第三步:
取密码的密文:7922D55C9C281CAD......将它们两两分开,得到:79 22 D5 5C 9C 28 1C AD ,分别记为b1,b2,b3,b4,b5,b6,b7,b8,..... 密文的长度为22,22/2-1=10,所以密码的长度为10 第四步: 其中^为异或;0x代表此数为16进制数; c0 = 0x71
C1=c0^b1 = 0x8
C2=b2 = 0x22
C3=b3 = 0xd5
C4=b4 = 0x5c
C5=b5 = 0x9c
C6=b60 = 0x28
C7=b7 = 0x1c
C8=b8 = 0xad
....
d1=b2^a1=0x5c
d2=b3^a2=0x93
d3=b4^a3=0x1C
d4=b5^a4=0xAB
d5=b6^a5=0xD
d6=b7^a6=0x71
d7=b8^a7=0x89
..... 接下来让我们来见证奇迹吧~,16进制对应的ASCII码表请参考上图 0x5c-0x08 = 0x54 'T' 0x93-0x22 = 0x71 'q' 0x1C-0xd5 =(不够减) 0x1c + 0xFF -0xd5 = 0x46 'F' 0xAB-0x5c =0x4F 'O' 0x0D-0x9c =(不够减)0x0D + 0xFF -0xd5 =0x72 'p' 0x71-0x28 = 0x49 'I' 0x89-0x1c = 0x6D 'm' ...... 既密码:TqFOpIm... 附上exp,直接把输入密文,明文出来。 资源链接:http://www.pediy.com/kssd/pediy03/forum505.htm
|