首页
社区
课程
招聘
[求助]破解加密狗 成功一半 请教问题
发表于: 2008-3-3 10:05 11246

[求助]破解加密狗 成功一半 请教问题

2008-3-3 10:05
11246
破解一加密狗,用OLLYDBG跟踪,最终读出了狗中的存储的信息,通过在跟踪到的DLL
的尾部添加代码,模拟输出狗中信息,在OLLYDBG中运行正常。

  问题是,脱离OLLYDBG单独运行 仍然报告无加密狗。

  用OLLYDBG 和IDA调试运行都正常,不用加密狗。

  想不通是什么原因 如果是CRC校验的话,在OLLYDBG中也应该出错吧

  跟踪过程中有几次异常,但好像也不是异常的原因(我新手)。

  请指教

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

收藏
免费 0
支持
分享
最新回复 (22)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
传说中的chap708
2008-3-3 15:05
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
麻烦解释下 是一种什么手法
2008-3-3 16:46
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
4
baidu it
2008-3-3 17:30
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
啥叫 传说中的chap708
forgot以前搞过一个旧版的aspr,当时那个示例文件叫做chap708

楼主说的程序的思路严重学习: 如果发现在调试器中也不报错,反而让你go it easy。
2008-3-3 17:39
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
用PEID看 是 Microsoft Visual C++ 6.0 DLL

CRC16 precomputed table for byte transform
CRC32 precomputed table for byte transform
MD5 transform ("compress") constants
RIJNDAEL (AES): substitution table
RIJNDAEL (AES): inverse substitution table (for decryption)

这么多,怎么下手,晕了。。。
2008-3-3 17:47
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
奇怪的是,为什么在OLLYDBG中 就不出错了呢
难道真的是 故意判断在调试环境中就不出错?
2008-3-3 17:48
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
8
没有那样的思路吧
2008-3-3 18:11
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
是啊 可为什么在OLLY中运行一切正常
单独运行就出错呢?

想不通。。。
2008-3-3 18:25
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
10
heap maigc?
2008-3-3 18:29
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
[QUOTE=;]...[/QUOTE]
heap magic?

怎么对付 什么原理?
2008-3-3 18:41
0
雪    币: 463
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
没破解成功,返回值可能有错吧, 我以前也出现过这样的问题。。
2008-3-4 01:44
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
返回值可能有错 但在调试环境里就正常 ollydbg和ida中均可。

怀疑可能是调试环境的堆和实际环境不一样? 不太懂
2008-3-4 07:56
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
再仔细检查一下调用狗的地方是否全部搞定了?

有可能跟forgot说的heap magic有关系哦.还有把你修改的地方贴代码片段上来,很有可能你修改方式不对,最好的是木马dll方式,整个替换函数过程.不要直接修改原dll.这样没有法律的问题,破解如果商业化的话,记住不要修改对方的任何文件.
2008-3-4 09:48
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
founder说的很道理,多谢多谢。
修改代码如下,从DLL原来位置跳到SECTION空白处,往相应内存写数据

     nop
        nop
        nop
        nop
        nop
        nop
        push    eax
        push    ecx
        push    edi
        cmp     ecx, 0
        je      short s2
        mov     edi, ecx
        mov     dword ptr [edi], 7654321
        mov     word ptr [edi+4], 0FFFF
        jmp     return
        nop
        nop
        nop
        nop
        nop
        nop
s2:
        mov     edi, edx
        mov     dword ptr [edi], 7654321
        mov     dword ptr [edi+4], -1
        mov     dword ptr [edi+8], -1
        mov     ecx, 2F
        mov     eax, 0
        add     edi, 0C
        rep     stos dword ptr es:[edi]
return:
        pop     edi
        pop     ecx
        pop     eax
        jmp     原位置
     nop
2008-3-4 10:21
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
16
重定位   吧
2008-3-4 12:33
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
又看了几篇文章
  应该jmp重定位的原因

  俺是一知半解。。
  是不是可能通过CALL和RET代替JMP 避开重定位啊
2008-3-4 19:55
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
18
重定位问题论坛讨论的不少,有多种解决方案
2008-3-4 21:32
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
看了下代码,JMP指令是 E9 813BFFFF  
应该是16位的相对跳转吧 不需要重定位吧
2008-3-4 21:35
0
雪    币: 256
活跃值: (748)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
20
看不明白
在dll中应该是相对定位,但都需要重定位的.
2008-3-5 12:56
0
雪    币: 716
活跃值: (162)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
21
s2:
        mov     edi, edx
        mov     dword ptr [edi], 7654321
        mov     dword ptr [edi+4], -1
        mov     dword ptr [edi+8], -1

要重定位
2008-3-5 13:07
0
雪    币: 133
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
[QUOTE=elance;424238]s2:
        mov     edi, edx
        mov     dword ptr [edi], 7654321
        mov     dword ptr [edi+4], -1
        mov     dword ptr [edi+8], -1
...[/QUOTE]

呵呵,高人,给内存地址赋值也要重定位?
2008-3-5 13:15
0
雪    币: 400
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
[QUOTE=elance;424238]s2:
        mov     edi, edx
        mov     dword ptr [edi], 7654321
        mov     dword ptr [edi+4], -1
        mov     dword ptr [edi+8], -1
...[/QUOTE]

这个地方不用重位吧??
2008-3-5 14:58
0
游客
登录 | 注册 方可回帖
返回
//