首页
社区
课程
招聘
[求助][求助]一个VB程序破解过程中的暗桩
发表于: 2011-10-26 11:29 7516

[求助][求助]一个VB程序破解过程中的暗桩

2011-10-26 11:29
7516
一个老的VB程序。壳已经剥了,主要是时间问题破解。
004BFE84   .  50            push eax
004BFE85   .  6A 04         push 4
004BFE87   .  FF15 50104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVarList
004BFE8D   .  83C4 14       add esp,14
004BFE90   .  0FBF8D E8FEFF>movsx ecx,word ptr ss:[ebp-118]
004BFE97   .  85C9          test ecx,ecx
004BFE99      74 7D         je short 185.004BFF18                    ;  比较时间
004BFE9B   .  C745 FC 14000>mov dword ptr ss:[ebp-4],14
004BFEA2   .  8D95 70FFFFFF lea edx,dword ptr ss:[ebp-90]
004BFEA8   .  52            push edx
004BFEA9   .  FF15 54134000 call dword ptr ds:[<&MSVBVM60.#610>]     ;  MSVBVM60.rtcGetDateVar
004BFEAF   .  C785 28FFFFFF>mov dword ptr ss:[ebp-D8],0
004BFEB9   .  C785 2CFFFFFF>mov dword ptr ss:[ebp-D4],40E4B020
004BFEC3   .  C785 20FFFFFF>mov dword ptr ss:[ebp-E0],8007
004BFECD   .  8D85 70FFFFFF lea eax,dword ptr ss:[ebp-90]
004BFED3   .  50            push eax                                 ; /var18
004BFED4   .  8D8D 20FFFFFF lea ecx,dword ptr ss:[ebp-E0]            ; |
004BFEDA   .  51            push ecx                                 ; |var28
004BFEDB   .  FF15 04104000 call dword ptr ds:[<&MSVBVM60.__vbaVarTs>; \__vbaVarTstGt
004BFEE1   .  66:8985 E8FEF>mov word ptr ss:[ebp-118],ax
004BFEE8   .  8D8D 70FFFFFF lea ecx,dword ptr ss:[ebp-90]
004BFEEE   .  FF15 38104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVar
004BFEF4   .  0FBF95 E8FEFF>movsx edx,word ptr ss:[ebp-118]
004BFEFB   .  85D2          test edx,edx
004BFEFD   .  74 07         je short 185.004BFF06




004BFE99  处比较时间,可是我改成跳转后,程序直接退出了。
可能是有暗桩,不知道在哪里,可能是有定时器,高手指点一下

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
从代码看,你所指的位置肯定是错误的。
2011-10-26 12:32
0
雪    币: 225
活跃值: (188)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上说得对,我写错了

004BFE99  是比较有没有注册信息

004BFEFD  是比较时间

我在004BFE99  修改跳转,结果就程序就退出了。
2011-10-26 13:50
0
雪    币: 225
活跃值: (188)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
再求助,等指导
2011-10-28 08:38
0
雪    币: 248
活跃值: (118)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
004BFF78   .  85C0          test    eax, eax
004BFF7A   .  74 07         je      short 004BFF83   //让它跳过去,下面有个退出也让其跳过或者nop掉
004BFF7C   .  E9 76050000   jmp     004C04F7
004BFF81   .  EB 10         jmp     short 004BFF93
004BFF83   >  C745 FC 1D000>mov     dword ptr [ebp-4], 1D
004BFF8A   .  66:C705 24506>mov     word ptr [635024], 0
004BFF93   >  C745 FC 20000>mov     dword ptr [ebp-4], 20
004BFF9A   .  8D4D D4       lea     ecx, dword ptr [ebp-2C]
004BFF9D   .  51            push    ecx
004BFF9E   .  8B55 08       mov     edx, dword ptr [ebp+8]
004BFFA1   .  8B02          mov     eax, dword ptr [edx]
004BFFA3   .  8B4D 08       mov     ecx, dword ptr [ebp+8]
004BFFA6   .  51            push    ecx
004BFFA7   .  FF90 64070000 call    dword ptr [eax+764]
004BFFAD   .  8B55 D4       mov     edx, dword ptr [ebp-2C]


跳过退出
004C0492   .  66:833D 1C506>cmp     word ptr [63501C], 0FFFF         ; |
004C049A   .  75 0D         jnz     short 004C04A9                   ; |让其跳过
004C049C   .  C745 FC 31000>mov     dword ptr [ebp-4], 31            ; |
004C04A3   .  FF15 4C104000 call    dword ptr [<&MSVBVM60.__vbaEnd>] ; \__vbaEnd
004C04A9   >  C745 FC 33000>mov     dword ptr [ebp-4], 33
004C04B0   .  66:C705 26506>mov     word ptr [635026], 0
004C04B9   .  C745 FC 34000>mov     dword ptr [ebp-4], 34
004C04C0   .  8B15 2C506300 mov     edx, dword ptr [63502C]


退出是会有个提示

程序窗口居然不能移动,不知道是不是修改的原因
2011-10-28 13:58
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
不知道如何使用?
2011-10-28 20:59
0
雪    币: 209
活跃值: (24)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
比较时间不是那个地方.
2011-10-28 23:20
0
雪    币: 225
活跃值: (188)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
搞定
谢谢 七夜血  的指点

退出是会有个提示,JUM过去就行了
2011-10-31 14:48
0
雪    币: 193
活跃值: (276)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
rMultiByteToWideChar,
rtcR8ValFromBstr,
WideCharToMultiByte,
__vbaStrCmp
__vbaStrComp
__vbaStrCopy
__vbaStrMove
__vbaVarTstNe
rtcBeep
rtcGetPresentDate
rtcMsgBox
__vbaEND
为调试VB程序的常用断点,本程序用rtcMsgBox
__vbaEND 就OK

程序的修改如下

cs:4bff7a jz 4bff83 改为jmp 4bff883
cs:4c049a jnz 4c04a9 改为 jmp 4c04a9
cs:4c142c jnz 4c151d  改为jmp 4c151d
2011-11-1 11:41
0
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我一般是先用SmartCheck跑跑看,找到关键点,再用OD
2011-11-1 15:06
0
雪    币: 386
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
好办法。。。
2011-11-1 17:36
0
游客
登录 | 注册 方可回帖
返回
//