首页
社区
课程
招聘
[旧帖] [求助]关于时间限制 0.00雪花
发表于: 2007-5-29 22:13 13045

[旧帖] [求助]关于时间限制 0.00雪花

2007-5-29 22:13
13045
最近突然迷上了易语言,全身心投入中.....

  老婆看我学得用心,出了个题目,否则要收回电脑使用权。。。。汗,她在玩一款垃圾游戏,让我把这游戏外挂试用版给破了

  绞尽脑汁,找到了这里,花了一周时间,终于把壳给脱了,ASPack 2.x (without poly) -> Alexey Solodovnikov的,用Borland Delphi5.0编写。

  但是这个运行时间限制却破不了,看了论坛众多破文,不得其法请教朋友们给个思路

  此程序无注册方式,运行约90分钟左右提示试用时间到期,重启程序后恢复正常。Ollydbg载入后停在:
  
00493F0C > $  55            PUSH EBP
00493F0D   .  8BEC          MOV EBP,ESP
00493F0F      83C4 F4       ADD ESP,-0C
00493F12      53            PUSH EBX
00493F13      B8 E43C4900   MOV EAX,Ex.00493CE4
00493F18      E8 1B29F7FF   CALL Ex.00406838
00493F1D      8B1D EC6B4900 MOV EBX,DWORD PTR DS:[496BEC]            ;  Ex.004977D0
00493F23   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493F25   .  E8 3EB8FBFF   CALL Ex.0044F768
00493F2A   .  8B0D 7C694900 MOV ECX,DWORD PTR DS:[49697C]            ;  Ex.004979AC
00493F30   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493F32   .  8B15 E0434800 MOV EDX,DWORD PTR DS:[4843E0]            ;  Ex.0048442C
00493F38   .  E8 43B8FBFF   CALL Ex.0044F780
00493F3D   .  8B0D 286A4900 MOV ECX,DWORD PTR DS:[496A28]            ;  Ex.00497980
00493F43   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493F45   .  8B15 F0CB4700 MOV EDX,DWORD PTR DS:[47CBF0]            ;  Ex.0047CC3C
00493F4B   .  E8 30B8FBFF   CALL Ex.0044F780
00493F50   .  8B0D D4694900 MOV ECX,DWORD PTR DS:[4969D4]            ;  Ex.00497988
00493F56   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493F58   .  8B15 18D54700 MOV EDX,DWORD PTR DS:[47D518]            ;  Ex.0047D564
00493F5E   .  E8 1DB8FBFF   CALL Ex.0044F780
00493F63   .  8B0D B06C4900 MOV ECX,DWORD PTR DS:[496CB0]            ;  Ex.00497990
00493F69   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493F6B   .  8B15 40DB4700 MOV EDX,DWORD PTR DS:[47DB40]            ;  Ex.0047DB8C
00493F71   .  E8 0AB8FBFF   CALL Ex.0044F780
00493F76   .  8B0D 886A4900 MOV ECX,DWORD PTR DS:[496A88]            ;  Ex.0049799C
00493F7C   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493F7E   .  8B15 88F74700 MOV EDX,DWORD PTR DS:[47F788]            ;  Ex.0047F7D4
00493F84   .  E8 F7B7FBFF   CALL Ex.0044F780
00493F89   .  8B0D 186B4900 MOV ECX,DWORD PTR DS:[496B18]            ;  Ex.00497970
00493F8F   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493F91   .  8B15 8C914600 MOV EDX,DWORD PTR DS:[46918C]            ;  Ex.004691D8
00493F97   .  E8 E4B7FBFF   CALL Ex.0044F780
00493F9C   .  8B0D 606C4900 MOV ECX,DWORD PTR DS:[496C60]            ;  Ex.004979A4
00493FA2   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493FA4   .  8B15 D4334800 MOV EDX,DWORD PTR DS:[4833D4]            ;  Ex.00483420
00493FAA   .  E8 D1B7FBFF   CALL Ex.0044F780
00493FAF   .  8B03          MOV EAX,DWORD PTR DS:[EBX]
00493FB1   .  E8 4AB8FBFF   CALL Ex.0044F800
00493FB6   .  5B            POP EBX
00493FB7   .  E8 BCFAF6FF   CALL Ex.00403A78
00493FBC   .  0000          ADD BYTE PTR DS:[EAX],AL

感谢指点。。。。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (34)
雪    币: 296
活跃值: (250)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
2
迷上E和破解有关吗?
我觉得让你用E写一个外挂似乎更合乎情理
可以根据提示方式试试messagebox断点
2007-5-29 23:57
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵 是没关系,但是我要能学到独立开发什么软件的程度,还要很长的时间啊

唉 什么方法都用尽了,无效......真后悔当初不认真学基础语言啊
2007-5-30 08:53
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
报告进展......

