加入收藏  |  设为首页  |  联系我们
网站首页 公司概况 公司文化 新闻动态 加密狗展示 工作坏境 招贤纳士 精诚合作 在线留言
新闻中心
公司新闻
行业资讯
 
地    址:广东省深圳市地王大厦38层8801号。
客服QQ1:4642967
客服QQ2:5915307
手    机:13528540969(刘先生)
邮    箱:4642967@qq.com
网    址:/a/
新闻中心 当前位置:首页 >> 新闻中心 >> 公司新闻

|UDA加密狗SoftDog加密狗狗壳脱壳破解

发表时间:2018-05-11    来源:不详    浏览次数:3

载入后,OEP处是这样的
00468FAC > $  60            pushad
00468FAD   $  55            push    ebp
00468FAE   .  8BEC          mov     ebp, esp
00468FB0   .  8
插上狗狗,开OD,OK,我们继续往下看吧,


载入后,OEP处是这样的
00468FAC > $  60            pushad
00468FAD   $  55            push    ebp
00468FAE   .  8BEC          mov     ebp, esp
00468FB0   .  81EC 54030000 sub     esp, 354
00468FB6   .  53            push    ebx
00468FB7   .  56            push    esi
00468FB8   .  57            push    edi
00468FB9   .  C685 F4FEFFFF>mov     byte ptr [ebp-10C], 0
00468FC0   .  C685 F5FEFFFF>mov     byte ptr [ebp-10B], 0
00468FC7   .  C685 F6FEFFFF>mov     byte ptr [ebp-10A], 0
00468FCE   .  C685 F7FEFFFF>mov     byte ptr [ebp-109], 0
00468FD5   .  8DBD F8FEFFFF lea     edi, dword ptr [ebp-108]
00468FDB   .  33C0          xor     eax, eax
00468FDD   .  B9 3F000000   mov     ecx, 3F
00468FE2   .  F3:AB         rep     stos dword ptr es:[edi]
00468FE4   .  C685 A4FDFFFF>mov     byte ptr [ebp-25C], 0
00468FEB   .  C685 A5FDFFFF>mov     byte ptr [ebp-25B], 0
00468FF2   .  C685 A6FDFFFF>mov     byte ptr [ebp-25A], 0
00468FF9   .  C685 A7FDFFFF>mov     byte ptr [ebp-259], 0
00469000   .  8DBD A8FDFFFF lea     edi, dword ptr [ebp-258]

PEiD标志
[SoftDog  V3.1 -> SafeNet Technology  * Sign.By.xiaomajia * 20100315]
signature = 60 55 8B EC 81 EC ?? ?? ?? ?? 53 56 57 C6 85 F4 FE FF FF 00 C6 85 F5 FE FF FF 00 C6 85 F6 FE FF FF 00 C6 85 F7 FE FF FF 00 8D BD F8 FE FF FF 33 C0 B9 3F 00 00 00 F3 AB C6 85 A4 FD FF FF 00 C6 85 A5 FD FF FF 00 C6 85 A6 FD FF FF 00 C6 85 A7 FD FF FF 00 8D BD A8 FD FF FF 33 C0 B9 3F 00 00 00 F3 AB
ep_only = true


第一层壳子,esp之

0046924D   >-/FF25 08A14600         jmp     dword ptr [46A108]               ;  05MAC.00455D3F

单步走一回,来到这里

