【文章标题】: Cool File Encryption 算法
【文章作者】: KAN [ DCG ]
【作者邮箱】: tom7411@163.com
【作者主页】: 我都想有,可惜。。。。
【作者QQ号】: 591258070
【软件名称】: Cool File Encryption 2.3
【软件大小】: 720 k
【下载地址】: http://www.dreamflysoft.com/
【加壳方式】: ASPack 2.12
【保护方式】: 简单的压缩壳
【编写语言】: Dephi 7
【使用工具】: OD
【操作平台】: winxp sp2
【软件介绍】: 一个老外文件加密的工具,界面还挺漂亮的
【作者声明】: 只是感兴趣,为解密而学破解
--------------------------------------------------------------------------------
【详细过程】
今天的手气比较好,一天之内拿下了两个软件。早上在 PYG 下了野猫III 的一个剪贴板的软件 KEY ,一用感觉不错,但他的定位有点问题,就想上主页上看看有没有新版,谁知道竟然没有,就顺便把这个软件下了,下来一看,2 分钟就写出了注册机,但不敢发上论坛
汗啊,这么简单的东西你叫我如何是好呢,但一想,可能好多菜鸟就是欠这种软件来练(我当初第一次看懂算法的crackme 就是一个超简单的用户名累加(到现在我还很感谢那个Crackme 的作者,是他给了一次机会我,让我知道算法
是如何生成的 ,大家如果看过我的破文(真的很破的文),都是些肤浅的东西。说真的我这个人懒,如果算法太长的话
我会把它 Patch 了算了(当然还要在我的能力可以之下)
004B1847 |. BA A4194B00 MOV EDX,Cool_Fil.004B19A4 ; ASCII "1301" 这是头4个数字
004B184C |. E8 6F2AF5FF CALL Cool_Fil.004042C0
004B1851 |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
004B1854 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B1857 |. 8B80 14030000 MOV EAX,DWORD PTR DS:[EAX+314]
004B185D |. E8 8AFAF9FF CALL Cool_Fil.004512EC
004B1862 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 用户名
004B1865 |. E8 7E2CF5FF CALL Cool_Fil.004044E8
004B186A |. 8BD8 MOV EBX,EAX
004B186C |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
004B186F |. B8 6D000000 MOV EAX,6D
004B1874 |. E8 276EF5FF CALL Cool_Fil.004086A0 ; 可疑
004B1879 |. 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14] ; 109 常数
004B187C |. 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
004B187F |. E8 6C2CF5FF CALL Cool_Fil.004044F0
004B1884 |. 83FB 05 CMP EBX,5
004B1887 |. 7C 05 JL SHORT Cool_Fil.004B188E
004B1889 |. BB 05000000 MOV EBX,5
004B188E |> 8BF3 MOV ESI,EBX
004B1890 |. 85F6 TEST ESI,ESI
004B1892 |. 7E 42 JLE SHORT Cool_Fil.004B18D6
004B1894 |. C745 F4 01000>MOV DWORD PTR SS:[EBP-C],1
004B189B |> 8D45 E8 /LEA EAX,DWORD PTR SS:[EBP-18]
004B189E |. 50 |PUSH EAX
004B189F |. B9 01000000 |MOV ECX,1
004B18A4 |. 8B55 F4 |MOV EDX,DWORD PTR SS:[EBP-C]
004B18A7 |. 8B45 F8 |MOV EAX,DWORD PTR SS:[EBP-8] ; 用户名字符
004B18AA |. E8 992EF5FF |CALL Cool_Fil.00404748
004B18AF |. 8B45 E8 |MOV EAX,DWORD PTR SS:[EBP-18]
004B18B2 |. E8 312EF5FF |CALL Cool_Fil.004046E8
004B18B7 |. 8A18 |MOV BL,BYTE PTR DS:[EAX] ; 读入字符
004B18B9 |. 8D55 E4 |LEA EDX,DWORD PTR SS:[EBP-1C]
004B18BC |. 33C0 |XOR EAX,EAX
004B18BE |. 8AC3 |MOV AL,BL ; 字符传给 AL
004B18C0 |. E8 DB6DF5FF |CALL Cool_Fil.004086A0
004B18C5 |. 8B55 E4 |MOV EDX,DWORD PTR SS:[EBP-1C] ; 每次用户名字符的十进制 给 DX
004B18C8 |. 8D45 F0 |LEA EAX,DWORD PTR SS:[EBP-10]
004B18CB |. E8 202CF5FF |CALL Cool_Fil.004044F0
004B18D0 |. FF45 F4 |INC DWORD PTR SS:[EBP-C]
004B18D3 |. 4E |DEC ESI
004B18D4 |.^ 75 C5 \JNZ SHORT Cool_Fil.004B189B
004B18D6 |> 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20]
004B18D9 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B18DC |. 8B80 18030000 MOV EAX,DWORD PTR DS:[EAX+318]
004B18E2 |. E8 05FAF9FF CALL Cool_Fil.004512EC
004B18E7 |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20] ; 假码入 EAX
004B18EA |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10]
004B18ED |. E8 422DF5FF CALL Cool_Fil.00404634
004B18F2 |. 75 55 JNZ SHORT Cool_Fil.004B1949
004B18F4 |. B2 01 MOV DL,1
004B18F6 |. A1 5C5E4300 MOV EAX,DWORD PTR DS:[435E5C]
004B18FB |. E8 5C46F8FF CALL Cool_Fil.00435F5C
004B1900 |. 8BD8 MOV EBX,EAX
004B1902 |. BA 00000080 MOV EDX,80000000
004B1907 |. 8BC3 MOV EAX,EBX
004B1909 |. E8 EE46F8FF CALL Cool_Fil.00435FFC
004B190E |. B1 01 MOV CL,1
004B1910 |. BA B4194B00 MOV EDX,Cool_Fil.004B19B4 ; ASCII ".lwx"
004B1915 |. 8BC3 MOV EAX,EBX
004B1917 |. E8 4447F8FF CALL Cool_Fil.00436060
004B191C |. 84C0 TEST AL,AL
004B191E |. 74 11 JE SHORT Cool_Fil.004B1931
004B1920 |. B9 C4194B00 MOV ECX,Cool_Fil.004B19C4 ; ASCII "mxlovelwxmore"
004B1925 |. BA DC194B00 MOV EDX,Cool_Fil.004B19DC ; ASCII "registerok"
004B192A |. 8BC3 MOV EAX,EBX
004B192C |. E8 CB48F8FF CALL Cool_Fil.004361FC
004B1931 |> 8BC3 MOV EAX,EBX
004B1933 |. E8 801BF5FF CALL Cool_Fil.004034B8
004B1938 |. A1 406C4B00 MOV EAX,DWORD PTR DS:[4B6C40]
004B193D |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004B193F |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
004B1941 |. FF92 EC000000 CALL DWORD PTR DS:[EDX+EC]
004B1947 |. EB 18 JMP SHORT Cool_Fil.004B1961
004B1949 |> 6A 00 PUSH 0
004B194B |. B9 E8194B00 MOV ECX,Cool_Fil.004B19E8 ; ASCII "Warning"
004B1950 |. BA F0194B00 MOV EDX,Cool_Fil.004B19F0 ; ASCII "Invalid registration!!"
004B1955 |. A1 AC6B4B00 MOV EAX,DWORD PTR DS:[4B6BAC]
----------------------------------------------------------------------
注册码开头的 1301109 是固定的,后面是你输入的用户名字符的十进制数连起来 就是注册码了,简单了吧,该看懂了吧!
【经验总结】
附上 C 语言注册机 , 如果你见惯大侠的注册机,就来见见菜鸟的
/* Note:Your choice is C IDE */
#include "stdio.h"
#include"string.h"
main()
{
int a[10],i,len;
char name[10];
gets(name);
printf("你的正版序列号是: 1301109");
len=strlen(name);
for(i=0;i<len;i++)
{
a[i]=name[i];
printf("%d",a[i]);
}
}
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2006年10月12日 21:38:43
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课