findiat: gn [esp]//分析 APIname cmp$RESULT,0 je findret2 fixret: mov apiaddr,[esp]//直接 asm call APIAddress,用 UIF 修复就可以了 eval"call {apiaddr}" asm calladdr,$RESULT next: add calladdr,1 mov eip,calladdr mov esp,
Safengine Shielden 2.3.8.0版本对IAT的保护较为彻底,虽然保存了原始IAT,但实际运行时程序不会调用这些地址,导致IAT功能失效。分析SE的API调用机制:在新版本中,API地址分散存储在壳段中,每个API地址对应一个Fake_API_Entry。每个API都有独立的代码段,使得直接下断点的方法不再有效。寻找Fake_API_...
Safengine Shielden 2.3.8.0(以下称SE)对IAT的破坏还算彻底,虽然对原程序的IAT做了完整的保存,但是保护后的程序是不会调用那里的API地址的,所以原IAT其实是废掉的。 所以在尝试修复SE的IAT时,直接在IAT下断点并没有任何作用。 依据我的研究,SE对 API...
Safengine Shielden 2.3.8.0版本的脱壳处理对IAT的保护较为彻底,虽然它保存了原始程序的IAT,但实际运行时,程序不会调用这些地址,导致原IAT功能失效。修复IAT时,直接在IAT下设置断点的方法不再有效。我发现SE的API调用机制是这样的:API地址分散存储在壳段中,每个API地址对应一个Fack_API_Entry。旧...
Safengine Shielden2.3.8.0(以下称SE)对IAT的破坏还算彻底,虽然对原程序的IAT做了完整的保存,但是保护后的程序是不会调用那里的API地址的,所以原IAT其实是废掉的。 所以在尝试修复SE的IAT时,直接在IAT下断点并没有任何作用。 依据我的研究,SE对API的调用机制是: ...
Safengine Shielden 2.3.8.0(以下称SE)对IAT的破坏还算彻底,虽然对原程序的IAT做了完整的保存,但是保护后的程序是不会调用那里的API地址的,所以原IAT其实是废掉的。 所以在尝试修复SE的IAT时,直接在IAT下断点并没有任何作用。 依据我的研究,SE对API的调用机制是: 先映射几个常用的系统DLL到自己分配的内存区域,...
调试过shielden或者se的都知道现在的新版有个功能叫做“动态自 校验”,该功能直接导致的问题就是补丁无法生效。 所以,要破解sheilden保护的程序只有3种办法,要么把线程去掉, 要么把校验值改掉,要么脱壳,前2个方式我反正没测试,感觉会很麻烦,而 且你想啊:指不定有多少暗桩等着我们呢(nooby的东西怎么可能会那么简单...
6 7 8 9 10 11 12 13 14 shadow_CreateThread 00D1FB55 8BFF mov edi, edi ;改...
调试过shielden或者se的都知道现在的新版有个功能叫做“动态自校验”,该功能直接导致的问题就是补丁无法生效。 所以,要破解sheilden保护的程序只有3种办法,要么把线程去掉,要么把校验值改掉,要么脱壳,前2个方式我反正没测试,感觉会很麻烦,而且你想啊:指不定有多少暗桩等着我们呢(nooby的东西怎么可能会那么简单呀),...
调试过shielden或者se的都知道现在的新版有个功能叫做“动态自校验”,该功能直接导致的问题就是补丁无法生效。 所以,要破解sheilden保护的程序只有3种办法,要么把线程去掉,要么把校验值改掉,要么脱壳,前2个方式我反正没测试,感觉会很麻烦,而且你想啊:指不定有多少暗桩等着我们呢(nooby的东西怎么可能会那么简单呀),...