首页
社区
课程
招聘
找人帮忙看下,这软件是否有反调试!!
发表于: 2010-3-13 19:34 8671

找人帮忙看下,这软件是否有反调试!!

2010-3-13 19:34
8671
研究了好多天了。总是断不下来!!有点怪怪!!

给个链接:http://www.skycn.com/soft/25993.html

天空软件站的。绿色免安装。

本人QQ:78324620  交流。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (29)
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
查了是  ASPack 2.12 -> Alexey Solodovnikov 的壳
用OD搞了下  没发现Anti  呵呵  我用的是普通的OD
2010-3-13 23:47
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢你!!

PEiD v0.94查壳ASPack 2.12 -> Alexey Solodovnikov

KANAL v2.90显示无任何算法

用AspackDie141完美脱壳

PEiD v0.94再查Borland C++ 1999

OD载入。我没办法断下。希望你能再提示一下。
2010-3-14 00:33
0
雪    币: 50
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
ESP 定率就行了
hr 0012ffa4
f9

004F53B0   /75 08           JNZ SHORT 004F53BA   ;断在这里
004F53B2   |B8 01000000     MOV EAX,1
004F53B7   |C2 0C00         RETN 0C
004F53BA   \68 28144000     PUSH 00401428
004F53BF    C3              RETN

F8 走3步就到  OEP 了

00401428   /EB 10           JMP SHORT 0040143A   ;OEP
0040142A   |66:623A         BOUND DI,DWORD PTR DS:[EDX]
0040142D   |43              INC EBX
0040142E   |2B2B            SUB EBP,DWORD PTR DS:[EBX]

插件 dump就行了
2010-3-15 16:57
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
关于X桌面一键隐藏的破解思路!!

PEiD v0.94查壳ASPack 2.12 -> Alexey Solodovnikov

KANAL v2.90显示无任何算法

用AspackDie141完美脱壳

PEiD v0.94查壳Borland C++ 1999

部分破解过程!!

该软件用一段时间后会显示过期,不能使用。于是,想到可能是在安装时记下一时间,在每次启动时再取得一时间跟安装时的时间作比较。

用bp GetLocalTime下断成功断下。

7C80A874 >  8BFF            mov     edi, edi         断在这儿!
7C80A876    55              push    ebp
7C80A877    8BEC            mov     ebp, esp
7C80A879    83EC 18         sub     esp, 18
7C80A87C    64:A1 18000000  mov     eax, dword ptr fs:[18]
7C80A882    8B40 30         mov     eax, dword ptr [eax+30]
7C80A885    8B0D D802FE7F   mov     ecx, dword ptr [7FFE02D8]

可是在系统领空中。ALT+F9,返回到程序领空!

0042FBD7  |.  50            push    eax                              ; /pLocaltime
0042FBD8  |.  E8 21D50800   call    <jmp.&KERNEL32.GetLocalTime>     ; \GetLocalTime
0042FBDD  |.  66:8B4C24 0E  mov     cx, word ptr [esp+E]      返回到这儿!!
0042FBE2  |.  66:8B5424 0A  mov     dx, word ptr [esp+A]
0042FBE7  |.  66:8B4424 08  mov     ax, word ptr [esp+8]
0042FBEC  |.  E8 EFFDFFFF   call    0042F9E0

并且看到了GetLocalTime,熟悉的函数!
F8向下一步一步走,走出这个该段函数。

00402541  |.  DD5D C8       fstp    qword ptr [ebp-38]            返回到这儿!!!
00402544  |.  8D45 C8       lea     eax, dword ptr [ebp-38]
00402547  |.  E8 C4000000   call    00402610
0040254C  |.  2B83 78030000 sub     eax, dword ptr [ebx+378]
00402552  |.  50            push    eax
00402553  |.  E8 C4000000   call    0040261C
00402558  |.  59            pop     ecx
00402559  |.  83F8 0F       cmp     eax, 0F                          ;  检测软件是否过期
0040255C  |.  7D 11         jge     short 0040256F
0040255E  |.  33C0          xor     eax, eax
00402560  |.  8B55 D0       mov     edx, dword ptr [ebp-30]
00402563  |.  64:8915 00000>mov     dword ptr fs:[0], edx
0040256A  |.  E9 9A000000   jmp     00402609
0040256F  |>  66:C745 E0 08>mov     word ptr [ebp-20], 8
00402575  |.  BA 3AE24B00   mov     edx, 004BE23A
0040257A  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
0040257D  |.  E8 AA730A00   call    004A992C
00402582  |.  FF45 EC       inc     dword ptr [ebp-14]
00402585  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
00402588  |.  8B83 7C030000 mov     eax, dword ptr [ebx+37C]
0040258E  |.  E8 29750A00   call    004A9ABC
00402593  |.  FF4D EC       dec     dword ptr [ebp-14]
00402596  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
00402599  |.  BA 02000000   mov     edx, 2
0040259E  |.  E8 E9740A00   call    004A9A8C
004025A3  |.  8BCB          mov     ecx, ebx
004025A5  |.  B2 01         mov     dl, 1
004025A7  |.  A1 E41B4C00   mov     eax, dword ptr [4C1BE4]
004025AC  |.  E8 6B8D0000   call    0040B31C
004025B1  |.  8BF0          mov     esi, eax
004025B3  |.  8BC6          mov     eax, esi
004025B5  |.  8B10          mov     edx, dword ptr [eax]
004025B7  |.  FF92 E8000000 call    dword ptr [edx+E8]               ;  F8单步走,到这儿弹出对话框,软件已过期

