Add a old code project
This commit is contained in:
commit
8b48fdeb8d
11 changed files with 197 additions and 0 deletions
BIN
.vs/EagleEye/DesignTimeBuild/.dtbcache.v2
Executable file
BIN
.vs/EagleEye/DesignTimeBuild/.dtbcache.v2
Executable file
Binary file not shown.
BIN
.vs/EagleEye/FileContentIndex/608a60ce-298f-47b6-821b-e124afa1c1f1.vsidx
Executable file
BIN
.vs/EagleEye/FileContentIndex/608a60ce-298f-47b6-821b-e124afa1c1f1.vsidx
Executable file
Binary file not shown.
BIN
.vs/EagleEye/FileContentIndex/68fb5ab0-eead-4feb-b078-14645092c967.vsidx
Executable file
BIN
.vs/EagleEye/FileContentIndex/68fb5ab0-eead-4feb-b078-14645092c967.vsidx
Executable file
Binary file not shown.
0
.vs/EagleEye/FileContentIndex/read.lock
Executable file
0
.vs/EagleEye/FileContentIndex/read.lock
Executable file
BIN
.vs/EagleEye/v17/.futdcache.v2
Executable file
BIN
.vs/EagleEye/v17/.futdcache.v2
Executable file
Binary file not shown.
BIN
.vs/EagleEye/v17/.suo
Executable file
BIN
.vs/EagleEye/v17/.suo
Executable file
Binary file not shown.
BIN
.vs/ProjectEvaluation/eagleeye.metadata.v5.2
Executable file
BIN
.vs/ProjectEvaluation/eagleeye.metadata.v5.2
Executable file
Binary file not shown.
BIN
.vs/ProjectEvaluation/eagleeye.projects.v5.2
Executable file
BIN
.vs/ProjectEvaluation/eagleeye.projects.v5.2
Executable file
Binary file not shown.
16
EagleEye.csproj
Executable file
16
EagleEye.csproj
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="BitCoinSharp" Version="0.2.166.49" />
|
||||||
|
<PackageReference Include="NBitcoin" Version="7.0.22" />
|
||||||
|
<PackageReference Include="System.Configuration.ConfigurationManager" Version="7.0.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
25
EagleEye.sln
Executable file
25
EagleEye.sln
Executable file
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.4.33122.133
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EagleEye", "EagleEye.csproj", "{79EE707A-955B-44C2-9899-592B02DF5FB1}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{79EE707A-955B-44C2-9899-592B02DF5FB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{79EE707A-955B-44C2-9899-592B02DF5FB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{79EE707A-955B-44C2-9899-592B02DF5FB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{79EE707A-955B-44C2-9899-592B02DF5FB1}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {20BCCC0C-8D9E-4DDB-94A9-743E8F673BAB}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
156
Program.cs
Executable file
156
Program.cs
Executable file
|
@ -0,0 +1,156 @@
|
||||||
|
using BitCoinSharp;
|
||||||
|
using NBitcoin;
|
||||||
|
using System.Numerics;
|
||||||
|
using System.Xml.Linq;
|
||||||
|
|
||||||
|
namespace EagleEye
|
||||||
|
{
|
||||||
|
internal class Program
|
||||||
|
{
|
||||||
|
public static string search;
|
||||||
|
public static BigInteger point = BigInteger.Zero;
|
||||||
|
public static Wallet wallet = null;
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
//args = new string[] { "1HLoD9E4SDFFPDiYfNYnkBLQ85Y51J3Zb1" };
|
||||||
|
|
||||||
|
Console.WriteLine("\n \n* WELCOME TO EAGLE EYE *\n \n[ Checking for required parameters ]");
|
||||||
|
if(args.Length >= 1)
|
||||||
|
{
|
||||||
|
Console.WriteLine($"[ Scanning for {args[0]} ]");
|
||||||
|
search = args[0];
|
||||||
|
wallet = new Wallet(NetworkParameters.ProdNet());
|
||||||
|
}else
|
||||||
|
{
|
||||||
|
if (!File.Exists("resume.bin"))
|
||||||
|
{
|
||||||
|
|
||||||
|
Console.WriteLine($"[ Please provide the address to search for ]");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else Load();
|
||||||
|
}
|
||||||
|
Key privkey = new();
|
||||||
|
//byte[] bits = new byte[32];
|
||||||
|
|
||||||
|
bool bSearch = true;
|
||||||
|
BigInteger big = point;
|
||||||
|
if(search != "")
|
||||||
|
{
|
||||||
|
args = new string[] { search };
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine();
|
||||||
|
Console.WriteLine();
|
||||||
|
|
||||||
|
Console.CancelKeyPress += Console_CancelKeyPress;
|
||||||
|
|
||||||
|
int lastSave = 0;
|
||||||
|
while (bSearch)
|
||||||
|
{
|
||||||
|
byte[] bits = big.ToByteArray();
|
||||||
|
Array.Resize<byte>(ref bits, 32);
|
||||||
|
Array.Reverse(bits);
|
||||||
|
|
||||||
|
|
||||||
|
big++;
|
||||||
|
point = big;
|
||||||
|
//big.ToByteArray().CopyTo(bits, 0);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
privkey = new Key(bits);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
string hex = string.Join("", bits.Select(b => string.Format("{0:X2}", b)));
|
||||||
|
//privkey = Key.Parse(hex, Network.Main);
|
||||||
|
|
||||||
|
BitcoinSecret btcpriv = privkey.GetWif(Network.Main);
|
||||||
|
|
||||||
|
BitcoinAddress legacy = btcpriv.PubKey.GetAddress(ScriptPubKeyType.Legacy, Network.Main);
|
||||||
|
BitcoinAddress segwit = btcpriv.PubKey.GetAddress(ScriptPubKeyType.Segwit, Network.Main);
|
||||||
|
BitcoinAddress segwit2 = btcpriv.PubKey.GetAddress(ScriptPubKeyType.SegwitP2SH, Network.Main);
|
||||||
|
BitcoinAddress taproot = btcpriv.PubKey.GetAddress(ScriptPubKeyType.TaprootBIP86, Network.Main);
|
||||||
|
|
||||||
|
if (args[0] == legacy.ToString() || args[0] == segwit.ToString() || args[0] == segwit2.ToString() || args[0] == taproot.ToString())
|
||||||
|
{
|
||||||
|
Console.WriteLine($"\n\nPRIVATE KEY FOUND : {btcpriv}\n\n");
|
||||||
|
//bSearch = false;
|
||||||
|
Save();
|
||||||
|
}
|
||||||
|
else Console.Write($"\rSearching for private key [{btcpriv}] [{lastSave}] [{wallet.Keychain.Count}] \r");
|
||||||
|
|
||||||
|
if (lastSave >= 2000)
|
||||||
|
{
|
||||||
|
Save();
|
||||||
|
lastSave = 0;
|
||||||
|
}
|
||||||
|
else lastSave++;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
Org.BouncyCastle.Math.BigInteger pk = new Org.BouncyCastle.Math.BigInteger(hex, 16);
|
||||||
|
|
||||||
|
wallet.AddKey(new EcKey(pk));
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Console_CancelKeyPress(object? sender, ConsoleCancelEventArgs e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Saving state...");
|
||||||
|
Save();
|
||||||
|
|
||||||
|
|
||||||
|
Environment.Exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Save()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Thread tx = new Thread(() =>
|
||||||
|
{
|
||||||
|
|
||||||
|
BinaryWriter bw = new BinaryWriter(new FileStream("resume.bin", FileMode.OpenOrCreate, FileAccess.ReadWrite));
|
||||||
|
bw.Write(search);
|
||||||
|
byte[] arr = point.ToByteArray();
|
||||||
|
bw.Write(arr.Length);
|
||||||
|
bw.Write(arr);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
FileInfo fi = new FileInfo("wallet.dat");
|
||||||
|
wallet.SaveToFile(fi);
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
|
|
||||||
|
bw.Close();
|
||||||
|
});
|
||||||
|
|
||||||
|
tx.Start();
|
||||||
|
}
|
||||||
|
catch { }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Load()
|
||||||
|
{
|
||||||
|
BinaryReader br = new BinaryReader(new FileStream("resume.bin", FileMode.Open, FileAccess.Read));
|
||||||
|
search = br.ReadString();
|
||||||
|
point = new BigInteger(br.ReadBytes(br.ReadInt32()));
|
||||||
|
|
||||||
|
br.Close();
|
||||||
|
|
||||||
|
Console.WriteLine("[ Loaded saved state ]");
|
||||||
|
|
||||||
|
wallet = Wallet.LoadFromFile(new FileInfo("wallet.dat"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue