首页
社区
课程
招聘
[旧帖] [已解决]非常感谢[ginkgo]和其他各位朋友-谢谢了 0.00雪花
发表于: 2008-3-15 02:32 8516

[旧帖] [已解决]非常感谢[ginkgo]和其他各位朋友-谢谢了 0.00雪花

2008-3-15 02:32
8516
收藏
免费 0
支持
分享
最新回复 (40)
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
[QUOTE=;]...[/QUOTE]
高手基本不来这版块啊?谁来照顾我们啊~~~寒
2008-3-16 00:12
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
27
高手都去学习了。。。。。。。。不用等了
2008-3-16 00:15
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
高手基本不来这版块啊?谁来照顾我们啊~~~寒
2008-3-16 04:43
0
雪    币: 220
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
29
google了一下,fly大虾说发现是tls索引变量,被破坏造成的。
004CF1B0 >  833D 4CFE4C00 0>cmp     dword ptr [4CFE4C], 0
004CF1B7    75 05           jnz     short 004CF1BE
004CF1B9    E9 01000000     jmp     004CF1BF
004CF1BE    C3              retn
004CF1BF    E8 46000000     call    004CF20A
004CF1C4    E8 73000000     call    004CF23C
004CF1C9    B8 B0F14C00     mov     eax, offset <ModuleEntryPoint>
004CF1CE    2B05 08FE4C00   sub     eax, dword ptr [4CFE08]
004CF1D4    A3 48FE4C00     mov     dword ptr [4CFE48], eax
004CF1D9    E8 9C000000     call    004CF27A
004CF1DE    E8 2D020000     call    004CF410
004CF1E3    E8 DD060000     call    004CF8C5
004CF1E8    E8 2C060000     call    004CF819
004CF1ED    A1 48FE4C00     mov     eax, dword ptr [4CFE48]
004CF1F2    C705 4CFE4C00 0>mov     dword ptr [4CFE4C], 1
004CF1FC    0105 00FE4C00   add     dword ptr [4CFE00], eax
004CF202    FF35 00FE4C00   push    dword ptr [4CFE00]
004CF208    C3              retn         // 返回OEP

在上面 004CF208这一行下断,F9,停下后取消断点。F8来到oep

004A2AF8    55              push    ebp          //  OEP             
004A2AF9    8BEC            mov     ebp, esp
004A2AFB    83C4 F0         add     esp, -10
004A2AFE    B8 CC104A00     mov     eax, 004A10CC
004A2B03    E8 EC3EF6FF     call    004069F4
004A2B08    A1 C0504A00     mov     eax, dword ptr [4A50C0]
004A2B0D    8B00            mov     eax, dword ptr [eax]
004A2B0F    E8 4C33FCFF     call    00465E60
004A2B14    A1 C0504A00     mov     eax, dword ptr [4A50C0]
004A2B19    8B00            mov     eax, dword ptr [eax]
004A2B1B    BA 702B4A00     mov     edx, 004A2B70                    ; ASCII "Shin Dragon"
004A2B20    E8 D32DFCFF     call    004658F8
004A2B25    8B0D 18524A00   mov     ecx, dword ptr [4A5218]          ; 连锁.004A9730

然后正常dump,用importREC修复iat. 运行会提示错误。