昨日拟用DeDe4反汇编这个软件,找到了提示"试用版已过时"地方,奇怪的是,OD加载软件却找不到这行字段,

这是怎么回事呢
2007-5-31 11:36
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
写个程序,自动关掉程序,再重启,岂不简单?
2007-6-1 22:14
0
雪    币: 146
活跃值: (33)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
6
好像有两个获取系统时间的函数,搜索一下?然后下个断点?
2007-6-1 22:36
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢回复

用bp SetTimer 查找创建定时器,确实有,另找到一个kill timer,两者的数据换成十进制,差距刚好是程序停止运行时间,问题是这两处都不是在程序领空......拿它没办法,俺菜啊
2007-6-2 08:09
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
有明白点的朋友帮看一下这段,我实在没法了,

00403372                   |> \5A            POP EDX
00403373                   |.  58            POP EAX
00403374                   \.  C3            RETN
00403375                       8D40 00       LEA EAX,DWORD PTR DS:[EAX]
00403378                    >  8B4424 04     MOV EAX,DWORD PTR SS:[ESP+4]    //这个跳转来自20余个地方,包括下面那个向的的跳转
0040337C                    .  F740 04 06000>TEST DWORD PTR DS:[EAX+4],6
00403383                    .  0F85 12010000 JNZ AutoXYDE.0040349B
00403389                    .  8138 DEFAED0E CMP DWORD PTR DS:[EAX],0EEDFADE
0040338F                    .  8B50 18       MOV EDX,DWORD PTR DS:[EAX+18]
00403392                    .  8B48 14       MOV ECX,DWORD PTR DS:[EAX+14]
00403395                    .  74 6E         JE SHORT AutoXYDE.00403405

................................

0044F790                    .  FF50 F4       CALL DWORD PTR DS:[EAX-C]
0044F793                    .  8BD8          MOV EBX,EAX
0044F795                    .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0044F798                    .  8918          MOV DWORD PTR DS:[EAX],EBX
0044F79A                    .  33C0          XOR EAX,EAX
0044F79C                    .  55            PUSH EBP
0044F79D                    .  68 BEF74400   PUSH AutoXYDE.0044F7BE
0044F7A2                    .  64:FF30       PUSH DWORD PTR FS:[EAX]
0044F7A5                    .  64:8920       MOV DWORD PTR FS:[EAX],ESP
0044F7A8                    .  8BCE          MOV ECX,ESI
0044F7AA                    .  83CA FF       OR EDX,FFFFFFFF
0044F7AD                    .  8BC3          MOV EAX,EBX
0044F7AF                    .  8B38          MOV EDI,DWORD PTR DS:[EAX]
0044F7B1                    .  FF57 2C       CALL DWORD PTR DS:[EDI+2C]
0044F7B4                    .  33C0          XOR EAX,EAX
0044F7B6                    .  5A            POP EDX
0044F7B7                    .  59            POP ECX
0044F7B8                    .  59            POP ECX
0044F7B9                    .  64:8910       MOV DWORD PTR FS:[EAX],EDX
0044F7BC                    .  EB 16         JMP SHORT AutoXYDE.0044F7D4      //这里有个跳转
0044F7BE                    .^ E9 B53BFBFF   JMP AutoXYDE.00403378            //这个跳转是向上的,直到上面的00403378
0044F7C3                    .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0044F7C6                    .  33D2          XOR EDX,EDX
0044F7C8                    .  8910          MOV DWORD PTR DS:[EAX],EDX
0044F7CA                    .  E8 B13EFBFF   CALL AutoXYDE.00403680
0044F7CF                    .  E8 003FFBFF   CALL AutoXYDE.004036D4
0044F7D4                    >  837E 38 00    CMP DWORD PTR DS:[ESI+38],0       //这上面是一连串的运算比较
0044F7D8                       75 1D         JNZ SHORT AutoXYDE.0044F7F7       //这里的JNZ改为JMP后,程序运行后立即关闭,未有出错提示
0044F7DA                    .  8BC3          MOV EAX,EBX
0044F7DC                    .  8B15 D85C4400 MOV EDX,DWORD PTR DS:[445CD8]            ;  AutoXYDE.00445D24
0044F7E2                    .  E8 5D38FBFF   CALL AutoXYDE.00403044
0044F7E7                    .  84C0          TEST AL,AL
0044F7E9                    .  74 0C         JE SHORT AutoXYDE.0044F7F7
0044F7EB                    .  8BFB          MOV EDI,EBX
0044F7ED                    .  8BC7          MOV EAX,EDI
0044F7EF                    .  E8 4880FEFF   CALL AutoXYDE.0043783C
0044F7F4                    .  897E 38       MOV DWORD PTR DS:[ESI+38],EDI
0044F7F7                    >  5F            POP EDI
0044F7F8                    .  5E            POP ESI
0044F7F9                    .  5B            POP EBX
0044F7FA                    .  59            POP ECX
0044F7FB                    .  5D            POP EBP
0044F7FC                    .  C3            RETN
0044F7FD                       8D40 00       LEA EAX,DWORD PTR DS:[EAX]
0044F800                    $  55            PUSH EBP
0044F801                    .  8BEC          MOV EBP,ESP
0044F803                    .  51            PUSH ECX
0044F804                    .  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
0044F807                    .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0044F80A                    .  C680 95000000>MOV BYTE PTR DS:[EAX+95],1
0044F811                    .  33D2          XOR EDX,EDX
0044F813                    .  55            PUSH EBP
0044F814                    .  68 AAF84400   PUSH AutoXYDE.0044F8AA
0044F819                    .  64:FF32       PUSH DWORD PTR FS:[EDX]
0044F81C                    .  64:8922       MOV DWORD PTR FS:[EDX],ESP
0044F81F                    .  B8 906D4400   MOV EAX,AutoXYDE.00446D90                ;  入口地址
0044F824                    .  E8 BB8BFBFF   CALL AutoXYDE.004083E4
0044F829                    .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
0044F82C                    .  8B40 38       MOV EAX,DWORD PTR DS:[EAX+38]
0044F82F                    .  85C0          TEST EAX,EAX
0044F831                    .  74 5F         JE SHORT AutoXYDE.0044F892
2007-6-2 08:20
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
今天周末啊  应该来的人多些吧...
2007-6-2 08:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
0044F7D8                       75 1D         JNZ SHORT AutoXYDE.0044F7F7       //这里的JNZ改为JMP后,程序运行后立即关闭,未有出错提示

