最近在看《加密与解密》第三版这本书,加壳那章感觉比较感兴趣,可是自己基础不好,还没有看完。我自己也试着动手一点一点的写,功能特别简单。我写的这个就不说了。因为简单么。就说说我自己想到的吧。
脱壳时很多时候都是用PEID查看是什么壳,如果查不出是什么壳,通常会根据加壳后的节名称来判断是什么壳。但是节的名称是可以任意改动的。这样,如果查不出是什么壳,又修改一下节的名称的话,就会误导脱壳者。这样也算是能起到一点保护的作用吧。所以,在写加壳软件的时候,不放先定义一些节的名称,然后在加壳时随机使用这些名称,每次加壳后产生的节名称就不同了。
代码:
;>>>>>>>>>不同的节的名称>>>>>>>>>>>>>>>> NewSectionName db '.aspack',0 db '.vmp ',0 db '.upx0 ',0 db 'INIT ',0 db '.mackt ',0 db '.upx1 ',0 db ' ',0 db 'snyped ',0 db '.Katja ',0 db '.jtsnew',0 db '.SuCop0',0 …… invoke GetTickCount xor edx,edx mov ecx,0Bh div ecx mov eax,edx mov ebx,08h mul ebx mov ebx,NewSectionName add ebx,eax mov NewSectionName,ebx ……
我是初学者,请不要笑我。