Bitcoin Forum
August 23, 2019, 11:25:33 PM *
News: Latest Bitcoin Core release: 0.18.0 [Torrent] (New!)
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Release][Source] BitcoinLottery (Bitcoin Brute Force Cracking Tool in Java)  (Read 356 times)
cum0verflow
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
December 21, 2017, 07:49:51 PM
 #1

Hey Bitcointalk  Smiley
This is actually my first topic here and i want to share something with you.

How does it work:
The Code i share with you here just generates random private keys and then calculates the public address for that private key. After that it checks if the address calculated is in a list.
If there is a match the privatekey will get converted to WIF and will be written in a seperate file.

How are the chances?:
Chances that you do actually find the privatekey of an address in the list i will provide you are actually very low.
Very low meaning a chance of 1/(2^160) each iteration. But you can let the process run in the background since the cpu usage souldnt be that high.

Source:
Code:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;
import java.util.Scanner;

import org.spongycastle.asn1.sec.SECNamedCurves;
import org.spongycastle.asn1.x9.X9ECParameters;
import org.spongycastle.crypto.digests.RIPEMD160Digest;
import org.spongycastle.crypto.params.ECDomainParameters;
import org.spongycastle.math.ec.ECPoint;

public class BitcoinLottery {
private static File BitcoinAddressen = new File("./Addys.txt");
private static String genPrivateKey;
private static BigInteger privateKeyNumber;
private static byte[] publicKey;
private static String genAddy;
private static final ECDomainParameters EC_PARAMS;
private static final BigInteger BASE58_CHUNK_MOD = BigInteger.valueOf(0x5fa8624c7fba400L);
private static final int BASE58_CHUNK_DIGITS = 10;
private static final char[] BASE58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz".toCharArray();
  // private static int Counter = 0;

//Generate Curve for Eliptic Curve Algo:
static {
        X9ECParameters params = SECNamedCurves.getByName("secp256k1");
        EC_PARAMS = new ECDomainParameters(params.getCurve(), params.getG(), params.getN(), params.getH());
    }

     public static void main(String[] args) throws FileNotFoundException {
     while(true) {
    //System.out.println("Iteration no:" + Counter);
    Scanner AddressStream = new Scanner(BitcoinAddressen);
   
    //Generate new privatekey and convert it to hex
    privateKeyNumber = new BigInteger(256, new Random()); //random generation
   
    //Generate PublicKey to calculate Address from:
    ECPoint uncompressed = EC_PARAMS.getG().multiply(privateKeyNumber);
    publicKey = uncompressed.getEncoded(false);
   
   
       
    //Generate Bitcoin-Address:
    try {
             byte[] hashedPublicKey = sha256ripemd160(publicKey);
             byte[] addressBytes = new byte[1 + hashedPublicKey.length + 4];
             addressBytes[0] = (byte) (0);
             System.arraycopy(hashedPublicKey, 0, addressBytes, 1, hashedPublicKey.length);
             MessageDigest digestSha = MessageDigest.getInstance("SHA-256");
             digestSha.update(addressBytes, 0, addressBytes.length - 4);
             byte[] check = digestSha.digest(digestSha.digest());
             System.arraycopy(check, 0, addressBytes, hashedPublicKey.length + 1, 4);
             genAddy = encodeBase58(addressBytes);
         }
    catch (NoSuchAlgorithmException e) {
         }
   
    //Check if Address is in our List:
    while(AddressStream.hasNextLine()){
    if(AddressStream.nextLine().equals(genAddy)){
    System.out.println("!!!!SUCCESS!!!!");
       //Convert PrivateKey to Wallet Input Format:
       genPrivateKey = privateKeyNumber.toString(16);
       genPrivateKey = "80"+genPrivateKey;
       try {
MessageDigest digestSha = MessageDigest.getInstance("SHA-256");
byte[] hash = digestSha.digest(genPrivateKey.getBytes(StandardCharsets.UTF_8));
hash = digestSha.digest(hash);
String checksum = "";

for(int i=1; i < 5; i++) {
  checksum = checksum + hash[i];
}

genPrivateKey = genPrivateKey + checksum;
genPrivateKey = encodeBase58(genPrivateKey.getBytes(StandardCharsets.UTF_8));

writeStuffToFile();
} catch (NoSuchAlgorithmException e) {
writeStuffToFile();
}
       
    }
      }
    AddressStream.close();   
     }
   }
     
