前言git
今天抽空更新了Cscan,新增对C#编译的EXE动态调用,新增对PowerShell脚本动态调用(不管是否安装PowerShell)github
增长一个字符串列表str.txt,用于存听任意字符串,好比账号密码、路径、后台字典等等,关键看你编写的插件功能。加密
本文以Base64和Hex加解密为例,演示4.0版本对C# EXE的调用以及对PowerShell的调用,让你们更好的定制功能spa
C#编译的exe插件名称为netscan.exe,加载优先级次于netscan.dll,PowerShell插件名称为psscan.ps1,优先级次于exe插件
示例1、PowerShell插件3d
0x001 PowerShell插件Base64解密code
代码blog
function Cscan (){ param([string]$ip) $pass=ConvertFrom-Base64String($ip) $result=-Join($ip," ",$pass) return $result } # Convert base64 string to string function ConvertFrom-Base64String([string]$string) { $byteArray = [Convert]::FromBase64String($string) [System.Text.UnicodeEncoding]::UTF8.GetString($byteArray) }
结果ip
0x002 PowerShell插件Hex解密字符串
代码
function Cscan (){ param([string]$ip) $pass="" $t=$ip $t -split '(.{2})' |%{ if ($_ -ne "") { $pass+=[CHAR]([CONVERT]::toint16("$_",16)) }} $result=-Join($ip," ",$pass) return $result }
结果
示例2、C#编译的EXE插件
0x003 C# EXE插件之Base64加密
代码
namespace netscan { class Program { public static void Main(string[] args) { if (args.Length < 0) Console.WriteLine("args is null"); else //Console.WriteLine("ExeDemo "+args[0]); { string str=args[0]; Console.WriteLine(str+"\t"+Base64_encode(str)); } } private static string Base64_encode(string str) { byte[] bytes = Encoding.UTF8.GetBytes(str); string Base64_encode = Convert.ToBase64String(bytes); return Base64_encode; //return Convert.ToBase64String(System.Text.Encoding.Default.GetBytes("K8拉登哥哥")); } } }
结果
0x004 C# EXE插件之Base64解密
代码
namespace netscan { class Program { public static void Main(string[] args) { if (args.Length < 0) Console.WriteLine("args is null"); else //Console.WriteLine("ExeDemo "+args[0]); { string str=args[0]; //Console.WriteLine(str+"\t"+Base64_encode(str)); Console.WriteLine(str + "\t" + Base64_decode(str)); } } private static string Base64_encode(string str) { byte[] bytes = Encoding.UTF8.GetBytes(str); string Base64_encode = Convert.ToBase64String(bytes); return Base64_encode; //return Convert.ToBase64String(System.Text.Encoding.Default.GetBytes("K8哥哥")); } private static string Base64_decode(string str) { try { byte[] bytes = Convert.FromBase64String(str); return System.Text.Encoding.UTF8.GetString(bytes); } catch { return "Base64 Decode Fail"; } } }
结果
下载