NOP
试过没?可以用IDA分析一下流程。在进入比较的地方改JMP或NOP的,或改改时间比较里较大的数+N
2007-6-2 09:07
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
11
用资源编辑器找到这个定时器,设置允许属性为假试试看。

例如:
object Timer1: TTimer
    Enabled = False
    Interval = 50
    OnTimer = Timer1Timer
    Left = 64
    Top = 216
  end
  object Timer2: TTimer
    Enabled = False
    Interval = 100
    OnTimer = Timer2Timer
    Left = 176
    Top = 56
  end
或改
Interval = 100

Interval = 0
2007-6-2 09:35
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
感谢  我再试下
2007-6-2 09:52
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我用DeDe查看过,能看到,可我不会用DEDE...别笑,实在太菜了
2007-6-2 09:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
好复杂~~~~~~~~~~
2007-6-2 09:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
试过  不行
2007-6-2 10:18
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
几经折腾,个人觉得找到了地方....问题又来了,按论坛的习题操作,好象无效

这个软件是个游戏外挂,正常进入后应当有系列的操作,比如每多久时间做什么等等......能看懂的朋友帮我看下..

找到两个SetTimer  killTimer函数

00450124  /$  53            PUSH EBX
00450125  |.  56            PUSH ESI
00450126  |.  57            PUSH EDI
00450127  |.  8BD9          MOV EBX,ECX
00450129  |.  8BF2          MOV ESI,EDX
0045012B  |.  8BF8          MOV EDI,EAX
0045012D  |.  8BC7          MOV EAX,EDI
0045012F  |.  E8 28000000   CALL AutoXYDE.0045015C
00450134  |.  68 B8E14400   PUSH AutoXYDE.0044E1B8                   ; /Timerproc = AutoXYDE.0044E1B8
00450139  |.  56            PUSH ESI                                 ; |Timeout
0045013A      6A 00         PUSH 0                                   ; |TimerID = 0
0045013C  |.  6A 00         PUSH 0                                   ; |hWnd = NULL
0045013E  |.  E8 A970FBFF   CALL <JMP.&user32.SetTimer>              ; \SetTimer
00450143  |.  66:8947 7A    MOV WORD PTR DS:[EDI+7A],AX
00450147  |.  885F 79       MOV BYTE PTR DS:[EDI+79],BL
0045014A  |.  66:837F 7A 00 CMP WORD PTR DS:[EDI+7A],0
0045014F      75 07         JNZ SHORT AutoXYDE.00450158
00450151  |.  8BC7          MOV EAX,EDI
00450153  |.  E8 A0010000   CALL AutoXYDE.004502F8
00450158  |>  5F            POP EDI
00450159  |.  5E            POP ESI
0045015A  |.  5B            POP EBX
0045015B  \.  C3            RETN
0045015C  /$  53            PUSH EBX
0045015D  |.  8BD8          MOV EBX,EAX
0045015F  |.  66:8B43 7A    MOV AX,WORD PTR DS:[EBX+7A]
00450163  |.  66:85C0       TEST AX,AX
00450166      74 11         JE SHORT AutoXYDE.00450179
00450168  |.  0FB7C0        MOVZX EAX,AX
0045016B  |.  50            PUSH EAX                                 ; /TimerID
0045016C  |.  6A 00         PUSH 0                                   ; |hWnd = NULL
0045016E  |.  E8 216FFBFF   CALL <JMP.&user32.KillTimer>             ; \KillTimer
00450173  |.  66:C743 7A 00>MOV WORD PTR DS:[EBX+7A],0
00450179  |>  5B            POP EBX
0045017A  \.  C3            RETN
0045017B      90            NOP
0045017C  /$  53            PUSH EBX
0045017D  |.  56            PUSH ESI
0045017E  |.  57            PUSH EDI
0045017F  |.  55            PUSH EBP
00450180  |.  83C4 E0       ADD ESP,-20
00450183  |.  8BE9          MOV EBP,ECX