     public static void writeStuffToFile() {
    try {
        String Info = "Private Key: "+ privateKeyNumber + " HEX: " + privateKeyNumber.toString(16) + " WIF: "+ genPrivateKey;
        Files.write(Paths.get("PrivateKeys.txt"), Info.getBytes(), StandardOpenOption.APPEND);
    }catch (IOException e) {
    System.out.println("KEY FOUND BUT THERE WAS A PROBLEM WRITING TO FILE!:");
        System.out.println("Private Key: "+ privateKeyNumber + " HEX: " + privateKeyNumber.toString(16));
        System.out.println("WIF: "+ genPrivateKey);
        System.out.println();
    }
     }
     public static String encodeBase58(byte[] input) {
         if (input == null) {
             return null;
         }
         StringBuilder str = new StringBuilder((input.length * 350) / 256 + 1);
         BigInteger bn = new BigInteger(1, input);
         long rem;
         while (true) {
             BigInteger[] divideAndRemainder = bn.divideAndRemainder(BASE58_CHUNK_MOD);
             bn = divideAndRemainder[0];
             rem = divideAndRemainder[1].longValue();
             if (bn.compareTo(BigInteger.ZERO) == 0) {
                 break;
             }
             for (int i = 0; i < BASE58_CHUNK_DIGITS; i++) {
                 str.append(BASE58[(int) (rem % 58)]);
                 rem /= 58;
             }
         }
         while (rem != 0) {
             str.append(BASE58[(int) (rem % 58)]);
             rem /= 58;
         }
         str.reverse();
         int nLeadingZeros = 0;
         while (nLeadingZeros < input.length && input[nLeadingZeros] == 0) {
             str.insert(0, BASE58[0]);
             nLeadingZeros++;
         }
         return str.toString();
     }
   
     public static byte[] sha256ripemd160(byte[] publicKey) {
         try {
             MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
             byte[] sha256hash = sha256.digest(publicKey);
             RIPEMD160Digest ripemd160Digest = new RIPEMD160Digest();
             ripemd160Digest.update(sha256hash, 0, sha256hash.length);
             byte[] hashedPublicKey = new byte[20];
             ripemd160Digest.doFinal(hashedPublicKey, 0);
             return hashedPublicKey;
         } catch (NoSuchAlgorithmException e) {
             throw new RuntimeException(e);
         }
     }
}

I have posted a list of every address containing 1BTC or more here:
https://gist.github.com/anonymous/d0fb1677bdcd28d60f4374301f7a245c

How to set up:
-compile the Source i have given to you as jar file
-create a folder containing:
                                    -the jar file,
                                    -a list with the addresses you want to crack and name it "Addys.txt"
                                    -an empty text file called "PrivateKeys.txt". Here youll find the cracked p-keys
-now you are ready to run the jar

For the lazy guys:     
i have compiled the source, wrapped it with launch4j to an .exe file and made a pretty icon for it.
The download link below does also contain any files needed to run.

Note:

        -The zip file blelow does also contain a .bat file to add the program to AutoStart.
          For that to work you have to extract the zip directly into C:
          So the path for your binary should be: C:/BitcoinLottery/BitcoinLottery.exe
        -The exe file doesnt start a console, so you might not be able to tell if it started correctly.
          Just check the Task manager for running Java Applications and you will be able to tell if its running.

Download: http://www.mediafire.com/file/96w3sd4dkszs6o0/BitcoinLottery.zip


I would appreciate a small donation since i have recently lost my wallet with above 100k worth of bitcoins Cry
My new address: 1Cd5KxBJ5cAQPF3S7DtTcgfCUyioG5tbJx
Thank you Smiley

