ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Исходник пригласителя в группу VК
  #1  
Старый 13.03.2010, 04:40
Аватар для lukmus
lukmus
Постоянный
Регистрация: 18.11.2009
Сообщений: 709
Провел на форуме:
1410429

Репутация: 214


По умолчанию Исходник пригласителя в группу VК

Уважаемые модераторы, я так посчитал, что эта тема больше относиться к кодингу, чем к соцсетям.
Короче, заказывали у меня скрипт способный приглашать друзей в группу, а так же вступать самим аккам в группу для VК, я скрипт написал, а заказчик забил на эту тему.

Код:
#made by lukmus 06.03.2010
#!/usr/bin/ruby
require 'lib_fs.rb'

#CONFIG=============================================
$togrp=15 #count of friends for one invite attemp
$wait_time=25 #time between invalid attemp
$log_f='log.log' #log file
#===================================================

help=<<EOF
<acc_file> <group_id> [-iaf]
acc_file 	file with accounts, format: login:pass
group_id 	group number, integer
iaf		invite all friends

made by lukmus 06.03.2010
EOF

if ARGV.size<2 or ARGV.size>3 
	puts help
	exit
end

$acc_f=ARGV[0]
gr=ARGV[1].to_i
invite_a_f=false

if ARGV.size==3 and ARGV[2]=='-iaf' then invite_a_f=true end

$all_f_count=0
$all_if_count=0


def log(str)
	fl=File.new($log_f,'a')
	fl.puts str
	fl.close
end

def iaf(account,gr_id)
	friends=account.get_all_friends_ids
	suc_count=0
	good=0
	if friends==-1 then puts " get friends FAILED" else			
			print " \ninviting"
			$all_f_count+=friends.size
			STDOUT.flush
			end_p=$togrp
			start_p=0
			while start_p<friends.size do
				end_p=start_p+$togrp
				if end_p>friends.size-1 then end_p=friends.size-1 end
				if account.invite_f_in_group(gr_id,friends[start_p..end_p])==0 then
					 print '.' 
					 $all_if_count+=end_p-start_p
					 suc_count+=end_p-start_p
					 good=1
				else print '?' end
				STDOUT.flush
						
				start_p+=$togrp
				
				
			end
	$all_if_count+=good
	print " [suc_count=#{suc_count+good}/f_count=#{friends.size}]" 	
		STDOUT.flush				
	end
end

fil=File.new($acc_f,"r")
while !fil.eof 
	str=fil.gets
	str.chop!
	mail,pass=str.split(':')
	print "\n #{mail} "
	acc=Account.new(mail,pass)
	if acc.logon==0 
		if acc.enter_in_group(gr)==0 then print " OK " else print " WARNING: Can't enter in group " end
		if invite_a_f==true then iaf(acc,gr) end
	else 
		puts " ERROR: Invalid login or password "
		log("Invalid #{mail.gsub('%40','@')}:#{pass}")
		wait($wait_time,1)
	end
end
fil.close
puts "\n[all_f_count=#{$all_f_count}/all_invite_f_count=#{$all_if_count}]"
Как установить Ruby и как запустить скрипт
библиотека необходимая для скрипта
все файлы в одном архиве

О работе скрипта
Скрипт считывает из файла пару логин:пароль, каждая пара на новой строке. Далее логиниться и выполняет следующие действия:
-вступает в группу с номером <group_id>
-если указан параметр -iaf, то приглашает в группу всех своих друзей
Последняя функция работает не всегда, принцип по которому VК отсеивает выяснить не удалось т.к. зачастую эта функция не работает и через браузер.

Пару слов о библиотеке
В файле так называемой библиотеки содержиться class Account, который собственно и содержит методы, которые реализуют функции скрипта.

Для рубистов
Насколько я знаю, на этом форуме их очень не много.
Как я уже писал все самое интересное в библиотеке, в кратце опишу методы класса Account:
-enter_in_group(gr_id)
вступает в группу gr_id
-invite_f_in_group(gr_id,user_ids)
приглашает в группу gr_id, юзеров массива user_ids
-count_of_users_in_grp(gr_id)
возвращает количество акков в группе gr_id, данные берет с главной страницы группы, поэтому в случае быстрого инвайта запаздывает
-get_all_friends_ids()
возвращает массив с id друзей
-logon()
самая интересная функция, может пригодиться для брута, но только через прокси. логиниться.
-get_my_id()
возвращает id акка
-get_friends_count()
возвращает кол-во друзей акка
-get_hash_4_invite_2_group(prehash)
разгадывает загадку, по которой VК шифрует хэш для инвайта по prehash (якобы хэш выводящийся в явном виде)
-get_hash(path,id,n)
возвращает остальные бесхитростные хэши

К чему все это
Все методы библиотеки понятны далеко не только рубистам, основная фишка это конечно формирование нужного запроса. Так вот давайте развивать эту Open Source библиотеку на языке котором знаешь.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Приглашаю в группу, встречу, занимаюсь оформлением групп. Edis Покупка, продажа, услуги в Соц. Сетях 47 19.04.2010 14:12
продаю группу в Вк с 2500 чел и с очень красивыми id групп Oleg777skorost Покупка, продажа, услуги в Соц. Сетях 3 04.03.2010 06:01
Описание групп на форуме АНТИЧАТ. Версия 0.2 Егорыч+++ Правила форума 2 07.11.2009 02:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