004531D4  /$  55            PUSH EBP
004531D5  |.  8BEC          MOV EBP,ESP
004531D7  |.  6A 00         PUSH 0
004531D9  |.  53            PUSH EBX
004531DA  |.  56            PUSH ESI
004531DB  |.  8BD8          MOV EBX,EAX
004531DD  |.  33C0          XOR EAX,EAX
004531DF  |.  55            PUSH EBP
004531E0  |.  68 53324500   PUSH AutoXYDE.00453253
004531E5  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
004531E8  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
004531EB  |.  6A 01         PUSH 1                                   ; /TimerID = 1
004531ED  |.  8B43 28       MOV EAX,DWORD PTR DS:[EBX+28]            ; |
004531F0  |.  50            PUSH EAX                                 ; |hWnd
004531F1  |.  E8 9E3EFBFF   CALL <JMP.&user32.KillTimer>             ; \KillTimer
004531F6  |.  8B73 24       MOV ESI,DWORD PTR DS:[EBX+24]
004531F9  |.  85F6          TEST ESI,ESI
004531FB      74 40         JE SHORT AutoXYDE.0045323D
004531FD  |.  807B 38 00    CMP BYTE PTR DS:[EBX+38],0
00453201  |.  74 3A         JE SHORT AutoXYDE.0045323D
00453203  |.  66:837B 32 00 CMP WORD PTR DS:[EBX+32],0
00453208      74 33         JE SHORT AutoXYDE.0045323D               //这里修改后,程序进入后无动作
0045320A  |.  6A 00         PUSH 0                                   ; /Timerproc = NULL
0045320C  |.  56            PUSH ESI                                 ; |Timeout
0045320D  |.  6A 01         PUSH 1                                   ; |TimerID = 1
0045320F  |.  8B43 28       MOV EAX,DWORD PTR DS:[EBX+28]            ; |
00453212  |.  50            PUSH EAX                                 ; |hWnd
00453213  |.  E8 D43FFBFF   CALL <JMP.&user32.SetTimer>              ; \SetTimer
00453218  |.  85C0          TEST EAX,EAX
0045321A      75 21         JNZ SHORT AutoXYDE.0045323D
0045321C  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
0045321F  |.  A1 606D4900   MOV EAX,DWORD PTR DS:[496D60]
00453224  |.  E8 0B27FBFF   CALL AutoXYDE.00405934
00453229  |.  8B4D FC       MOV ECX,DWORD PTR SS:[EBP-4]
0045322C  |.  B2 01         MOV DL,1
0045322E  |.  A1 10EE4000   MOV EAX,DWORD PTR DS:[40EE10]
00453233  |.  E8 9486FBFF   CALL AutoXYDE.0040B8CC
00453238  |.  E8 2704FBFF   CALL AutoXYDE.00403664
0045323D  |>  33C0          XOR EAX,EAX
0045323F  |.  5A            POP EDX
00453240  |.  59            POP ECX
2007-6-2 12:33
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
是不是程序的定时程序不能直接跳转? 如果跳转的话将使系统无参照点?

期望指点
2007-6-2 12:35
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
难道就没朋友肯指点一下吗
2007-6-2 17:40
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
顶一下

寻求更多人指点
2007-6-3 09:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
看看,也是刚学习破解,交流一下
2007-6-3 23:52
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
这个程序的下载地址?
2007-6-4 00:44
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
喔  一个游戏的外挂 就不公布下载了
2007-6-4 07:17
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
今天运气好,破解了部分功能限制,通过字串查找的笨办法......

越来越怪了  今天突然发现此时间限制程序每次启动后,停止运行的时间不一样

这是怎么回事?
2007-6-4 16:27
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
有兴趣的朋友可以指点一下

http://pickup.mofile.com/1081078904010376

http://pickup.mofile.com/5615607578714596
2007-6-4 16:34
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
已脱壳的   ........
2007-6-4 16:38
0
游客
登录 | 注册 方可回帖
返回
//