欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

Asprotect判断被其加壳的程序的标志是什么?---里面就是。 (1千字)

Asprotect判断被其加壳的程序的标志是什么?---里面就是。 (1千字)

Asprotect判断被其加壳的程序的标志是什么?---里面就是。
【前言】
这次就不写什么作者等等没意思的东东。只希望大家多多交流。只可惜我以前问的问题一直没人回答。

Asprotect是如何判断被其加壳的程序呢?我找到以下一处。(可能还有其他的地方,我没有进行更多的测试)
以下是程序代码。找个PE结构说明一对照,很简单。
:0043F85C 8B4034                  mov eax, dword ptr [eax+34]    <---得到IMAGE_NT_HEADERS首地址
:0043F85F 05F4000000              add eax, 000000F4        
:0043F864 F6400210                test [eax+02], 10        <---判断字节是否为10
:0043F868 7403                    je 0043F86D            <---相同,就说明是被其加壳过的程序
:0043F86A B001                    mov al, 01            
:0043F86C C3                      ret
:0043F86D 33C0                    xor eax, eax            <---设标志了        
:0043F86F C3                      ret

【说明】
由于脱壳后的程序一般比原程序要大得多,因此一旦把程序脱壳破解后,总会用压缩软件重新压缩。但是由于对Asprotect加壳的程序脱壳后文该标志没有改变。因此你想重新加壳的话,就要改变此标志。
以下是步骤说明:
由于脱壳后的程序一般比原程序要大得多,因此一旦把程序脱壳破解后,可以用以下方法重新加壳。
1、用Hex WorkShop打开脱壳后的可执行文件。
2、把光标定位到偏移176地址处。(因为一般80处为PE标志。80+F4+2=176)
3、这时加壳过的程序应该看到10,修改10为00即可。
4、用Asprotect重新加壳。
【后记】
另外,对已经用Asprotect加壳过的程序就不要改了。Asprotect再加壳时会出错。要不然,每个软件作者都用此法把程序加个十几遍壳,那还让大家活不活了 ;-) 。当然了,相反,你也可以改变此标志,使未加壳的程序让Asprotect误认为已经加壳。

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功