也就是说在弹出过期对话框时,程序一定已判断了该软件是否过期,再往回找。看到

00402559  |.  83F8 0F       cmp     eax, 0F                          ;  检测软件是否过期

试用期为15天,这儿可以改0F为FFFFFFFF可无限期试用。(我没试,你可改的小点)

想找到如何注册有点难,我搞这好几个星期了。没找到头绪。于是就用脑猛想。想啊想…………

想到,如果有人注册了的话,一定是先判断该软件是否注册,没注册的话再判断有没有过期,于就往上看,看到如下:

00402518  |.  56            push    esi
00402519  |.  57            push    edi
0040251A  |.  8B5D 08       mov     ebx, dword ptr [ebp+8]
0040251D  |.  E8 92D20900   call    0049F7B4                         ;  这个就是关键Call(猜的)
00402522  |.  83BB 74030000>cmp     dword ptr [ebx+374], 0
00402529  |.  75 11         jnz     short 0040253C                   ;  关键跳,跳走OK,不跳挂!!
0040252B  |.  33C0          xor     eax, eax
0040252D  |.  8B55 D0       mov     edx, dword ptr [ebp-30]
00402530  |.  64:8915 00000>mov     dword ptr fs:[0], edx
00402537  |.  E9 CD000000   jmp     00402609
0040253C  |>  E8 8FD60200   call    0042FBD0
00402541  |.  DD5D C8       fstp    qword ptr [ebp-38]

经测试,完全可以。

00402529  |.  75 11         jnz     short 0040253C                   ;  关键跳,跳走OK,不跳挂!!

这一行可以完成爆破。jnz改为jz

爆破后,我试运行,在切换几次之后还是会弹出恼人提示未注册的窗口!!郁闷呀!!

就先分析到这儿!!我以后还将继续关注这软件!!

注:该软件可以通过改系统日期的方法,无限期使用,不过这个看日期就不方便了。
    也可以改系统日期让软件过期,便于调试!!
    改日期,改桌面右下角的日期即可!!
2010-3-16 14:17
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
俺是新手不太懂,顶一下!
2010-3-16 14:30
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
自己顶一个。别沉了!!
2010-3-16 17:46
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
如果不想研究算法,就构造虚假注册文件XDesktopReg.Ini,再进行爆破即可。
2010-3-16 21:42
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
在此先谢谢你!!
我来这是想学点东西的.当然想研究算法.
昨晚也找到了主要算法的位置,并构造了虚假的文件.

