shielden求助 如何让 Safengine Shielden 2.3.3.0 可受调试
shielden 时间:2021-10-25 阅读:(
)
shield是什么意思
shield [英][?i:ld][美][?ild] n.盾; 护罩; 盾形奖牌; 保护人; vt.保护; 掩护; 庇护; 给…加防护罩; 第三人称单数:shields过去分词:shielded复数:shields现在进行时:shielding过去式:shielded 以上结果来自金山词霸 例句: 1. The nuclear weapons shield pakistan from ountability. 核武器保护巴基斯坦免担责任 . ----------------------------------- 如有疑问欢迎追问! 满意请点击右上方【选为满意回答】按钮求助 如何让 Safengine Shielden 2.3.3.0 可受调试
(1)
在内存里找 CreateThread 的 Shadow :
癈了他. 请将第一条指令改成 ret 18, 如 :
shadow_CreateThread
00D1FB55 8BFF mov edi, edi ;改成 ret 18
00D1FB57 55 push ebp
00D1FB58 8BEC mov ebp, esp
00D1FB5A FF75 1C push dword ptr [ebp+1C]
00D1FB5D FF75 18 push dword ptr [ebp+18]
00D1FB60 FF75 14 push dword ptr [ebp+14]
00D1FB63 FF75 10 push dword ptr [ebp+10]
00D1FB66 FF75 0C push dword ptr [ebp+C]
00D1FB69 FF75 08 push dword ptr [ebp+8]
00D1FB6C 6A FF push -1
00D1FB6E E8 D9FDFFFF call 00D1F94C
00D1FB73 5D pop ebp
00D1FB74 C2 1800 ret 18
复制代码
原因应该不用讲了吧. 那些反调试选项每打个勾就占一个 Thread.
我是看到 nevsayno 的贴图才想到 一个选项 一个 Thread 的, 借
他的图贴一下 :)
(2)
在内存里(跟上面是同一段的)找 GetThreadContext 的 Shadow :
Shadow_GetThreadContext
00D488DD 8BFF mov edi, edi
00D488DF 55 push ebp
00D488E0 8BEC mov ebp, esp
00D488E2 FF75 0C push dword ptr [ebp+C]
00D488E5 FF75 08 push dword ptr [ebp+8]
00D488E8 FF15 EA0ED100 call [D10EEA]
00D488EE 85C0 test eax, eax
00D488F0 0F8C 57B60000 jl 00D53F4D
00D488F6 33C0 xor eax, eax
00D488F8 40 inc eax
00D488F9 5D pop ebp
00D488FA C2 0800 ret 8 ;jmp 00E41F90
00D488FD 90 nop
00D488FE 90 nop
00D488FF 90 nop
00D48900 90 nop
00D48901 90 nop
复制代码
上面的 ret 8 改成跳到没用之处, 并增写下列代码 :
00E41F90 50 push eax
00E41F91 8B4424 0C mov eax, [esp+C]
00E41F95 8038 10 cmp byte ptr [eax], 10
00E41F98 75 16 jnz short 00E41FB0
00E41F9A 33D2 xor edx, edx
00E41F9C 8950 04 mov [eax+4], edx ;clr Dr0~3
00E41F9F 8950 08 mov [eax+8], edx
00E41FA2 8950 0C mov [eax+C], edx
00E41FA5 8950 10 mov [eax+10], edx
00E41FA8 52 push edx
00E41FA9 6A 04 push 4
00E41FAB E8 457C9C7B call kernel32.TlsSetValue
00E41FB0 58 pop eax
00E41FB1 C2 0800 ret 8
复制代码
原因:
壳总是会判断这 TlsValue 是否等于 Dr0+Dr1+Dr2+Dr3 之 Total 值
我们在壳欲取得 Drx 的值时,将之清为 0,并设 TlsValue 为 0
注: 因为这样本只有 Anti Debugger 时会调用 Shadow_GetThreadContext
所以若新代码你不想用串接的话,直接覆盖也行.
(3)
在内存里找 SetThreadContext 的 Shadow :
并将开头改为:
mov al, 1
ret 8
复制代码
原因:
若不癈了这函数的话,到时可能我们自己调试用的硬断会被抢走.
(4)
之前我们有记下一个值为 42F765, 其实这是 VM 的 ds:[imm] 指令 :
vm.ds:[imm]
0042F763 8B01 mov eax, [ecx] ;jmp 00534FC5
0042F765 8D1C33 lea ebx, [ebx+esi]
0042F768 ^ 7E B9 jle short 0042F723
0042F76A ^ 7F CB jg short 0042F737
复制代码
我们得 Hook 它.跳到没用处并写下列代码 :
这里的 4 个 cmp , 为一开头我们记录下来的那 Dr0~3
00534FC5 81F9 C4754000 cmp ecx, 004075C4
00534FCB 74 18 je short 00534FE5
00534FCD 81F9 49754000 cmp ecx, 00407549
00534FD3 74 10 je short 00534FE5
00534FD5 81F9 B4744000 cmp ecx, 004074B4
00534FDB 74 08 je short 00534FE5
00534FDD 81F9 AF744000 cmp ecx, 004074AF
00534FE3 75 09 jnz short 00534FEE
00534FE5 9C pushfd
00534FE6 66:810C24 0001 or word ptr [esp], 100
00534FEC 9D popfd
00534FED 90 nop
00534FEE 8B01 mov eax, [ecx] ;补上原指令
00534FF0 8D1C33 lea ebx, [ebx+esi] ;补上原指令
00534FF3 ^ E9 70A7EFFF jmp 0042F768 ;跳回
复制代码
原因:
壳总是会设那 4 个值到 Dr0~3, 并设 Dr7 为 33335555h
意思是只要读取那 4 处, 就会产生 80000004 的例外,
壳特意去读取时,若没发生 80000004 的话是不行的.
当你 OD 设了断点断下来后,任何将控制权再交给 Target 的动作前,
OD都会改其值,这就是很多人讲的:只要一断不管什么断,就没办法
正常 Run 下去了的原因.
一开头被我们删掉的 7 个 Thread 里也充满了这些对 Drx 的占用.
(5)
改 VM 的 rdtsc 指令
vm.rdtsc 原样为 :
rdtsc
sub ebp, 8
mov [ebp+0], edx
mov [ebp+4], eax
复制代码
中间当然被插入好多垃圾,我们主要是要让 eax = 0, 本样本如下 :
00437C98 8D2424 lea esp, [esp] ;改为xor eax,eax / nop
00437C9B 895500 mov [ebp], edx
复制代码
刚好可将 lea esp,[esp] 这垃圾指令改为 xor eax,eax / nop
原因:
壳总是利用 rdtsc.eax 来乱数做内存校验
我们有改了 ds:[imm], 而且我们可能日后会下一大堆软件断点(CC)
改了后,他就只固定去校验第0小块.
完成上面5项,对壳里对软件里对云里雾里,应该就跟调试记事本一样了.
你可完全的分析此壳了.
最后同样的,让我们期待大牛的脱壳脚本吧.
注: 针对 "无法下断点" 这词 :
若你当平常的壳在调试的话, 调试过程你会有二种现象 :
1. 你下了断点, 也断了下来, 也能 F9 成功 Run 起.
不要高兴, 这是因为壳尚未起动 Anti.
2. 若壳的 Anti 起动了的话, 你的断点断了下来, 但你已无法正常执行了
可能会得到 "内部错误" 之类的讯息.
3. 若内存校验被检出的话,可能直接 Crash .
a400互联是一家成立于2020年商家,主营美国机房的产品,包括BGP线路、CN2 GIA线路的云服务器、独立服务器、高防服务器,接入线路优质,延迟低,稳定性高,额外也还有香港云服务器业务。当前,全场服务器5折,香港VPS7折,洛杉矶VPS5折,限时促销!A400互联官网:https://a400.net/优惠活动全场独服永久5折优惠(续费同价):0722香港VPS七折优惠:0711洛杉矶VPS五...
RAKsmart 商家我们应该较多的熟悉的,主营独立服务器和站群服务器业务。从去年开始有陆续的新增多个机房,包含韩国、日本、中国香港等。虽然他们家也有VPS主机,但是好像不是特别的重视,价格上特价的时候也是比较便宜的1.99美元月付(年中活动有促销)。不过他们的重点还是独立服务器,毕竟在这个产业中利润率较大。正如上面的Megalayer商家的美国服务器活动,这个同学有需要独立服务器,这里我一并整理...
轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。活动规则:用户购买任意全区域云服务器月付以上享受免费更换IP服...
shielden为你推荐
古比有一个动画片是有一个火车还有三个主人公,主人公的名字叫一古比古,乌西迪西,,吗卡巴卡是什么动画片罗斯柴尔德家族现状罗斯切尔德家族的现状吉林省建设厅网站吉林市二级建造师怎么报名??yy协议怎么用什么是歪歪协议读者手机大可乐、小辣椒、读者哪个手机好爱迪帮智能编辑器这是哪些编辑器啊??代码折叠功能很强大啊...破泞之战第二幕《武战道》已经播完了,听说会出第二部,第二部的主角是谁?洛洛吗?晶晶哪去了?帕蒂安琪死侍电影中安琪扮演者五月末打架火影忍者鸣人和佐助打架在哪集盐与圣域私人为什么不能贩盐?办盐厂?
如何注册中文域名 电影服务器 59.99美元 网站被封 美国十次啦服务器 工信部icp备案号 已备案删除域名 cn3 hdd 环聊 空间租赁 空间登录首页 石家庄服务器托管 lamp兄弟连 杭州电信宽带优惠 可外链的相册 带宽测试 深圳主机托管 godaddyssl 架设代理服务器 更多