首页
社区
课程
招聘
[原创]去掉正版PB9的NAG窗口-菜鸟教程(高手莫入)
发表于: 2005-5-25 13:47 5233

[原创]去掉正版PB9的NAG窗口-菜鸟教程(高手莫入)

2005-5-25 13:47
5233
正版PB9 的登录总有以下提示界面,
pb9 build 5507版本

每次登录都需要点击OK,才能登录进入程序。总觉得令人讨厌,故想法去掉之。
发现以下窗口信息在pbcn90.dll中,故想办法,屏蔽之。
修改后的pbcn90.dll上传。
也可以用Ultraedit编辑pbcn90.dll,查找E83F010000 用9090909090填充。
修改pbcn90.dll后,提示窗口不再出现。
pbcn90.dll的默认路径:C:\Program Files\Sybase\Shared\PowerBuilder。

详细调试过程:
工具:ResScope、W32Dasm Gold、OllyDbg.v1.10.CHS
1.W32Dasm Gold
反编译pb9.exe
Number of Imported Modules =    4 (decimal)

   Import Module 001: PBSYS90.dll
   Import Module 002: PBCN90.dll
   Import Module 003: KERNEL32.dll
   Import Module 004: USER32.dll

+++++++++++++++++++ IMPORT MODULE DETAILS +++++++++++++++

   Import Module 001: PBSYS90.dll

Addr:80000160 hint(0160) Name: PB_SysMessageLoop
Addr:8000015E hint(015E) Name: PB_SysInit
Addr:8000032F hint(032F) Name: PB_SysInitReport
Addr:80000162 hint(0162) Name: PB_SysTerminate

   Import Module 002: PBCN90.dll

Addr:80000064 hint(0064) Name: InvokeInfoDialog

发现PBSYS90.dll为pb9.exe调用的dll文件。
InvokeInfoDialog为nag窗口关键函数。
查找InvokeInfoDialog,发现
* Reference To: PBCN90.InvokeInfoDialog, Ord:0064h
                                  |
:10001014 E8DF000000              Call 100010F8
:10001019 6A01                    push 00000001
:1000101B 8B8424A0000000          mov eax, dword ptr [esp+000000A0]
:10001022 8B8C249C000000          mov ecx, dword ptr [esp+0000009C]
:10001029 8B942494000000          mov edx, dword ptr [esp+00000094]
:10001030 50                      push eax
:10001031 51                      push ecx
:10001032 53                      push ebx
:10001033 52                      push edx

在OD中10001014下断点。

2.OD分析pb9.exe
弹出对话框地址;
10001014     E8 DF000000    CALL <JMP.&PBCN90.#100_InvokeInfoDialog>

100010F8=<JMP.&PBCN90.#100_InvokeInfoDialog>

DS:[003E2040]=77D288E1 (USER32.DialogBoxParamA)
F8后出现nag窗口。故CALL <JMP.&PBCN90.#100_InvokeInfoDialog>为关键。
此处修改为nop,在OD中模拟退出程序出错。继续debug。
2.pbcn90.dll领空分析;
BCN90.InvokeInfoDialog
重新进入程序,F7进入CALL <JMP.&PBCN90.#100_InvokeInfoDialog>
发现以下有三个CALL。
003E109F   8D4C24 08        LEA ECX,DWORD PTR SS:[ESP+8]
003E10A3   E8 68010000      CALL PBCN90.003E1210
003E10A8   8D4C24 00        LEA ECX,DWORD PTR SS:[ESP]
003E10AC   E8 3F010000      CALL PBCN90.003E11F0
003E10B1   8D4C24 00        LEA ECX,DWORD PTR SS:[ESP]
003E10B5   E8 96010000      CALL PBCN90.003E1250
003E10BA   83C4 18          ADD ESP,18

出现对话框处为;003E10AC   E8 3F010000      CALL PBCN90.003E11F0

E8 3F010000 用nop填充。用ULTRA EDIT 查找E8 3F,替换连续的5个字节为90。搞定。

也可以继续跟进CALL PBCN90.003E11F0,F7进入,F8步进到
003E1200   8B41 04          MOV EAX,DWORD PTR DS:[ECX+4]
003E1203   52               PUSH EDX
003E1204   50               PUSH EAX
003E1205   FF15 40203E00    CALL DWORD PTR DS:[<&USER32.DialogBoxParamA>]      ; USER32.DialogBoxParamA
003E120B   C3               RETN

到003E1205   FF15 40203E00    CALL DWORD PTR DS:[<&USER32.DialogBoxParamA>]处,出现NAG

用nop填充失败。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 442
活跃值: (1216)
能力值: ( LV12,RANK:1130 )
在线值:
发帖
回帖
粉丝
2
修改系统文件总不好吧?
2005-5-25 14:32
0
雪    币: 214
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
支持一下!
2005-5-25 14:52
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我也支持一下!
2005-5-25 22:57
0
雪    币: 217
活跃值: (81)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
支持一下!
2005-5-26 07:25
0
雪    币: 106
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
inr
6
od 中下断老不成功,不知道为什么,这儿是不是bp 10001014,还是只分析dll,加载dll后下bp 10001014.
我是新手,请大哥指点一下。
2005-5-26 08:35
0
游客
登录 | 注册 方可回帖
返回
//