00455D3F    55                      push    ebp
00455D40    8BEC                    mov     ebp, esp
00455D42    81EC EC020000           sub     esp, 2EC
00455D48    53                      push    ebx
00455D49    56                      push    esi
00455D4A    57                      push    edi
00455D4B    56                      push    esi
00455D4C    57                      push    edi
00455D4D    52                      push    edx
00455D4E    51                      push    ecx
00455D4F    53                      push    ebx
00455D50    50                      push    eax
00455D51    833D 402B4600 00        cmp     dword ptr [462B40], 0
00455D58    0F85 8B150000           jnz     004572E9
00455D5E    C685 C0FEFFFF 49        mov     byte ptr [ebp-140], 49
00455D65    C685 C1FEFFFF 73        mov     byte ptr [ebp-13F], 73
00455D6C    C685 C2FEFFFF 44        mov     byte ptr [ebp-13E], 44
00455D73    C685 CAFEFFFF 50        mov     byte ptr [ebp-136], 50
00455D7A    C685 CBFEFFFF 72        mov     byte ptr [ebp-135], 72
00455D81    C685 CCFEFFFF 65        mov     byte ptr [ebp-134], 65
00455D88    C685 CDFEFFFF 73        mov     byte ptr [ebp-133], 73
00455D8F    C685 CEFEFFFF 65        mov     byte ptr [ebp-132], 65
00455D96    A1 582B4600             mov     eax, dword ptr [462B58]
00455D9B    8985 D4FEFFFF           mov     dword ptr [ebp-12C], eax
00455DA1    A1 682B4600             mov     eax, dword ptr [462B68]
00455DA6    8985 A4FEFFFF           mov     dword ptr [ebp-15C], eax
00455DAC    C785 80FEFFFF 00000000  mov     dword ptr [ebp-180], 0


如果有狗的话,可以插上加密狗,直接esp之,没有的话,需要patch一下,今天不讲,日后在说!:)


我有狗,再esp之,走一步,就是OEP了,到了OEP之后,可以发现,输入表调用被处理了,  他修改了
jmp dword ptr [xxxxxxxx]  
call dword ptr [xxxxxxxx]   这两种的调用

变成了

nop
jmp xxxxxxxx

nop
call xxxxxxxx

这个样子,我不会在壳解码的时候patch,所以只能写脚本,由于刚刚分析,而且最近一直忙着找工作,所以没有时间写脚本了,我讲一个大概的思路,有条件有兴趣的同学可以自己去写这个脚本。


随便找一个调用的地方, 先找jmp api的地方,我们跟入,慢慢的走啊走啊走,走到如下位置的时候,就出现了API地址了


004553DA    BB E8030000             mov     ebx, 3E8
004553DF    2BD2                    sub     edx, edx
004553E1    F7F3                    div     ebx
004553E3    3BC8                    cmp     ecx, eax
004553E5    76 13                   jbe     short 004553FA
004553E7    8B45 DC                 mov     eax, dword ptr [ebp-24]
004553EA    8945 04                 mov     dword ptr [ebp+4], eax
004553ED    5F                      pop     edi
004553EE    5E                      pop     esi
004553EF    5A                      pop     edx
004553F0    59                      pop     ecx
004553F1    5B                      pop     ebx
004553F2    58                      pop     eax
004553F3    C9                      leave
004553F4    C3                      retn                              //到这里的时候, dword ptr [esp ]就是要跳转到的api地址, esp+4是返回调用的地址


二进制搜索特征码
BB E8 03 00 00 2B D2 F7 F3 3B C8 76 13 8B 45 DC 89 45 04 5F 5E 5A 59 5B 58 C9 C3

这个数据是固定的,根据我研究发现 call 和  jmp 调用都是要到这里的,所以修复的思路也就出来了。   我们先定义代码段的 开始和结束 地址,然后 搜索特征码,比如 jmp 这种的可以搜索  90 EB ?? ?? ?? 00  call的可以搜索 90 e8 ?? ?? ?? 00 ,这个样子,具体问题具体分析,搜索到特征码后,修改eip到jmp或者call的地方,在 retn 那里下断点,run,然后根据esp指向的api数据对搜索到的地方进行修改,脚本跑完后,再用uif工具修复一下,然后dump+fix iat 就 O 啦, 重定位表没加密,dll脱壳后改一下基址为OD里看到的就OK了


新疆时时彩走势图开奖关闭窗口】 【打印本页】 【收藏页面
下一篇:没有了
Copyright (c) 2013 - 2016 加密狗破解网 Inc. All Rights Reserved 备案号:粤ICP备08125688号 版权所有:加密狗破解网
云南快乐十分开奖查询今天 六合彩书 天津快乐10分开奖 江苏体彩十一选五推荐 百度 重庆幸运农场网上投注
领航时时彩软件 时时乐沙拉吧多少钱 快中彩开奖 内蒙古时时彩十一选五开蒋结果 安徽快三时时彩网