用lordpe, [PE Editor]->[Directories]  可以看到[Tls table]有一项。RVA = 000CFE24, size=00000018.  然后点击后面的有...的按钮,有一个对话框。注意到有 IndexVariableVA这一项。里面是0000000,把它修改成 004CFE3C, 就是 上面 (RVA = 000CFE24)+(size=00000018)=000CFE3C,由于基制为 00400000,结果就是004CFE3C。一定要保存。  
这样就好了。
希望对你有帮助。
2008-3-16 08:54
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
站在高人的肩上总是不一样~~~~~
2008-3-16 10:06
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
我也不会诶~! UPX比较好去 ,
你去找个UPX的吧 哈哈
2008-3-16 10:31
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
32
按29楼的方法去做了几次。。都还是运行错误。。为什么?
修改它的IAT 修改成什么?2AF8?
2008-3-16 19:06
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
都快崩溃了~~~~~~~~
2008-3-16 19:07
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
有没有高手再指点一下?
2008-3-16 19:07
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
又弄了几次。。发现运行的话,不提示错误了,但是双击没反应。。。
2008-3-16 19:22
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
?? 说了半天要成品啊
上传的附件:
2008-3-16 19:25
0
雪    币: 220
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
37
早知道要成品的话,我就传上来了,害得我打了那么多字.:-)
2008-3-16 20:10
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
呵呵, ginkgo 的方法是可以的
2008-3-16 20:19
0
雪    币: 208
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
在此要谢谢ginkgo大大~~~ 今天学到东西了~~~  ...
2008-3-16 20:29
0
雪    币: 220
活跃值: (117)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
40
我也是看fly大大的一个帖子。主要是delphi的程序,其他的不需要。
还有一个方法是把npack处理tls table的语句nop掉,方法如下
004CF1B0 >  833D 4CFE4C00 0>cmp     dword ptr [4CFE4C], 0
004CF1B7    75 05           jnz     short 004CF1BE
004CF1B9    E9 01000000     jmp     004CF1BF
004CF1BE    C3              retn
004CF1BF    E8 46000000     call    004CF20A
004CF1C4    E8 73000000     call    004CF23C
004CF1C9    B8 B0F14C00     mov     eax, offset <ModuleEntryPoint>
004CF1CE    2B05 08FE4C00   sub     eax, dword ptr [4CFE08]
004CF1D4    A3 48FE4C00     mov     dword ptr [4CFE48], eax
004CF1D9    E8 9C000000     call    004CF27A
004CF1DE    E8 2D020000     call    004CF410
004CF1E3    E8 DD060000     call    004CF8C5
004CF1E8    E8 2C060000     call    004CF819                   // iat process
004CF1ED    A1 48FE4C00     mov     eax, dword ptr [4CFE48]
004CF1F2    C705 4CFE4C00 0>mov     dword ptr [4CFE4C], 1
004CF1FC    0105 00FE4C00   add     dword ptr [4CFE00], eax
004CF202    FF35 00FE4C00   push    dword ptr [4CFE00]
004CF208    C3              retn            // jmp to OEP


004CF1E8 用F7进去来到  004CF819

004CF819    55              push    ebp
004CF81A    8BEC            mov     ebp, esp
004CF81C    51              push    ecx
004CF81D    FF35 48FE4C00   push    dword ptr [4CFE48]
004CF823    E8 08F8FFFF     call    004CF030
004CF828    83B8 C0000000 0>cmp     dword ptr [eax+C0], 0
004CF82F    59              pop     ecx
004CF830    74 48           je      short 004CF87A
004CF832    A1 50FE4C00     mov     eax, dword ptr [4CFE50]
004CF837    A3 2CFE4C00     mov     dword ptr [4CFE2C], eax        // TLS
004CF83C    8B0D 50FE4C00   mov     ecx, dword ptr [4CFE50]
004CF842    64:8B15 2C00000>mov     edx, dword ptr fs:[2C]
004CF849    8B0C8A          mov     ecx, dword ptr [edx+ecx*4]

在 004CF837 这一行下断,停下来nop掉,用F8过,然后再恢复nop的代码。然后Ctrl+F9 回到 004CF1ED , 下面到oep后,正常dump 和修复IAT.

ps. 这里只是托壳,要破解请自己搞定。
2008-3-16 20:41
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
恩。。我最后终于搞定了。。。方法是对的。。。完全可行。。。谢谢啦。。真的是非常感谢啊。。
2008-3-16 23:00
0
游客
登录 | 注册 方可回帖
返回
//