GOOD LUCK!
1566602733
Hero Member
*
Offline Offline

Posts: 1566602733

View Profile Personal Message (Offline)

Ignore
1566602733
Reply with quote  #2

1566602733
Report to moderator
1566602733
Hero Member
*
Offline Offline

Posts: 1566602733

View Profile Personal Message (Offline)

Ignore
1566602733
Reply with quote  #2

1566602733
Report to moderator
1566602733
Hero Member
*
Offline Offline

Posts: 1566602733

View Profile Personal Message (Offline)

Ignore
1566602733
Reply with quote  #2

1566602733
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1566602733
Hero Member
*
Offline Offline

Posts: 1566602733

View Profile Personal Message (Offline)

Ignore
1566602733
Reply with quote  #2

1566602733
Report to moderator
jhdscript
Member
**
Offline Offline

Activity: 267
Merit: 10


View Profile WWW
December 21, 2017, 07:56:17 PM
 #2

It s very similar to http://pool.bitcoinvanity.com:8910/

Your source code isn t performant.

cum0verflow
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
December 21, 2017, 08:07:00 PM
 #3

It s very similar to http://pool.bitcoinvanity.com:8910/

Your source code isn t performant.
Ouh thanks didnt know that site before.
I know Smiley but was too lazy to clean it up. I think you could do that yourself if you want but really do 1000 iterations more or less really matter? I mean at the best it raises your chances by an atomic amount. In the end it is really just luck Smiley
Thanks for taking the time to read my topic tho.
jhdscript
Member
**
Offline Offline

Activity: 267
Merit: 10


View Profile WWW
December 21, 2017, 08:18:03 PM
 #4

It s very similar to http://pool.bitcoinvanity.com:8910/

Your source code isn t performant.
Ouh thanks didnt know that site before.
I know Smiley but was too lazy to clean it up. I think you could do that yourself if you want but really do 1000 iterations more or less really matter? I mean at the best it raises your chances by an atomic amount. In the end it is really just luck Smiley
Thanks for taking the time to read my topic tho.

For for sharing source code with community Smiley

bitcoinfuck
Full Member
***
Offline Offline

Activity: 629
Merit: 106


Europe Belongs To Christians


View Profile WWW
December 21, 2017, 09:55:52 PM
 #5

import org.spongycastle.asn1.sec.SECNamedCurves;
import org.spongycastle.asn1.x9.X9ECParameters;
import org.spongycastle.crypto.digests.RIPEMD160Digest;
import org.spongycastle.crypto.params.ECDomainParameters;
import org.spongycastle.math.ec.ECPoint;



can you link these imports ?

civilufo
Sr. Member
****
Offline Offline

Activity: 375
Merit: 250



View Profile
December 21, 2017, 09:59:48 PM
 #6

Looks promising, although there was such tool in the market, but it is good to have more. Thanks for sharing.

bitcoinfuck
Full Member
***
Offline Offline

Activity: 629
Merit: 106


Europe Belongs To Christians


View Profile WWW
December 21, 2017, 10:01:48 PM
 #7

OP can you explain this

https://www.virustotal.com/#/file/3f7574765ff3f4d2c5bc0f6f4a11932b733b19bc9d3f5c2299a93d390154dec9/detection

bitcoinfuck
Full Member
***
Offline Offline

Activity: 629
Merit: 106


Europe Belongs To Christians


View Profile WWW
December 21, 2017, 10:03:30 PM
 #8

Looks promising, although there was such tool in the market, but it is good to have more. Thanks for sharing.

can you send me a link, which tool that you refer here

jhdscript
Member
**
Offline Offline

Activity: 267
Merit: 10


View Profile WWW
December 21, 2017, 11:21:09 PM
 #9


It s a false positive

bitcoinfuck
Full Member
***
Offline Offline

Activity: 629
Merit: 106


Europe Belongs To Christians


View Profile WWW
December 21, 2017, 11:27:48 PM
 #10


do you have it running then ?

cum0verflow
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
December 22, 2017, 12:58:16 AM
 #11


