hdb2 发表于 2007-12-3 00:43:50

追出价值1200元的软件注册码

【破文标题】追出价值1200元的软件注册码
【破文作者】hdb2
【作者邮箱】[email protected]
【作者主页】www.aibafree.cn
【破解工具】peid OD
【破解平台】winxp
【软件名称】鹏兴学生信息管理系统
【软件大小】15.7M
【原版下载】http://shareware.skycn.com/soft/16408.htm
【保护方式】无
【软件简介】功能包括:学生学籍资料的建立和管理;学生学籍变动的处理,如休学、退学、留级、转校、借读等等,学生毕业处理;全校学生信息统计;学生成绩录入,以及短信通知学生成绩;学生评语录入,并支持短信通知学生;成绩的查询,班级成绩统计报表,班级成绩明细;学生成绩单科、总分(班级,年级,全校)名次;成绩通知单等等.整个系统完整、强大,拥有快速的查询功能,各种信息的灵活组合统计,各种报表的自动化生成。预留了短信,WAP接口,系统的可扩展性强,保证软件永不落后.系统还提供数据导入导出功能,可以实现学生注册和成绩录入模块单独运行,再通过导入模块导入总系统中,非常适合各种职业高中,大中专院校以及中小学学校使用...
【破解声明】本人是个菜鸟,发表自己的一点心得,欢迎大家一起交流进步!
------------------------------------------------------------------------
【破解过程】1、首先用peid查壳,得到的是Microsoft Visual C++ 5.0 ,说明无壳,用易语言写的
2、用OD载入
10001B30 > $55            PUSH EBP            载入后到这里
10001B31   .8BEC          MOV EBP,ESP
10001B33   .6A FF         PUSH -1
10001B35   .68 A0500010   PUSH studentm.100050A0
10001B3A   .68 28300010   PUSH studentm.10003028                   ;SE 处理程序安装
10001B3F   .64:A1 0000000>MOV EAX,DWORD PTR FS:
10001B45   .50            PUSH EAX
10001B46   .64:8925 00000>MOV DWORD PTR FS:,ESP
10001B4D   .83C4 A8       ADD ESP,-58
10001B50   .53            PUSH EBX
10001B51   .56            PUSH ESI
10001B52   .57            PUSH EDI
10001B53   .8965 E8       MOV DWORD PTR SS:,ESP
10001B56   .FF15 1C500010 CALL DWORD PTR DS:[<&KERNEL32.GetVersion>;kernel32.GetVersion
10001B5C   .33D2          XOR EDX,EDX
10001B5E   .8AD4          MOV DL,AH
10001B60   .8915 24870010 MOV DWORD PTR DS:,EDX

下 bp MessageBoxA断点,F9运行
登陆程序后,点注册,输入假码:11111111-11111111-11111111-11111111,再点注册后

77D504EA >8BFF            MOV EDI,EDI   程序断在这里
77D504EC    55            PUSH EBP
77D504ED    8BEC            MOV EBP,ESP
77D504EF    833D BC04D777 0>CMP DWORD PTR DS:,0
77D504F6    74 24         JE SHORT USER32.77D5051C
77D504F8    64:A1 18000000MOV EAX,DWORD PTR FS:
77D504FE    6A 00         PUSH 0
77D50500    FF70 24         PUSH DWORD PTR DS:
77D50503    68 240BD777   PUSH USER32.77D70B24
77D50508    FF15 C812D177   CALL DWORD PTR DS:[<&KERNEL32.Interlocke>; kernel32.InterlockedCompareExchange
77D5050E    85C0            TEST EAX,EAX
77D50510    75 0A         JNZ SHORT USER32.77D5051C
77D50512    C705 200BD777 0>MOV DWORD PTR DS:,1
77D5051C    6A 00         PUSH 0
77D5051E    FF75 14         PUSH DWORD PTR SS:
77D50521    FF75 10         PUSH DWORD PTR SS:
77D50524    FF75 0C         PUSH DWORD PTR SS:
77D50527    FF75 08         PUSH DWORD PTR SS:
77D5052A    E8 2D000000   CALL USER32.MessageBoxExA

现在是关键了,大家注意看这里

0012EA50   10C188E8/CALL 到 MessageBoxA 来自 PBVM90.10C188E2
0012EA54   00220A2A|hOwner = 00220A2A ('学生信息管理系统1.6--注册',class='FNWNS390',parent=001709C0)
0012EA58   02081B18|Text = "对不起,您输入的许可号不正确,请重新输入!"
0012EA5C   02091FD8|Title = "提示信息"
0012EA60   00002040\Style = MB_OK|MB_ICONASTERISK|MB_TASKMODAL
0012EA64   00000000

现在ALT+f9 一次 这里会出现提示错误框,我们点确定后程序就会被断下

10C188E8    85DB            TEST EBX,EBX   点确认后程序断在这里
10C188EA    8BF8            MOV EDI,EAX
10C188EC    74 12         JE SHORT PBVM90.10C18900
10C188EE    8B4C24 5C       MOV ECX,DWORD PTR SS:
10C188F2    51            PUSH ECX
10C188F3    6A 00         PUSH 0
10C188F5    6A 12         PUSH 12
10C188F7    FFD5            CALL EBP
10C188F9    50            PUSH EAX
10C188FA    FF15 38D7DB10   CALL DWORD PTR DS:[<&USER32.PostThreadMe>; USER32.PostThreadMessageA
10C18900    C705 D8D2E210 0>MOV DWORD PTR DS:,0
10C1890A    EB 03         JMP SHORT PBVM90.10C1890F
10C1890C    83CF FF         OR EDI,FFFFFFFF


ctrl + f9 然后注意堆栈的友好提示返回到 10C63C31 (PBVM90.10C63C31)
提示返回程序了   好!!我们右键选"反汇编窗口跟随"

10C63C31    3BC5            CMP EAX,EBP程序来到这里
10C63C33    75 08         JNZ SHORT PBVM90.10C63C3D
10C63C35    C74424 4C 05400>MOV DWORD PTR SS:,80004005
10C63C3D    8B56 08         MOV EDX,DWORD PTR DS:
10C63C40    396A 38         CMP DWORD PTR DS:,EBP
10C63C43    74 08         JE SHORT PBVM90.10C63C4D
10C63C45    C74424 4C 05400>MOV DWORD PTR SS:,80004005
10C63C4D    83FF 01         CMP EDI,1
10C63C50    0F85 84050000   JNZ PBVM90.10C641DA
10C63C56    396C24 50       CMP DWORD PTR SS:,EBP
10C63C5A    0F84 7A050000   JE PBVM90.10C641DA
10C63C60    8B4424 18       MOV EAX,DWORD PTR SS:
10C63C64    8D4C24 50       LEA ECX,DWORD PTR SS:
10C63C68    40            INC EAX
10C63C69    51            PUSH ECX
10C63C6A    8986 08020000   MOV DWORD PTR DS:,EAX
10C63C70    E9 13010000   JMP PBVM90.10C63D88
10C63C75    83F8 04         CMP EAX,4

这里大家请注意看右下角的内容,将滚动条向下拉,我们就可以看到真的注册码了

0012EBD8   02091D88ASCII "XTUY-JtcV-47:3-ZKJF"会看到这个


我们把这个记下,重起软件,输入XTUY-JtcV-47:3-ZKJF后注册,提示成功。

至此这个软件的注册码就被我们追出来了。本人比较菜,研究了半天还不知道怎么写出注册机
希望哪位高手能帮忙写个注册机出来。就到这里吧!






------------------------------------------------------------------------
【破解总结】一点心得,希望能帮助到大家
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!

ttt0001 发表于 2007-12-3 10:10:57

学习了,感谢楼主!!!!!!!!!!

塞上小飞 发表于 2007-12-3 18:46:26

这个软件真的那么贵~~/:011
学习了

回来我的爱 发表于 2007-12-3 22:44:02

老兄这个是PB写的啊不是E语言写的/:014 /:014 啊

火焙鱼 发表于 2007-12-3 23:00:56

/:QQ2 谢谢楼主共享,以后试着学一下!

xunhua 发表于 2007-12-4 17:56:24

我发现....楼主的这句话,砸脚了..

【破解过程】1、首先用peid查壳,得到的是Microsoft Visual C++ 5.0 ,说明无壳,用易语言写的

xzqd 发表于 2007-12-5 10:37:38

学习了,感谢提供破解过程

496657891 发表于 2007-12-6 14:16:20

你们一个个都太牛了
我以后会好好学习的!/:good

seast 发表于 2007-12-6 16:42:28

有破文注册机好像就容易呢

seast 发表于 2007-12-6 16:43:06

向8楼致敬!/:good /:good /:good
页: [1] 2
查看完整版本: 追出价值1200元的软件注册码