能力值:
( LV9,RANK:220 )
|
-
-
2 楼
他的IAT加密是有问题的 体现在C程序里面
保护选项一个都不选 他也是会处理IAT的 IAT里面的地址被他换成了加密的地址 但是IAT调用它却没有处理
BORLAND程序一般没问题 但是C里面有这样的调用
mov eax,[xx]
作者想当然的以为后面肯定是call eax,那么这样也可以的.问题是有些时候后面可能是
mov esi,[eax]或者其他代码.尤其是在记事本或者计算器这种特殊的文件里,那这里必挂无疑.
拿晕7记事本测试
入口附近 00863753 > /A1 10138600 mov eax,dword ptr ds:[861310]
00863758 . |8B30 mov esi,dword ptr ds:[eax]
0086375A > |8975 E0 mov dword ptr ss:[ebp-20],esi
0086375D . |8A06 mov al,byte ptr ds:[esi]
861310: 00861300 >76E727C3 msvcrt.__p__commode
00861304 >76EF77AD msvcrt.__setusermatherr
00861308 >76ECB2EF msvcrt._amsg_exit
0086130C >76E6C151 msvcrt._initterm
00861310 >76F004D8 offset msvcrt._acmdln
00861314 >76E736AA msvcrt.exit
00861318 >76E6F607 msvcrt._ismbblead
0086131C >76E8DC75 msvcrt._XcptFilter
00861320 >76E72BC0 msvcrt.__getmainargs
00861324 >76E737D4 msvcrt._cexit
00861328 >76ECB2C0 msvcrt._exit
一般来说 IAT是连续的 就算分段 每段之间也是连续的 这里00861310出现了个OFFSET
HOHO 于是就挂了
不知道是作者没有测试 还是偷懒有意不支持这类特殊PE文件?
其实 就算这里解决了 他还是不支持记事本的 应该说是他在整体设计的时候 就压根没打算支持这类特殊文件.
很多加密壳有选择性的加密API,看来是很明智的.
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
感謝大大分享加殼軟體.
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这个进来学习下
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
很强大,收藏了。
|
|
|