Add new ASM infos
This commit is contained in:
parent
83475e67f2
commit
4fec6e78f7
2 changed files with 5 additions and 154 deletions
|
@ -2,20 +2,21 @@ using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using LibZNI;
|
||||||
|
|
||||||
[assembly: AssemblyCompany("ZNI")]
|
[assembly: AssemblyCompany("ZNI")]
|
||||||
[assembly: AssemblyAlgorithmId(System.Configuration.Assemblies.AssemblyHashAlgorithm.MD5)]
|
[assembly: AssemblyAlgorithmId(System.Configuration.Assemblies.AssemblyHashAlgorithm.MD5)]
|
||||||
[assembly: AssemblyCopyright("(C) 2020 Tara Piccari")]
|
[assembly: AssemblyCopyright("(C) 2020 Tara Piccari")]
|
||||||
[assembly: AssemblyFileVersion("5.0.5.1007")]
|
[assembly: AssemblyFileVersion("5.0.5.1249")]
|
||||||
[assembly: AssemblyDescription("Second Life Bot - BotCore5")]
|
[assembly: AssemblyDescription("Second Life Bot - BotCore5")]
|
||||||
|
[assembly: AutoUpdater("/job/ZBotCore/job/BotCore5", "module.tar")]
|
||||||
|
|
||||||
namespace Bot.Assemble
|
namespace Bot.Assemble
|
||||||
{
|
{
|
||||||
public class ASMInfo
|
public class ASMInfo
|
||||||
{
|
{
|
||||||
public static string BotName = "ZBotCore";
|
public static string BotName = "ZBotCore";
|
||||||
public static string BotVer = "5.0.5.1007";
|
public static string BotVer = "5.0.5.1249";
|
||||||
public static string GitPassword
|
public static string GitPassword
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|
152
Program.cs
152
Program.cs
|
@ -11,6 +11,7 @@ using System.Threading;
|
||||||
using OpenMetaverse.Packets;
|
using OpenMetaverse.Packets;
|
||||||
using Bot.Assemble;
|
using Bot.Assemble;
|
||||||
using OpenMetaverse.Interfaces;
|
using OpenMetaverse.Interfaces;
|
||||||
|
using LibZNI;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
|
@ -948,155 +949,4 @@ namespace Bot
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Tools
|
|
||||||
{
|
|
||||||
public static Int32 getTimestamp()
|
|
||||||
{
|
|
||||||
return int.Parse(DateTimeOffset.UtcNow.ToUnixTimeSeconds().ToString());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string Hash2String(byte[] Hash)
|
|
||||||
{
|
|
||||||
StringBuilder sb = new StringBuilder();
|
|
||||||
foreach(byte b in Hash)
|
|
||||||
{
|
|
||||||
sb.Append(b.ToString("X2"));
|
|
||||||
}
|
|
||||||
return sb.ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string MD5Hash(string ToHash)
|
|
||||||
{
|
|
||||||
byte[] Source = UTF8Encoding.UTF8.GetBytes(ToHash);
|
|
||||||
byte[] Hash = new MD5CryptoServiceProvider().ComputeHash(Source);
|
|
||||||
return Tools.Hash2String(Hash);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string MD5Hash(byte[] ToHash)
|
|
||||||
{
|
|
||||||
return Tools.Hash2String(new MD5CryptoServiceProvider().ComputeHash(ToHash));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string SHA256Hash(string ToHash)
|
|
||||||
{
|
|
||||||
SHA256 hasher = SHA256.Create();
|
|
||||||
return Tools.Hash2String(hasher.ComputeHash(UTF8Encoding.UTF8.GetBytes(ToHash)));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string SHA256Hash(byte[] ToHash)
|
|
||||||
{
|
|
||||||
SHA256 Hasher = SHA256.Create();
|
|
||||||
return Tools.Hash2String(Hasher.ComputeHash(ToHash));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string ZHX(string ToHash)
|
|
||||||
{
|
|
||||||
ZHash.Instance.NewKey();
|
|
||||||
ZHash.Instance.Key = ToHash;
|
|
||||||
return ZHash.Instance.Key;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string Base64Encode(string plainText) {
|
|
||||||
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
|
|
||||||
return System.Convert.ToBase64String(plainTextBytes);
|
|
||||||
}
|
|
||||||
public static string Base64Decode(string base64EncodedData) {
|
|
||||||
var base64EncodedBytes = System.Convert.FromBase64String(base64EncodedData);
|
|
||||||
return System.Text.Encoding.UTF8.GetString(base64EncodedBytes);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public sealed class ZHash
|
|
||||||
{
|
|
||||||
private static readonly object _lock = new object();
|
|
||||||
private static ZHash _inst = new ZHash();
|
|
||||||
static ZHash() { }
|
|
||||||
|
|
||||||
public static ZHash Instance
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
lock (_lock)
|
|
||||||
{
|
|
||||||
if (_inst == null) _inst = new ZHash();
|
|
||||||
return _inst;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public string _key;
|
|
||||||
public string Key
|
|
||||||
{
|
|
||||||
set
|
|
||||||
{
|
|
||||||
lock(_lock)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (value != "")
|
|
||||||
CalculateKey(value);
|
|
||||||
else NewKey();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return _key;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void CalculateKey(string K)
|
|
||||||
{
|
|
||||||
string valid = "abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ=.+/\\][{}';:?><,_-)(*&^%$#@!`~|";
|
|
||||||
while(valid.Length < K.Length)
|
|
||||||
{
|
|
||||||
valid += valid;
|
|
||||||
}
|
|
||||||
StringBuilder tmp = new StringBuilder(_key);
|
|
||||||
|
|
||||||
for (int i = 0; i < _key.Length; i++)
|
|
||||||
{
|
|
||||||
char V = _key[i];
|
|
||||||
if (V != ':')
|
|
||||||
{
|
|
||||||
MD5 MDHash = MD5.Create();
|
|
||||||
for (int ii = 0; ii < K.Length; ii++)
|
|
||||||
{
|
|
||||||
byte[] md5Data = MDHash.ComputeHash(Encoding.UTF8.GetBytes((K + i.ToString() + valid[i].ToString() + valid[ii].ToString()).ToCharArray()));
|
|
||||||
// Replace digit with MD5'd char from String K encoded alongside (i)
|
|
||||||
StringBuilder hashData = new StringBuilder();
|
|
||||||
foreach (byte b in md5Data)
|
|
||||||
{
|
|
||||||
hashData.Append(b.ToString("X2"));
|
|
||||||
}
|
|
||||||
string Hash = hashData.ToString();
|
|
||||||
tmp[i] = Hash[(i > 31 ? 1 : i)];
|
|
||||||
Console.Write("\r" + tmp.ToString() + "\r");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Console.WriteLine("\r\n");
|
|
||||||
_key = tmp.ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void NewKey()
|
|
||||||
{
|
|
||||||
lock(_lock)
|
|
||||||
{
|
|
||||||
|
|
||||||
_key = "".PadLeft(10, '0');
|
|
||||||
_key += ":";
|
|
||||||
_key += "".PadRight(4, '0');
|
|
||||||
_key += ":";
|
|
||||||
_key += "".PadRight(6, '0');
|
|
||||||
_key += ":";
|
|
||||||
_key += "".PadRight(8, '0');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void SetKey(string Key)
|
|
||||||
{
|
|
||||||
_key = Key;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue