Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # hackEx user finder
- require "libGoo"
- include LibGoo
- #region input
- #getting crendetials
- print "Email: "
- email = gets.chomp
- print "Password: "
- password = gets.chomp
- #setting up some settings
- print "Starting ID (default: 1001): "
- victim_id = gets.chomp.to_i.abs
- print "How many IDs to scan (default: 1000): "
- scan_limit = gets.chomp.to_i.abs
- print "After how many found users to stop (default: no limit): "
- to_find_limit = gets.chomp.to_i.abs
- #some more settings
- print "Firewall max (default: no limit): "
- firewall_lim = gets.chomp.to_i.abs
- print "Password encryptor max (default: no limit): "
- pass_encr_lim = gets.chomp.to_i.abs
- print "How many bitcoins should be in checking in order to log the user (default: 0): "
- money_lim = gets.chomp.to_i.abs
- #end-region
- # setting defaults where it applies
- victim_id = 1001 if victim_id == 0
- scan_limit = 1000 if scan_limit == 0
- puts "Opening log file..."
- file = open("./hackEx_victims.log", "w")
- puts "Clearing log file..."
- file.truncate(0)
- puts "Logging in..."
- user = User.new(email, password)
- puts "Log in successfull!"
- # printing some info to the console. For you not so into coding people, google system "clear" or system "cls" and don't be scared
- system "clear" or system "cls"
- print "\n======================================================\n"
- print "Starting scan as #{email}\n"
- print "Settings: \n"
- print " Starting ID: #{victim_id}\n"
- print " Max ID: #{scan_limit+victim_id}\n"
- print " After how many found users to stop: "
- to_find_limit != 0 ? (print "#{to_find_limit}\n") : (print "no limit\n")
- print " Money limit: #{money_lim} btc\n"
- print " Firewall limit: "
- firewall_lim != 0 ? (print "#{firewall_lim}\n") : (print "no limit\n")
- print " Password encryptor limit: "
- pass_encr_lim != 0 ? (print "#{pass_encr_lim}\n") : (print "no limit\n")
- print "======================================================\n\n"
- # I'm not fond of the shortcuts like -=
- victim_id = victim_id-1
- scan_limit = scan_limit+victim_id
- found_vics = 0 # this stands for "number of found victims"
- while victim_id <= scan_limit do
- victim_id = victim_id+1
- t = Time.now #some more console output
- print "\r[#{t.hour}:#{t.min}:#{t.sec}]Current victim ID: #{victim_id} "
- # actually fetching info. Thank you whoever wrote libGoo library, you are the boss!
- victim_info = LibGooHelper.SafeVictimInfo(user.http, user.auth_token, victim_id)
- to_write = ""
- # I found out that status 1 means that player is reacheable, that means you can ping him/her in the app
- # I have no idea what status 0 or 2 mean
- next if victim_info == false
- next if victim_info['user']['status'] != '1'
- next if victim_info['user_bank']['checking'].to_i < money_lim
- # this is a part of what will be written to the .log file
- to_write = "User info:
- ID: #{victim_info['user']['id']}
- Username: #{victim_info['user']['username']}
- IP: #{victim_info['user']['ip']}
- Bitcoins in checking: #{victim_info['user_bank']['checking']}
- Password cracked: #{victim_info['password_cracked']}\n
- "
- go_next = false # I'm not proud of this part, but I had no better idea, I'm sorry
- victim_info['user_software'].each do |soft|
- case soft['name']
- when "Firewall"
- if soft['software_level'].to_i > firewall_lim && firewall_lim != 0 then
- go_next = true
- break
- end
- to_write = to_write + "\tFirewall level: #{soft['software_level']}\n"
- when "Password Encryptor"
- if soft['software_level'].to_i > pass_encr_lim && pass_encr_lim != 0 then
- go_next = true
- break
- end
- to_write = to_write + "\tPassword Encryptor level: #{soft['software_level']}\n"
- end
- break if go_next == true
- end
- next if go_next == true
- # last part of what will be written to the log
- to_write = to_write + "\n=======================================\n"
- file.write(to_write)
- puts "\r<< Found user: #{victim_info['user']['username']} --- Money: #{victim_info['user_bank']['checking']} btc --- IP: #{victim_info['user']['ip']}>> "
- if to_find_limit != 0 then # checking if limit was set for number of victims to be found and taking the proper actions
- found_vics = found_vics+1
- if found_vics >= to_find_limit then # this happens if you let's say you want to see the first 10 people that meet ur criteria from a list of 10 000
- puts "\n<<<< Reached limit of #{to_find_limit} victims set at the begging. >>>> "
- print "Closing log file...\r"
- file.close
- puts "Closed log file! "
- puts "Coded by << Jiji >> using libGoo library.\nBye..."
- exit
- end
- end
- end
- # this means all 10 000 people were searched (could be more, could be less, depends on ur settings) and script may end
- print "\nScan complete!"
- print "Closing log file..."
- file.close
- puts "\rClosed log file! "
- puts "Coded in ruby by << Jiji >> using libGoo library.\nBye :)"
- exit
- # please credit me if you modify this.
- # I choosed not to use the MassScan function from the HackEx class (think it is a class, idk) because I couldn't get the
- # specific output I wanted. I had to modify the original library and didn't feel like doing that.
- # If you don't like my approach, fuck off.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement