TA的每日心情 | 衰 2017-12-9 12:47 |
---|
签到天数: 47 天 [LV.5]常住居民I
|
比较适用于装了MSDE的,或者未装任何MSSQL版本的机器访问其它安装了的机器的SQL。
下面讲一下PJ过程:
安装后,运行,看about窗口,点register按钮。出现注册界面。
随意输入用户名和注册码。会出现Message == Invalid key!的提示。在OD中,载入,查找字符串:Invalid key。
这时候我们所看到的那一段代码就是计算注册的代码。
向上,并且根据出错的跳转向上找到如下位置
006F5E99 |. 59 POP ECX
006F5E9A |. E8 CD37F1FF CALL SQLExecM.0060966C
006F5E9F |. 84C0 TEST AL,AL
006F5EA1 |. 74 66 JE SHORT SQLExecM.006F5F09
这里有je 就是当al是00的时候,表示注册码错误。再往上看一句006F5E9A |. E8 CD37F1FF CALL SQLExecM.0060966C这句,就是调用计算注册码的函数了。
跟踪进入。
0060970F |. 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
00609712 |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
00609715 |. E8 AEBADFFF CALL SQLExecM.004051C8
0060971A |. 0F9445 F3 SETE BYTE PTR SS:[EBP-D]
0060971E |. EB 04 JMP SHORT SQLExecM.00609724
00609720 |> C645 F3 00 MOV BYTE PTR SS:[EBP-D],0
当跟踪到00609712 时,看eax的值,就是注册码了。
附件中提供了1个注册码。
有兴趣的可以弄一个zcj。计算方法就在上面的那个函数中。CALL SQLExecM.0060966C |
评分
-
查看全部评分
|