chaoteng2 发表于 2016-10-9 02:19

SafeNet Sentinel LDK 狗壳的UnPackMe

刚刚加的一个SafeNet Sentinel LDK UnPackMe (SafeNet Sentinel LDK 7.4 ),和以前的HASP SRM 有很大的区别(HASP srm 基本都是秒脱),找遍各大论坛,度娘、google ,无相关资料,特发一枚UnPackMe,期待神人出现……
链接:http://pan.baidu.com/s/1qYSxAqS 密码:1g08

因为是狗加密,无狗估计不能脱壳,需要找我拿一个软狗,方法如下:

1、分享目录有一个名为RUS_DEMOMA的程序,运行……
选择框框里的这个选项,然后保存C2V文件,发我做软狗……
2、我会发回一个.V2C文件给你,你再次进入RUS_DEMOMA的程序,到第二界面:

按步骤来安装,完成后就能正常运行软件了

3、现在你就可以开始脱壳了。。。

zhaohj 发表于 2016-12-25 14:33

本帖最后由 zhaohj 于 2016-12-26 16:03 编辑

我把试验品的过程写一下:
OEP:004016e9
过程:
1:代码段设置内存写入断点,F9运行,弹出对话框,点确定
2:中断后取消内存写入断点,来到
005AC849    8906            mov dword ptr ds:,eax
005AC84B    896C24 40       mov dword ptr ss:,ebp
005AC84F    8B6F 04         mov ebp,dword ptr ds:
005AC852    894424 34       mov dword ptr ss:,eax
005AC856    894E 04         mov dword ptr ds:,ecx
005AC859    8B47 08         mov eax,dword ptr ds:
005AC85C    8956 08         mov dword ptr ds:,edx
005AC85F    895424 3C       mov dword ptr ss:,edx
005AC863    8B5424 40       mov edx,dword ptr ss:
005AC867    894C24 38       mov dword ptr ss:,ecx
005AC86B    8B4F 0C         mov ecx,dword ptr ds:
005AC86E    894424 2C       mov dword ptr ss:,eax
005AC872    8B4424 48       mov eax,dword ptr ss:
005AC876    8956 0C         mov dword ptr ds:,edx
005AC879    83C4 10         add esp,0x10
005AC87C    74 01         je short Win32_Bo.005AC87F
005AC87E    83C7 10         add edi,0x10

3:搜索特征码 5F 5B 8B 45 F8 5E C9 C2 04 00,找到
0040C658    5F            pop edi                                  ; Win32_Bo.00401010
0040C659    5B            pop ebx
0040C65A    8B45 F8         mov eax,dword ptr ss:
0040C65D    5E            pop esi                                  ; Win32_Bo.00401010
0040C65E    C9            leave
0040C65F    C2 0400         retn 0x4
在retn处设置F2下断,F9运行,断下后取消F2断点

4:搜索特征码5F 5E 5B 1B C0 F7 D0 25 ?? ?? ?? ?? C9 C2 08 00,找到
0040DB6E    5F            pop edi                                  ; Win32_Bo.0040C1F2
0040DB6F    5E            pop esi                                  ; Win32_Bo.0040C1F2
0040DB70    5B            pop ebx                                  ; Win32_Bo.0040C1F2
0040DB71    1BC0            sbb eax,eax
0040DB73    F7D0            not eax
0040DB75    25 AF044100   and eax,0x4104AF
0040DB7A    C9            leave
0040DB7B    C2 0800         retn 0x8

再retn处设置F2断点,
向上翻,找到
0040D8B4    83C0 04         add eax,0x4
0040D8B7    8945 F0         mov dword ptr ss:,eax
0040D8BA    8B45 F4         mov eax,dword ptr ss:
0040D8BD    3B05 00674200   cmp eax,dword ptr ds:          ; kernel32.75E80000
0040D8C3    0F85 EF000000   jnz Win32_Bo.0040D9B8//改成JMP
0040D8C9    B8 6BE995C6   mov eax,0xC695E96B
0040D8CE    3BD0            cmp edx,eax
0040D8D0    0F87 88000000   ja Win32_Bo.0040D95E
0040D8D6    74 7F         je short Win32_Bo.0040D957
0040D8D8    81FA 6381D90F   cmp edx,0xFD98163
0040D8DE    74 70         je short Win32_Bo.0040D950
0040D8E0    81FA 9EF9FB36   cmp edx,0x36FBF99E