0040BE78  /$  55            push    ebp
0040BE79  |.  8BEC          mov     ebp, esp
0040BE7B  |.  51            push    ecx
0040BE7C  |.  53            push    ebx
0040BE7D  |.  56            push    esi
0040BE7E  |.  57            push    edi
0040BE7F  |.  8B7D 10       mov     edi, dword ptr [ebp+10]
0040BE82  |.  57            push    edi
0040BE83  |.  E8 5C2C0900   call    0049EAE4
0040BE88  |.  59            pop     ecx
0040BE89  |.  8945 FC       mov     dword ptr [ebp-4], eax
0040BE8C  |.  33F6          xor     esi, esi
0040BE8E  |.  8B45 FC       mov     eax, dword ptr [ebp-4]
0040BE91  |.  8BD8          mov     ebx, eax
0040BE93  |.  8B45 0C       mov     eax, dword ptr [ebp+C]
0040BE96  |.  8BC8          mov     ecx, eax
0040BE98  |.  3BFE          cmp     edi, esi
0040BE9A  |.  0F8E 8D000000 jle     0040BF2D
0040BEA0  |>  8BC6          /mov     eax, esi
0040BEA2  |.  51            |push    ecx
0040BEA3  |.  B9 03000000   |mov     ecx, 3
0040BEA8  |.  99            |cdq
0040BEA9  |.  F7F9          |idiv    ecx
0040BEAB  |.  59            |pop     ecx
0040BEAC  |.  85D2          |test    edx, edx
0040BEAE  |.  75 08         |jnz     short 0040BEB8
0040BEB0  |.  8A01          |mov     al, byte ptr [ecx]
0040BEB2  |.  04 FD         |add     al, 0FD
0040BEB4  |.  8803          |mov     byte ptr [ebx], al
0040BEB6  |.  EB 6A         |jmp     short 0040BF22
0040BEB8  |>  8BD6          |mov     edx, esi
0040BEBA  |.  81E2 03000080 |and     edx, 80000003
0040BEC0  |.  79 05         |jns     short 0040BEC7
0040BEC2  |.  4A            |dec     edx
0040BEC3  |.  83CA FC       |or      edx, FFFFFFFC
0040BEC6  |.  42            |inc     edx
0040BEC7  |>  85D2          |test    edx, edx
0040BEC9  |.  75 08         |jnz     short 0040BED3
0040BECB  |.  8A01          |mov     al, byte ptr [ecx]
0040BECD  |.  04 FC         |add     al, 0FC
0040BECF  |.  8803          |mov     byte ptr [ebx], al
0040BED1  |.  EB 4F         |jmp     short 0040BF22
0040BED3  |>  8BC6          |mov     eax, esi
0040BED5  |.  51            |push    ecx
0040BED6  |.  B9 05000000   |mov     ecx, 5
0040BEDB  |.  99            |cdq
0040BEDC  |.  F7F9          |idiv    ecx
0040BEDE  |.  59            |pop     ecx
0040BEDF  |.  85D2          |test    edx, edx
0040BEE1  |.  75 08         |jnz     short 0040BEEB
0040BEE3  |.  8A01          |mov     al, byte ptr [ecx]
0040BEE5  |.  04 FB         |add     al, 0FB
0040BEE7  |.  8803          |mov     byte ptr [ebx], al
0040BEE9  |.  EB 37         |jmp     short 0040BF22
0040BEEB  |>  8BC6          |mov     eax, esi
0040BEED  |.  51            |push    ecx
0040BEEE  |.  B9 07000000   |mov     ecx, 7
0040BEF3  |.  99            |cdq
0040BEF4  |.  F7F9          |idiv    ecx
0040BEF6  |.  59            |pop     ecx
0040BEF7  |.  85D2          |test    edx, edx
0040BEF9  |.  75 08         |jnz     short 0040BF03
0040BEFB  |.  8A01          |mov     al, byte ptr [ecx]
0040BEFD  |.  04 F9         |add     al, 0F9
0040BEFF  |.  8803          |mov     byte ptr [ebx], al
0040BF01  |.  EB 1F         |jmp     short 0040BF22
0040BF03  |>  8BC6          |mov     eax, esi
0040BF05  |.  51            |push    ecx
0040BF06  |.  B9 0B000000   |mov     ecx, 0B
0040BF0B  |.  99            |cdq
0040BF0C  |.  F7F9          |idiv    ecx
0040BF0E  |.  59            |pop     ecx
0040BF0F  |.  85D2          |test    edx, edx
0040BF11  |.  75 08         |jnz     short 0040BF1B
0040BF13  |.  8A01          |mov     al, byte ptr [ecx]
0040BF15  |.  04 F5         |add     al, 0F5
0040BF17  |.  8803          |mov     byte ptr [ebx], al
0040BF19  |.  EB 07         |jmp     short 0040BF22
0040BF1B  |>  8A11          |mov     dl, byte ptr [ecx]
0040BF1D  |.  80C2 F0       |add     dl, 0F0
0040BF20  |.  8813          |mov     byte ptr [ebx], dl
0040BF22  |>  46            |inc     esi
0040BF23  |.  43            |inc     ebx
0040BF24  |.  41            |inc     ecx
0040BF25  |.  3BFE          |cmp     edi, esi
0040BF27  |.^ 0F8F 73FFFFFF \jg      0040BEA0
0040BF2D  |>  57            push    edi
0040BF2E  |.  8B4D FC       mov     ecx, dword ptr [ebp-4]
0040BF31  |.  51            push    ecx
0040BF32  |.  8B45 0C       mov     eax, dword ptr [ebp+C]
0040BF35  |.  50            push    eax
0040BF36  |.  E8 79340900   call    0049F3B4
0040BF3B  |.  83C4 0C       add     esp, 0C
0040BF3E  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
0040BF41  |.  52            push    edx
0040BF42  |.  E8 C5290900   call    0049E90C
0040BF47  |.  59            pop     ecx
0040BF48  |.  B0 01         mov     al, 1
0040BF4A  |.  5F            pop     edi
0040BF4B  |.  5E            pop     esi
0040BF4C  |.  5B            pop     ebx
0040BF4D  |.  59            pop     ecx
0040BF4E  |.  5D            pop     ebp
0040BF4F  \.  C3            retn