Dont know to be honest. Feel free to reverse or just compile it yourself if you dont trust me Smiley
cum0verflow
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
December 22, 2017, 01:21:00 AM
 #12

import org.spongycastle.asn1.sec.SECNamedCurves;
import org.spongycastle.asn1.x9.X9ECParameters;
import org.spongycastle.crypto.digests.RIPEMD160Digest;
import org.spongycastle.crypto.params.ECDomainParameters;
import org.spongycastle.math.ec.ECPoint;



can you link these imports ?
sure Smiley
here you go buddy: (!DIRECT LINK!)
http://search.maven.org/remotecontent?filepath=com/madgag/spongycastle/core/1.58.0.0/core-1.58.0.0.jar
NewBitcoinBaron
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
January 02, 2018, 04:03:59 AM
 #13

I downloaded your tool and let it run for some days now.
I just checked my privatekeys file and there was just added an entry.
I sweeped the privatekey using electrum and it had 50btc in it !!!!!
I just registered to thank you soooo much cant belive it!
e4f4
Full Member
***
Offline Offline

Activity: 182
Merit: 100


View Profile
January 02, 2018, 11:28:26 PM
 #14

Words without pictures and no transactions...

21 century - even dogs have phones and youtube accounts.

Bitcoin legacy, Doge fun and private transactions. Check out BitcoinZ... https://bitcointalk.org/index.php?topic=2166510.0

Missed Bitcoin in 2009? Find out more about IOTA...https://bitcointalk.org/index.php?topic=1216479.0
holy_ship
Jr. Member
*
Offline Offline

Activity: 104
Merit: 1


View Profile
January 04, 2018, 06:37:04 AM
 #15

