jjwspj 发表于 2006-9-13 14:17:09

大家遇见过这种壳吗?

大家遇见过这种壳吗?Thinstall 2.4x - 2.5x -> Jitit Software *

我试过用esp定律不行,单步跟踪也不行(可能我操作有误),od载入后alt+M只能看到:
内存映射,项目 22
地址=00400000
大小=00001000 (4096.)
宿主=模块SDK?00400000 (自身)
区段=
包含=PE header
类型=Imag 01001002
访问=R
初始访问=RWE

内存映射,项目 23
地址=00401000
大小=000AB000 (700416.)
宿主=模块SDK?00400000
区段=.text
包含=code,imports,resources
类型=Imag 01001002
访问=R
初始访问=RWE


jjwspj想问一下这种壳该如何下手?

[ 本帖最后由 jjwspj 于 2006-9-14 12:31 编辑 ]

Flyeagle 发表于 2006-9-13 14:31:59

找到了Fly大侠的一篇文章,希望能对你有帮助:

标 题:Thinstall V2.501脱壳——Win98的Notepad
发信人:fly
时 间:2004-12-08,17:54
详细信息:

软件类别:国外软件 / 共享版 / 安装制作
应用平台:Win9x/NT/2000/XP
实例下载:点击此下载
推荐等级:****
开 发 商:http://thinstall.com/
软件介绍:它可以把程序所需要的DLL和OCX都打到一个EXE中,然后在运行的时候自动将DLL、OCX释放出来。这个工具看起来不错,比较方便,但损失了一些性能,而且做成的EXE体积很大。只有当你的用户希望运行你的程序,而又不希望安装它(例如编写一个演示程序),你可以考虑这个工具。
               
【作者声明】:只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
            
【调试环境】:WinXP、Ollydbg V1.10、PEiD、LordPE、WinHex
            
—————————————————————————————————
【脱壳过程】:
         
         
Thinstall其实是捆绑壳,但是比PEBundle之类要强。Thinstall可以包装.NET、Java、VB等程序。
新版的Thinstall不对外提供公开下载,运行时需要连接License Server或者使用USB Key。
用Thinstall加壳Win98的Notepad作为试炼品吧。

放个PEiD的sign:

signature = 55 8B EC B8 ?? ?? ?? ?? BB ?? ?? ?? ?? 50 E8 00 00 00 00 58 2D ?? ?? ?? ?? B9 ?? ?? ?? ?? BA ?? ?? ?? ?? BE ?? ?? ?? ?? BF ?? ?? ?? ?? BD ?? ?? ?? ?? 03 E8
ep_only = true
—————————————————————————————————
一、前奏
            
   
设置Ollydbg忽略所有异常选项。老规矩:用IsDebug V1.4插件去掉Ollydbg的调试器标志。

00401A95   55                push ebp
//进入Ollydbg后暂停在这
00401A96   8BEC            mov ebp,esp
00401A98   B8 3C1A4A7D       mov eax,7D4A1A3C
00401A9D   BB ED08B7F0       mov ebx,F0B708ED
00401AA2   50                push eax
00401AA3   E8 00000000       call Notepad.00401AA8

下断:BP GetModuleHandleA
中断后取消断点,Alt+F9返回

00401A66   FF15 E4534000   call dword ptr ds:[<&KERNEL32.GetModuleHandleA>]
//返回这里
00401A6C   50                push eax ; Notepad.00400000

Ctrl+F搜索命令:jmp eax

00401A8B   8B45 FC         mov eax,dword ptr ss:
00401A8E   FFE0            jmp eax ; 7FF79E04
//找到这里,F4过来

现在来到Thinstall的核心处理段:

7FF79E04   55                push ebp
7FF79E05   8BEC            mov ebp,esp
7FF79E07   6A FF             push -1
7FF79E09   68 70BEF87F       push 7FF8BE70
7FF79E0E   68 A09BF77F       push 7FF79BA0
7FF79E13   64:A1 00000000    mov eax,dword ptr fs:
7FF79E19   50                push eax
7FF79E1A   64:8925 00000000mov dword ptr fs:,esp
7FF79E21   83EC 10         sub esp,10
7FF79E24   53                push ebx
7FF79E25   56                push esi
7FF79E26   57                push edi
7FF79E27   8965 E8         mov dword ptr ss:,esp
7FF79E2A   FF15 7062F87F   call dword ptr ds: ; kernel32.GetVersion


—————————————————————————————————
二、获取加壳前程序的PE Header等数据


Ctrl+S 搜索命令序列:
mov eax,dword ptr ds:
mov ecx,dword ptr ss:
找到在7FF427BA处,直接F4过去

7FF427A5   8B85 D4FDFFFF   mov eax,dword ptr ss:
7FF427AB   8B40 18         mov eax,dword ptr ds:
7FF427AE   8985 E8FEFFFF   mov dword ptr ss:,eax
7FF427B4   8B85 E8FEFFFF   mov eax,dword ptr ss:
7FF427BA   8B40 3C         mov eax,dword ptr ds:
//F4到这里
7FF427BD   8B8D E8FEFFFF   mov ecx,dword ptr ss:
7FF427C3   8D4401 18         lea eax,dword ptr ds:
7FF427C7   8985 D0FDFFFF   mov dword ptr ss:,eax; Notepad.004000E8
//在这里可以得到PE Header和The Section Table数据 ★
7FF427CD   C705 D05DF97F 020>mov dword ptr ds:,2

PE Header:
004000D050 45 00 00 4C 01 01 00 D6 57 5A 35 00 00 00 00PE..L.諻Z5....
004000E000 00 00 00 E0 00 0E 01 0B 01 03 0A 00 40 00 00....?..@..
004000F000 70 00 00 00 00 00 00 CC 10 00 00 00 10 00 00.p......?.....
0040010000 50 00 00 00 00 40 00 00 10 00 00 00 10 00 00.P....@.......
0040011004 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00..............
00400120C6 CA 00 00 00 04 00 00 00 00 00 00 02 00 00 00剖............
0040013000 00 10 00 00 10 00 00 00 00 10 00 00 10 00 00............
0040014000 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00...............
0040015000 60 00 00 8C 00 00 00 00 70 00 00 C8 42 00 00.`..?...p..菳..
…… ……

毕竟只是捆绑壳,此时代码已经解压,现在dump则IAT等信息都是未加密的,正是脱壳的最佳时机!


—————————————————————————————————
三、Dump、PE修正


如果你用LordPE来dump,会发现得到的dumped.exe连图标也没有了,别急,用WinHex把上面得到的PE Header和The Section Table等数据写入相应部分,这样就可以运行啦。你也可以用插件OllyDump先生去掉“重建输入表”选项来直接抓取,修改OEP,把BoundImport清0。

但是依旧只显示一个.text区段, 看看NumberOfSections:01,把PE头+06H处修改为05,所有的区段就露面了。
只保留LordPE的“Validate PE”选项,重建PE。   
这次脱的算是稍微有点完美了。


—————————————————————————————————
四、飞向光明之巅


还想看看是怎样跳OEP的?
Ctrl+F搜索命令:call dword ptr ss:

7FF4289C   FF95 48FCFFFF   call dword ptr ss:; Notepad.004010CC
//飞向光明之巅! ^O^


—————————————————————————————————   
                              
         ,   _/
      /| _.-~/            \_   ,      青春都一晌
       ( /~   /            \~-._ |\
       `\\_/                \   ~\ )          忍把浮名
   _-~~~-.))__/;;,.          \_//'
/'_,\   --~   \ ~~~-,;;\___((.-~~~-.      换了破解轻狂
`~ _( ,_..--\ (   ,;'' /    ~--   /._`\
/~~//'   /' `~\         ) /--.._, )_`~
"`~""      `"      /~'`\    `\\~~\   
                         "   "   "~'""
   
            UnPacked By :   fly
               2004-12-08 14:00


Flyeagle 发表于 2006-9-13 14:59:38

:lol: :lol: :lol:
楼主运气不错。。。这里又找到了个全自动的东东:
https://www.chinapyg.com/viewthread.php?tid=7691&page=1&extra=page%3D1#pid49205

jjwspj 发表于 2006-9-14 12:25:15

多谢Flyeagle 兄弟的热情帮助,感动ing
页: [1]
查看完整版本: 大家遇见过这种壳吗?