再向上翻,找到
0040D7DA    395D F4         cmp dword ptr ss:,ebx
0040D7DD    8B16            mov edx,dword ptr ds:
0040D7DF    8955 08         mov dword ptr ss:,edx         ; Win32_Bo.00407478
0040D7E2    75 1E         jnz short Win32_Bo.0040D802//改成JMP
0040D7E4    81FA 7ED8EC73   cmp edx,0x73ECD87E
0040D7EA    75 07         jnz short Win32_Bo.0040D7F3
0040D7EC    BB AF044100   mov ebx,Win32_Bo.004104AF
0040D7F1    EB 30         jmp short Win32_Bo.0040D823
0040D7F3    81FA 83B9BA78   cmp edx,0x78BAB983
0040D7F9    75 07         jnz short Win32_Bo.0040D802
0040D7FB    BB EB044100   mov ebx,Win32_Bo.004104EB
0040D800    EB 21         jmp short Win32_Bo.0040D823
0040D802    25 00020000   and eax,0x200
0040D807    50            push eax
0040D808    68 1ABD4100   push Win32_Bo.0041BD1A                   ; jmp 到 kernel32.GetModuleHandleA

F9运行,取消F2断点,数据窗口来到00407000,查看IAT
0040700075174DE0GDI32.GetDeviceCaps
0040700475175689GDI32.DeleteObject
00407008751754F4GDI32.CreateCompatibleDC
0040700C75175F48GDI32.CreateCompatibleBitmap
0040701075174F70GDI32.SelectObject
004070147517B64FGDI32.Rectangle
00407018751A3E0DGDI32.CreateHatchBrush
0040701C751752D8GDI32.SetBkColor
00407020751A48F6GDI32.Ellipse
00407024751758B3GDI32.DeleteDC
0040702875175EA5GDI32.BitBlt
0040702C75174EB8GDI32.GetStockObject
0040703000000000
0040703475E91916kernel32.GetStringTypeW
0040703875E91789kernel32.LCMapStringW
0040703C75E918FEkernel32.MultiByteToWideChar
0040704075EBBC39kernel32.LCMapStringA
0040704475EAD5CDkernel32.GetLocaleInfoA
0040704875E942FFkernel32.VirtualProtect
ok,IAT很完整
F7单步走,来到004016e9,这个就是OEP

chaoteng2 发表于 2016-10-17 22:34

回眸一笑v 发表于 2016-10-17 11:39
safenet加密狗能脱了??这么吊

1、以前的HASP SRM 壳很好脱,但是一般不用脱壳,都是做模拟,比较简单方便。
2、6.5的LDK可以模拟+HOOK搞定(参见:http://www.52pojie.cn/thread-258182-1-1.html),现在最新的LDK的7.41,可能有检测,模拟会报H0050,需要脱壳,暂时不会弄

zhaohj 发表于 2016-10-9 09:32

一直期待着有这个ldk的脱壳教程,本人有这个狗。

网络小生、 发表于 2016-10-9 09:39

期待神人。。。

chaoteng2 发表于 2016-10-9 14:43

新做了一个试用狗程序,不需要找我申请软件狗了,远行后直接自己帮你生成一个软狗,你就可以正常运行UNpackme
链接:http://pan.baidu.com/s/1qYVf1ak 密码:51ml

snddman 发表于 2016-10-9 17:32

先收藏,有空学习学习,谢谢楼主分享。

回眸一笑v 发表于 2016-10-17 11:39

safenet加密狗能脱了??这么吊

chaoteng2 发表于 2016-11-10 23:14

发了一个月无人挑战……{:1_936:} 不过已经学习http://www.52pojie.cn/thread-258182-1-1.html帖子搞定了

mygod123 发表于 2016-12-9 11:01

chaoteng2 发表于 2016-10-9 14:43
新做了一个试用狗程序,不需要找我申请软件狗了,远行后直接自己帮你生成一个软狗,你就可以正常运行UNpack ...

试用狗已过期,谢谢再做个无期限的!

zhaohj 发表于 2016-12-25 14:31

在看雪上已经有人对这个unpackme做了分析:
http://bbs.pediy.com/showthread.php?t=214751
不过这个试验品没有代码段的混淆,没有对E8、E9做恢复,但值得参考。至少IAT可以搞完整了。
页: [1] 2 3
查看完整版本: SafeNet Sentinel LDK 狗壳的UnPackMe