Let me guess the speed - about 10k keys per second per thread? (that's what I got on my java-version)

I myself is a huge fan of java (esp EE), but it really SUX on this task. vanitygen is about 60 (yeah, sixty) times faster.

I was hoping to get usual slowness of 10-20-30 percent, but not 60 times.

Do you have an interest to make use of OpenCL ? It should speed things up. But oclvanitygen is also faster (5 million keys per second per core easy) Sad
vitalyxx
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
January 04, 2018, 09:21:55 AM
 #16

i will keep it running for a couple days and see what happen, thank for contributing the code to the community
Goldjunge45
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
February 23, 2018, 09:39:27 PM
 #17

Fake!!!
Virus, Bitcoinadresse wird bei dem kopieren der eigenen durch den Virus ersetzt.
Virus Adresse: 1Drz6wNEsw8s4yRxGSsz2fiYVM26N9m49K.
Fake, Finger weg!!!

Goldjunge45
cypherion
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
February 26, 2018, 02:51:45 PM
 #18

Hi Bitcointalk!
I'm not good at java and crypto algorithms, but I wanted to check how the author's code works and in addition .EXE the file looks suspicious.
Maybe because I'm not so lazy, sorry about that.

I didn't change anything in the original code just added (System.out.println) the output of some information to the console, that's all, becauce I want to see what the values genereting code.

Source:
Code:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.security.Security;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Random;
import java.util.Scanner;

import org.spongycastle.asn1.sec.SECNamedCurves;
import org.spongycastle.asn1.x9.X9ECParameters;
import org.spongycastle.crypto.digests.RIPEMD160Digest;
import org.spongycastle.crypto.params.ECDomainParameters;
import org.spongycastle.math.ec.ECPoint;

public class BitcoinLottery {
private static File BitcoinAddressen = new File("./Addys.txt");
private static String genPrivateKey;
private static BigInteger privateKeyNumber;
private static byte[] publicKey;
private static String genAddy;
private static final ECDomainParameters EC_PARAMS;
private static final BigInteger BASE58_CHUNK_MOD = BigInteger.valueOf(0x5fa8624c7fba400L);
private static final int BASE58_CHUNK_DIGITS = 10;
private static final char[] BASE58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz".toCharArray();
     private static int Counter = 0;

//Generate Curve for Eliptic Curve Algo:
static {
       X9ECParameters params = SECNamedCurves.getByName("secp256k1");
       EC_PARAMS = new ECDomainParameters(params.getCurve(), params.getG(), params.getN(), params.getH());
   }

     public static void main(String[] args) throws FileNotFoundException {
       System.out.println("Let`s start!!!");
     while(true) {
     System.out.println("Iteration no: " + Counter);
       Counter = Counter + 1;
     Scanner AddressStream = new Scanner(BitcoinAddressen);
    
     //Generate new privatekey and convert it to hex
     privateKeyNumber = new BigInteger(256, new Random()); //random generation
     System.out.println("Private Key Number: " + privateKeyNumber);
     //Generate PublicKey to calculate Address from:
     ECPoint uncompressed = EC_PARAMS.getG().multiply(privateKeyNumber);
     publicKey = uncompressed.getEncoded(false);
     System.out.println("Public Key: " + publicKey);
    
        
     //Generate Bitcoin-Address:
     try {
             byte[] hashedPublicKey = sha256ripemd160(publicKey);
             byte[] addressBytes = new byte[1 + hashedPublicKey.length + 4];
             addressBytes[0] = (byte) (0);
             System.arraycopy(hashedPublicKey, 0, addressBytes, 1, hashedPublicKey.length);
             MessageDigest digestSha = MessageDigest.getInstance("SHA-256");
             digestSha.update(addressBytes, 0, addressBytes.length - 4);
             byte[] check = digestSha.digest(digestSha.digest());
             System.arraycopy(check, 0, addressBytes, hashedPublicKey.length + 1, 4);
             genAddy = encodeBase58(addressBytes);
             System.out.println("Gen Bitcoin-Address: " + genAddy);
         }
     catch (NoSuchAlgorithmException e) {
         }
    
     //Check if Address is in our List:
     while(AddressStream.hasNextLine()){
     if(AddressStream.nextLine().equals(genAddy)){
     System.out.println("!!!!SUCCESS!!!!");
       //Convert PrivateKey to Wallet Input Format:
       genPrivateKey = privateKeyNumber.toString(16);
             System.out.println("Convert PK to Wallet: " + genPrivateKey);
       genPrivateKey = "80"+genPrivateKey;
             System.out.println("Convert PK to Wallet +80 (magic): " + genPrivateKey);
       try {
MessageDigest digestSha = MessageDigest.getInstance("SHA-256");
byte[] hash = digestSha.digest(genPrivateKey.getBytes(StandardCharsets.UTF_8));
hash = digestSha.digest(hash);
String checksum = "";

for(int i=1; i < 5; i++) {
 checksum = checksum + hash[i];
}

genPrivateKey = genPrivateKey + checksum;
genPrivateKey = encodeBase58(genPrivateKey.getBytes(StandardCharsets.UTF_8));
System.out.println("Final Private Key: " + genPrivateKey);
writeStuffToFile();
} catch (NoSuchAlgorithmException e) {
writeStuffToFile();
}
      
     }
      }
     AddressStream.close();  
     }
   }
    
     public static void writeStuffToFile() {
     try {
        String Info = "Private Key: "+ privateKeyNumber + " HEX: " + privateKeyNumber.toString(16) + " WIF: "+ genPrivateKey;
        Files.write(Paths.get("PrivateKeys.txt"), Info.getBytes(), StandardOpenOption.APPEND);
     }catch (IOException e) {
     System.out.println("KEY FOUND BUT THERE WAS A PROBLEM WRITING TO FILE!:");
        System.out.println("Private Key: "+ privateKeyNumber + " HEX: " + privateKeyNumber.toString(16));
        System.out.println("WIF: "+ genPrivateKey);
        System.out.println();
     }
     }
     public static String encodeBase58(byte[] input) {
         if (input == null) {
             return null;
         }
         StringBuilder str = new StringBuilder((input.length * 350) / 256 + 1);
         BigInteger bn = new BigInteger(1, input);
         long rem;
         while (true) {
             BigInteger[] divideAndRemainder = bn.divideAndRemainder(BASE58_CHUNK_MOD);
             bn = divideAndRemainder[0];
             rem = divideAndRemainder[1].longValue();
             if (bn.compareTo(BigInteger.ZERO) == 0) {
                 break;
             }
             for (int i = 0; i < BASE58_CHUNK_DIGITS; i++) {
                 str.append(BASE58[(int) (rem % 58)]);
                 rem /= 58;
             }
         }
         while (rem != 0) {
             str.append(BASE58[(int) (rem % 58)]);
             rem /= 58;
         }
         str.reverse();
         int nLeadingZeros = 0;
         while (nLeadingZeros < input.length && input[nLeadingZeros] == 0) {
             str.insert(0, BASE58[0]);
             nLeadingZeros++;
         }
         return str.toString();
     }
  
     public static byte[] sha256ripemd160(byte[] publicKey) {
         try {
             MessageDigest sha256 = MessageDigest.getInstance("SHA-256");
             byte[] sha256hash = sha256.digest(publicKey);
             RIPEMD160Digest ripemd160Digest = new RIPEMD160Digest();
             ripemd160Digest.update(sha256hash, 0, sha256hash.length);
             byte[] hashedPublicKey = new byte[20];
             ripemd160Digest.doFinal(hashedPublicKey, 0);
             return hashedPublicKey;
         } catch (NoSuchAlgorithmException e) {
             throw new RuntimeException(e);
         }
     }
}

How I tried to set up (Windows OS):
  - compile the Source
    -- downloaded and installed JDK
    -- downloaded Spongy Castle and copied jar(s) to the ..\Java\jdk1.8.0\jre\lib\ext\ directory
    -- created folder BitcoinLottery (on desktop for example) containing 2 files within "BitcoinLottery.java" and "Manifest.txt", into the "BitcoinLottery.java" file pasted code from top, into the "Manifest.txt" pasted
Code:
Main-class: BitcoinLottery
   -- started cmd.exe and tried run command:
Code:
javac C:\Users\USER_NAME\Desktop\BitcoinLottery\BitcoinLottery.java
   -- run next command:
Code:
jar cfvm C:\Users\USER_NAME\Desktop\BitcoinLottery\BitcoinLottery.jar C:\Users\USER_NAME\Desktop\BitcoinLottery\Manifest.txt C:\Users\USER_NAME\Desktop\BitcoinLottery\BitcoinLottery.class
   -- created empty text file called "PrivateKeys.txt", download list with the addresses for crack and name it "Addys.txt" and saved both into the BitcoinLottery folder
    -- run the last commnad into console: java -jar C:\Users\USER_NAME\Desktop\BitcoinLottery\BitcoinLottery.jar


If everythings all right you could see something like that:
http://i67.tinypic.com/9uqagk.jpg

I don't know is that correctly works, i mean methods and algorithms, but generation values happen.
It somehow works.


Note:
  - The zip file blelow does contain all components for start. Before run "BitcoinLottery.jar" in console, computer need to has JRE


Download: https://sundryfiles.com/3wg

References:
http://www.bouncycastle.org/documentation.html
Tutorial on how to make a Java JAR file with the command prompt

P.S.: I'm not native English speaker and hope you'll not have any problems with reading and running.
Goldjunge45
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
February 26, 2018, 05:34:49 PM
 #19

Fake!!!
Virus, bitcoin address is replaced when copying your own by the virus.
Virus Address: 1Drz6wNEsw8s4yRxGSsz2fiYVM26N9m49K.
Fake, fingers away !!!

Goldjunge45
cum0verflow
Newbie
*
Offline Offline

Activity: 5
Merit: 0


View Profile
January 09, 2019, 12:52:01 AM
 #20

Fake!!!
Virus, bitcoin address is replaced when copying your own by the virus.
Virus Address: 1Drz6wNEsw8s4yRxGSsz2fiYVM26N9m49K.
Fake, fingers away !!!

Goldjunge45
its not fake the algos do work. I know the code is kind of bad but i know the maths behind it and tried to implement them. The source code is clean, i can guarantee for that.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!