里诺固定资产及设备管理软件算法分析
【破文标题】里诺固定资产及设备管理软件算法分析【破文作者】黑夜彩虹
【破解工具】OD
【破解平台】Windows 2K&XP
【软件名称】里诺固定资产及设备管理软件(单机版)v 1.60
【软件大小】
【原版下载】Google
【保护方式】注册码
【软件简介】2006-7-1 里诺固定资产及设备管理软件(单机版) 1.60
新版本做了如下改进:
1 支持一个设备对应多个图片;
2 设备信息自定义选项;
3 增加导出设备信息为文本文件和html的文件两种格式.
4 完善了权限;
5 其它一些改进和优化
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
【破解过程】
一、安装软件后,运行注册有错误提示。PEiD查无壳。
软件是Borland Delphi 6.0 - 7.0编写。
运行,注册名:vxin 试练码:123456
二、OD载入后,超级ASCII参串
****************************
从而找到程序注册检测代码段:
超级字串参考+ , 条目 3898
地址=00644B65
反汇编=PUSH Assets.00644C18
文本字串=已保存了注册信息!下次启动本程序时将会对你的注册码进行验证,如注册码正确,本程序所有功能限制将被解除,
您成为我们正式版本用户! //双击
006449E6|.E8 C903DCFF CALL Assets.00404DB4 //下断
006449EB|.83F8 04 CMP EAX,4
006449EE|.7D 2F JGE SHORT Assets.00644A1F
006449F0|.8B45 F4 MOV EAX,DWORD PTR SS:
006449F3|.E8 BC03DCFF CALL Assets.00404DB4
006449F8|.8BD8 MOV EBX,EAX
006449FA|.83FB 03 CMP EBX,3
006449FD|.7F 20 JG SHORT Assets.00644A1F
.........................中间省略N行代码..............................
00644B60 .68 0C4C6400 PUSH Assets.00644C0C ;软件注册
00644B65 .68 184C6400 PUSH Assets.00644C18 ;已保存了注册信息!下次启动本程序时将会对你的注册码进行验证,如注册码正确,本程序所有功能限制将被解除,您成为我们正式版本用户!
00644B6A .8B45 FC MOV EAX,DWORD PTR SS:
00644B6D .E8 9299E4FF CALL Assets.0048E504
00644B72 .50 PUSH EAX ; |hOwner
00644B73 .E8 7C36DCFF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
.........................中间省略N行代码..............................
00644EF0|.68 884F6400 PUSH Assets.00644F88 ;警告
00644EF5|.68 904F6400 PUSH Assets.00644F90 ;注册名不能为空!
00644EFA|.8BC3 MOV EAX,EBX
00644EFC|.E8 0396E4FF CALL Assets.0048E504
00644F01|.50 PUSH EAX ; |hOwner
00644F02|.E8 ED32DCFF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
.........................中间省略N行代码..............................
00644F33|.68 884F6400 PUSH Assets.00644F88 ;警告
00644F38|.68 A04F6400 PUSH Assets.00644FA0 ;注册码不能为空!
00644F3D|.8BC3 MOV EAX,EBX
00644F3F|.E8 C095E4FF CALL Assets.0048E504
00644F44|.50 PUSH EAX ; |hOwner
00644F45|.E8 AA32DCFF CALL <JMP.&user32.MessageBoxA> ; \MessageBoxA
运行,停在断点处:
0064498C|.E8 8306DCFF CALL Assets.00405014 ;EAX 01530EDC ASCII "E6968767"
00644991|.8D45 F4 LEA EAX,DWORD PTR SS:
00644994|.50 PUSH EAX
00644995|.B9 04000000 MOV ECX,4
0064499A|.BA 05000000 MOV EDX,5
0064499F|.8B45 F4 MOV EAX,DWORD PTR SS: ;堆栈 SS:=01530EDC, (ASCII "E6968767")
006449A2|.E8 6D06DCFF CALL Assets.00405014
006449A7|.8B45 F8 MOV EAX,DWORD PTR SS: ;堆栈 SS:=01530EF4, (ASCII "E696")
006449AA|.E8 0504DCFF CALL Assets.00404DB4 ;EAX 01530EF4 ASCII "E696"
.........................中间省略N行代码..............................
006449E3|> \8B45 F4 MOV EAX,DWORD PTR SS: ;堆栈 SS:=01530F08, (ASCII "8767")
006449E6|.E8 C903DCFF CALL Assets.00404DB4 ;EAX 01530F08 ASCII "8767"
006449EB|.83F8 04 CMP EAX,4
006449EE|.7D 2F JGE SHORT Assets.00644A1F
.........................中间省略N行代码..............................
00644A1D|.^\75 E0 \JNZ SHORT Assets.006449FF
00644A1F|>8D45 F0 LEA EAX,DWORD PTR SS:
00644A22|.BA AC4A6400 MOV EDX,Assets.00644AAC ;00644AAC=Assets.00644AAC (ASCII "Assts45yr87")
00644A27|.E8 6001DCFF CALL Assets.00404B8C ;EDX 00644AAC ASCII "Assts45yr87"
00644A2C|.8D45 DC LEA EAX,DWORD PTR SS:
00644A2F|.50 PUSH EAX
00644A30|.B9 04000000 MOV ECX,4
00644A35|.BA 01000000 MOV EDX,1
00644A3A|.8B45 F0 MOV EAX,DWORD PTR SS: ;堆栈 SS:=00644AAC (Assets.00644AAC), ASCII "Assts45yr87"
00644A3D|.E8 D205DCFF CALL Assets.00405014 ;EAX 00644AAC ASCII "Assts45yr87"
00644A42|.FF75 DC PUSH DWORD PTR SS: ;堆栈 SS:=01530F1C, (ASCII "Asst")
00644A45|.68 C04A6400 PUSH Assets.00644AC0 ;-
00644A4A|.FF75 F8 PUSH DWORD PTR SS: ;堆栈 SS:=01530EF4, (ASCII "E696")
00644A4D|.8D45 D8 LEA EAX,DWORD PTR SS:
00644A50|.50 PUSH EAX
00644A51|.B9 05000000 MOV ECX,5
00644A56|.BA 05000000 MOV EDX,5
00644A5B|.8B45 F0 MOV EAX,DWORD PTR SS: ;堆栈 SS:=00644AAC (Assets.00644AAC), ASCII "Assts45yr87"
00644A5E|.E8 B105DCFF CALL Assets.00405014 ;EAX 00644AAC ASCII "Assts45yr87"
00644A63|.FF75 D8 PUSH DWORD PTR SS: ;堆栈 SS:=01530F30, (ASCII "s45yr")
00644A66|.68 C04A6400 PUSH Assets.00644AC0 ;-
00644A6B|.FF75 F4 PUSH DWORD PTR SS: ;堆栈 SS:=01530F08, (ASCII "8767")
00644A6E|.8BC7 MOV EAX,EDI
00644A70|.BA 06000000 MOV EDX,6
00644A75|.E8 FA03DCFF CALL Assets.00404E74
00644A7A|.33C0 XOR EAX,EAX
00644A7C|.5A POP EDX
00644A7D|.59 POP ECX
00644A7E|.59 POP ECX
00644A7F|.64:8910 MOV DWORD PTR FS:,EDX
00644A82|.68 9C4A6400 PUSH Assets.00644A9C
00644A87|>8D45 D8 LEA EAX,DWORD PTR SS:
00644A8A|.BA 0A000000 MOV EDX,0A
00644A8F|.E8 8400DCFF CALL Assets.00404B18
00644A94\.C3 RETN ;EDX 01530C74 ASCII "vxin"
.........................中间省略N行代码..............................
00647356 .8B55 B0 MOV EDX,DWORD PTR SS: ;堆栈 SS:=01530F44, (ASCII "Asst-E696s45yr-8767")
00647359 .A1 58DA6800 MOV EAX,DWORD PTR DS: ;EDX 01530F44 ASCII "Asst-E696s45yr-8767"
0064735E .8B00 MOV EAX,DWORD PTR DS:
00647360 .8B80 00050000 MOV EAX,DWORD PTR DS: ;DS:=01530C88, (ASCII "123456")
00647366 .E8 95DBDBFF CALL Assets.00404F00
0064736B .0F85 8A000000 JNZ Assets.006473FB
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【算法小结】
用户名:vxin 注册码:Asst-E696s45yr-8767
作者一系列软件算法似乎都差不多....,呵~~~
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【版权声明】本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! 好文,很适合我等菜鸟学习。 顶一个,学习
页:
[1]