0049F3B4  /$  55            push    ebp
0049F3B5  |.  8BEC          mov     ebp, esp
0049F3B7  |.  56            push    esi
0049F3B8  |.  57            push    edi
0049F3B9  |.  8B7D 08       mov     edi, dword ptr [ebp+8]
0049F3BC  |.  8BC7          mov     eax, edi
0049F3BE  |.  8B75 0C       mov     esi, dword ptr [ebp+C]
0049F3C1  |.  8B4D 10       mov     ecx, dword ptr [ebp+10]
0049F3C4  |.  8BD1          mov     edx, ecx
0049F3C6  |.  D1E9          shr     ecx, 1
0049F3C8  |.  D1E9          shr     ecx, 1
0049F3CA  |.  FC            cld
0049F3CB  |.  F3:A5         rep     movs dword ptr es:[edi], dword ptr [esi]
0049F3CD  |.  8BCA          mov     ecx, edx
0049F3CF  |.  83E1 03       and     ecx, 3
0049F3D2  |.  F3:A4         rep     movs byte ptr es:[edi], byte ptr [esi]
0049F3D4  |.  5F            pop     edi
0049F3D5  |.  5E            pop     esi
0049F3D6  |.  5D            pop     ebp                                                ;  0012FB1C
0049F3D7  \.  C3            retn

就是这两个.在研究中!!
2010-3-17 10:04
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
10
每第n个字符, n 为下列倍数的处理方法 :

倍  算法
--  ----------
3  其值 & FD  (常用于小写转大写)
4  其值 - 4
5  其值 - 5
7  其值 - 7
11  其值 - 11
其它 其值 -16

 
2010-3-17 10:50
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我是来拜S大大的
2010-3-17 10:53
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
这个并不是注册算法,而是文件的解密算法(第二段是转移数据,费算法部分)。你还没找到注册算法点。
爆破需要修改三个位置。

另外,提供一个虚假注册文件
XDesktopReg.rar
上传的附件:
2010-3-17 13:39
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
今天中午又搞了一上午,也发现第一段是只是数据加密,并不是关键注册算法.

我就是没有找到关键比较在哪儿!!

还得希望各位帮帮忙!!

用楼上提供的虚假注册文件后,在切换几次之后还是会弹出恼人提示未注册的窗口!!它只能无限次试用,并没有去掉Neg窗口.楼上的,再看看!!
上传的附件:
2010-3-17 15:35
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
14
说过了,需要爆破!
2010-3-17 16:12
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我再搞,不搞定就没完!!
2010-3-17 21:06
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
16
唉.白搭了
钱难赚
2010-3-17 21:25
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
热心人真多
2010-3-17 21:28
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
18
我发现你的头像是这张小笑脸的本尊
2010-3-17 21:30
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
今天结贴了,钱给了sessiondiy与BlueT大侠,对我的帮助最大。谢谢你们!!
2010-3-18 06:42
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
20
送一个真注册码:
1234522345PLEWLPLJ1L
2010-3-18 15:21
0
雪    币: 261
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
21
关注这个很久了,一直没有等到最后的破解全文,不知道最后是如何解决掉那个NAG窗口的出现问题的?  

也不知道这个算法是什么样的? S先生的那个“倍 算法”的图表貌似看不懂呢?!
2010-3-30 19:02
0
雪    币: 261
活跃值: (83)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
22
这个算法怎么解释,看不太懂,烦请再指点
2010-3-30 19:12
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
23
想看算法啊?!那需要发散性思维。思维定势会影响跟踪过程的。
2010-3-30 20:03
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
24
怎么我这里老报网站里有木马病毒?
2010-3-30 20:04
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
俺是新手不太懂,顶一下!
2010-3-30 20:31
0
游客
登录 | 注册 方可回帖
返回
//