Advertisement
Guest User

hackEx victim finder by << Jiji >>

a guest
Jan 29th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 5.21 KB | None | 0 0
  1. # hackEx user finder
  2. require "libGoo"
  3. include LibGoo
  4.  
  5. #region input
  6.     #getting crendetials
  7.     print "Email: "
  8.     email = gets.chomp
  9.     print "Password: "
  10.     password = gets.chomp
  11.     #setting up some settings
  12.     print "Starting ID (default: 1001): "
  13.     victim_id = gets.chomp.to_i.abs
  14.     print "How many IDs to scan (default: 1000): "
  15.     scan_limit = gets.chomp.to_i.abs
  16.     print "After how many found users to stop (default: no limit): "
  17.     to_find_limit = gets.chomp.to_i.abs
  18.     #some more settings
  19.     print "Firewall max (default: no limit): "
  20.     firewall_lim = gets.chomp.to_i.abs
  21.     print "Password encryptor max (default: no limit): "
  22.     pass_encr_lim = gets.chomp.to_i.abs
  23.     print "How many bitcoins should be in checking in order to log the user (default: 0): "
  24.     money_lim = gets.chomp.to_i.abs
  25. #end-region
  26. # setting defaults where it applies
  27. victim_id = 1001 if victim_id == 0
  28. scan_limit = 1000 if scan_limit == 0
  29.  
  30. puts "Opening log file..."
  31. file = open("./hackEx_victims.log", "w")
  32. puts "Clearing log file..."
  33. file.truncate(0)
  34.  
  35. puts "Logging in..."
  36. user = User.new(email, password)
  37. puts "Log in successfull!"
  38. # printing some info to the console. For you not so into coding people, google system "clear" or system "cls" and don't be scared
  39. system "clear" or system "cls"
  40. print "\n======================================================\n"
  41.     print "Starting scan as #{email}\n"
  42.     print "Settings: \n"
  43.     print "   Starting ID: #{victim_id}\n"
  44.     print "   Max ID: #{scan_limit+victim_id}\n"
  45.     print "   After how many found users to stop: "
  46.     to_find_limit != 0 ? (print "#{to_find_limit}\n") : (print "no limit\n")
  47.     print "   Money limit: #{money_lim} btc\n"
  48.     print "   Firewall limit: "
  49.     firewall_lim != 0 ? (print "#{firewall_lim}\n") : (print "no limit\n")
  50.     print "   Password encryptor limit: "
  51.     pass_encr_lim != 0 ? (print "#{pass_encr_lim}\n") : (print "no limit\n")
  52. print "======================================================\n\n"
  53. # I'm not fond of the shortcuts like -=
  54. victim_id = victim_id-1
  55. scan_limit = scan_limit+victim_id
  56.  
  57. found_vics = 0 # this stands for "number of found victims"
  58.  
  59. while victim_id <= scan_limit do
  60.     victim_id = victim_id+1
  61.     t = Time.now #some more console output
  62.     print "\r[#{t.hour}:#{t.min}:#{t.sec}]Current victim ID: #{victim_id}      "
  63.     # actually fetching info. Thank you whoever wrote libGoo library, you are the boss!
  64.     victim_info = LibGooHelper.SafeVictimInfo(user.http, user.auth_token, victim_id)
  65.     to_write = ""
  66.     # I found out that status 1 means that player is reacheable, that means you can ping him/her in the app
  67.     # I have no idea what status 0 or 2 mean
  68.     next if victim_info == false
  69.     next if victim_info['user']['status'] != '1'
  70.     next if victim_info['user_bank']['checking'].to_i < money_lim
  71.     # this is a part of what will be written to the .log file
  72. to_write = "User info:
  73.     ID: #{victim_info['user']['id']}
  74.     Username: #{victim_info['user']['username']}
  75.     IP: #{victim_info['user']['ip']}
  76.     Bitcoins in checking: #{victim_info['user_bank']['checking']}
  77.     Password cracked: #{victim_info['password_cracked']}\n
  78. "
  79.     go_next = false # I'm not proud of this part, but I had no better idea, I'm sorry
  80.     victim_info['user_software'].each do |soft|
  81.         case soft['name']
  82.             when "Firewall"
  83.                 if soft['software_level'].to_i > firewall_lim && firewall_lim != 0 then
  84.                     go_next = true
  85.                     break
  86.                 end
  87.                 to_write = to_write + "\tFirewall level: #{soft['software_level']}\n"
  88.             when "Password Encryptor"
  89.                 if soft['software_level'].to_i > pass_encr_lim && pass_encr_lim != 0 then
  90.                     go_next = true
  91.                     break
  92.                 end
  93.                 to_write = to_write + "\tPassword Encryptor level: #{soft['software_level']}\n"
  94.         end
  95.  
  96.         break if go_next == true
  97.     end
  98.  
  99.     next if go_next == true
  100.     # last part of what will be written to the log
  101.     to_write = to_write + "\n=======================================\n"
  102.     file.write(to_write)
  103.     puts "\r<< Found user: #{victim_info['user']['username']} --- Money: #{victim_info['user_bank']['checking']} btc --- IP: #{victim_info['user']['ip']}>>                       "
  104.     if to_find_limit != 0 then # checking if limit was set for number of victims to be found and taking the proper actions
  105.         found_vics = found_vics+1
  106.         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
  107.             puts "\n<<<< Reached limit of #{to_find_limit} victims set at the begging. >>>>                                   "
  108.             print "Closing log file...\r"
  109.             file.close
  110.             puts "Closed log file!   "
  111.             puts "Coded by << Jiji >> using libGoo library.\nBye..."
  112.             exit
  113.         end
  114.     end
  115. end
  116. # this means all 10 000 people were searched (could be more, could be less, depends on ur settings) and script may end
  117. print "\nScan complete!"
  118. print "Closing log file..."
  119. file.close
  120. puts "\rClosed log file!                                                                "
  121. puts "Coded in ruby by << Jiji >> using libGoo library.\nBye :)"
  122. exit
  123. # please credit me if you modify this.
  124. # I choosed not to use the MassScan function from the HackEx class (think it is a class, idk) because I couldn't get the
  125. # specific output I wanted. I had to modify the original library and didn't feel like doing that.
  126. # If you don't like my approach, fuck off.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement