• [原创]K8Cscan4.0之Base64/HEX密码批量加密解密插件以及源码


    前言

    今天抽空更新了Cscan,新增对C#编译的EXE动态调用,新增对PowerShell脚本动态调用(无论是否安装PowerShell)

    增加一个字符串列表str.txt,用于存放任意字符串,比如帐号密码、路径、后台字典等等,关键看你编写的插件功能。

    本文以Base64和Hex加解密为例,演示4.0版本对C# EXE的调用以及对PowerShell的调用,让大家更好的定制功能

    C#编译的exe插件名称为netscan.exe,加载优先级次于netscan.dll,PowerShell插件名称为psscan.ps1,优先级次于exe

    示例一、PowerShell插件

    0x001 PowerShell插件Base64解密

    代码

    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)
    }
    

    结果

    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
    }
    

     结果

    示例二、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+"	"+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+"	"+Base64_encode(str));
                    Console.WriteLine(str + "	" + 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";
                }
            }
        }
    

     结果

    下载

    https://github.com/k8gege/K8CScan

    https://github.com/k8gege/K8tools/raw/master/K8Cscan4.0.rar

  • 相关阅读:
    映射文件中增删改查标签中的parameterType和resultType
    占位符#{}和拼接符${}
    mybatis与hibernate不同(重要)
    Mybatis解决jdbc编程的问题
    mybatis框架入门程序:演示通过mybatis实现数据库的修改操作
    mybatis框架入门程序:演示通过mybatis实现数据库的删除操作
    mybatis框架入门程序:演示通过mybatis实现数据库的插入操作中实现返回结果的获取
    mybatis框架入门程序:演示通过mybatis实现数据库的添加操作
    mybatis框架入门程序:演示通过mybatis实现数据库的模糊查询操作
    1047B_Cover Points
  • 原文地址:https://www.cnblogs.com/k8gege/p/11329574.html
Copyright © 2020-2023  润新知