Статья Sacrifice - URL обфускатор

Приветствую всех! Я искал в интернете инструменты для обфускации url адресов, но я не нашел таких, и решил написать свой.
Найти вы его сможете тут
Код:
https://git.codeby.net/Tayrus/Sacrifice/
Или внизу статьи.

Обычно я объясняю свой код, но не сегодня)

Для работы нужен python3 версии, библиотеки colorama и termcolor.

Запустим скрипт:

2018-11-08_13-06-34.png


Пока что я добавил 2 метода обфускации, но если этот проект будет пользоваться спросом, то ВОЗМОЖНО добавлю еще пару методов.

Я выбираю 1 метод, далее нас просят ввести адрес сайта куда будет вести ссылка:

2018-11-08_13-07-11.png


Я выбрал facebook.com. Теперь мы можем смешать наш адрес с адресом google.com(можете изменить на свой):

2018-11-08_13-07-21.png


Скрипт нам выдал ссылку. Вставим ее в адресную строку и посмотрим куда она нас приведет:

2018-11-08_13-07-38.png


Жмем "Enter":

2018-11-08_13-07-49.png


Открылся facebook.com.

Теперь давайте попробуем 2-ой метод, ссылка будет вести на github и миксовать мы не будем:

2018-11-08_13-08-27.png


Вставляем ссылку в адресную строку:

2018-11-08_13-08-44.png


Жмем "Enter":

2018-11-08_13-08-54.png


На этом все!)
Код:
#Добавил еще метод
from termcolor import *
import colorama
import socket
import math

colorama.init()

select = 0
res = 0
payload = 0
addr = 0
mixing = 0

def banner():
    s = """
      _____  ____    __  ____   ____  _____  ____   __    ___
     / ___/ /    |  /  ]|    \ |    ||     ||    | /  ]  /  _]
    (   \_ |  o  | /  / |  D  ) |  | |   __| |  | /  /  /  [_
     \__  ||     |/  /  |    /  |  | |  |_   |  |/  /  |    _]
     /  \ ||  _  /   \_ |    \  |  | |   _]  |  /   \_ |   [_
     \    ||  |  \     ||  .  \ |  | |  |    |  \     ||     |
      \___||__|__|\____||__|\_||____||__|   |____\____||_____|
                                                            
    """

    cprint(s,'green')
    cprint('                             Author: @Tayrus','red')

def selector():
    global select
    global payload
    global mixing
    print ('\n')
    cprint('Выберите тип обфускации:','green')
    print ('\n')
    cprint('[1] Hexadecimal','green')
    cprint('[2] Octal','green')
    cprint('[3] Decimal','green')
    select = input(': ')
    if not select == '1' and not select == '2' and not select == '3':
        cprint ('Ты выбрал неправильные значения!','red')
        exit()
    print ('\n')
    cprint('Введите адресс сайта:','green')
    payload = input(': ')
    print ('\n')
    cprint('Миксовать наш payload(1 или 0)?:','green')
    mixing = input(': ')

def check():
    global select
    if select == '1':
        Hexadecimal()
    if select == '2':
        Octal()
    if select == '3':
        Decimal()
    if mixing == '1':
        mix()

def getIp():
    global addr
    addr = socket.gethostbyname(payload)


def Hexadecimal():
    global res
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(hex, numbers))
    print('\n')
    if mixing == '0':
        cprint(res,'green')

def Octal():
    global res
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(oct, numbers))
    res = res.replace('o','')
    if mixing == '0':
        cprint(res,'green')

def Decimal():
    global res
    count = 0
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    for x in numbers:
        if count == 0:
            res = x * math.pow(16,6)
        if count == 1:
            res += x * math.pow(16,4)
        if count == 2:
            res += x * math.pow(16,2)
        if count == 3:
            res += x
        count += 1
    res = 'http://' + str(int(res))
    if mixing == '0':
        cprint(res,'green')


def mix():
    res3 = 'http://google.com@' + res[7:]
    cprint(res3,'green')

def main():
    banner()
    selector()
    getIp()
    check()

if __name__ == '__main__':
    main()

PS github и facebook были для примера, вместо них возможно должны быть ваши сайты или C2 и т.п
 
Последнее редактирование:
Может кто знает С# библу для такой же реализации?
 
если юзать payload хром нормально хавает ссылку

а панда уже предупреждает )

ffe0680956.jpg
 
Обновил скрипт!
Что нового?:
- Возможность работы с списком URL
- Добавление незначительных фишек

Код:
Код:
import socket
import math
import colorama
colorama.init(autoreset=True)


class Bcolors:
    GN = '\033[32m'
    R = '\033[91m'


select = 0
res = 0
buf = []
addrlist = []
payload = 0
addr = str(0)
mixing = 0
spisok = str(0)
path = str(0)


def banner():
    s = """
      _____  ____    __  ____   ____  _____  ____   __    ___
     / ___/ /    |  /  ]|    \ |    ||     ||    | /  ]  /  _]
    (   \_ |  o  | /  / |  D  ) |  | |   __| |  | /  /  /  [_
     \__  ||     |/  /  |    /  |  | |  |_   |  |/  /  |    _]
     /  \ ||  _  /   \_ |    \  |  | |   _]  |  /   \_ |   [_
     \    ||  |  \     ||  .  \ |  | |  |    |  \     ||     |
      \___||__|__|\____||__|\_||____||__|   |____\____||_____|
                                                              
    """

    print(Bcolors.GN + s)
    print(Bcolors.R + '                          Author: @Tayrus') # Также спасибо @explorer
    print(Bcolors.R + '                            Version 1.2')


def selector():
    global select
    global payload
    global mixing
    global spisok
    global path
    print('\n')
    print(Bcolors.GN + 'Выберите тип обфускации:')
    print('\n')
    print(Bcolors.GN + '[1] Hexadecimal')
    print(Bcolors.GN + '[2] Octal')
    print(Bcolors.GN + '[3] Decimal')
    select = input(': ')
    if not select == '1' and not select == '2' and not select == '3':
        print(Bcolors.R + 'Ты выбрал неправильные значения!')
        exit()
    print('\n')
    print(Bcolors.GN + 'Миксовать наш payload(1 или 0)?:')
    print('\n')
    mixing = input(': ')
    print('\n')
    print(Bcolors.GN + '[0]Список или один адрес[1]?:')
    print('\n')
    spisok = input(': ')
    if spisok == '0':
        print('\n')
        print(Bcolors.GN + 'Путь до .txt файла:')
        print('\n')
        path = input(': ')
    if spisok == '1':
        print('\n')
        print(Bcolors.GN + 'Введите адрес сайта:')
        payload = input(': ')


def check():
    global select
    if select == '1':
        Hexadecimal()
    if select == '2':
        Octal()
    if select == '3':
        Decimal()
    if mixing == '1':
        mix()

def listurl():
    global buf
    handle = open(path)
    for x in handle:
        buf.append(x)
    handle.close()
    buf = map(lambda buf: buf.strip(), buf)
    buf = list(buf)


def getIp():
    global addr
    addr = socket.gethostbyname(str(payload))

def getipforlist(ip):
    global addrlist
    temp = socket.gethostbyname(str(ip))
    temp = temp.split('.')
    addrlist += list(temp)





def Hexadecimal():
    global res
    if spisok == '0':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(hex, numbers))
                handle = open('result.txt','a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(hex, numbers))
                handle = open('result.txt','a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(hex, numbers))
    print('\n')
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def Octal():
    global res
    if spisok == '0':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(oct, numbers))
                wr = wr.replace('o', '')
                handle = open('result.txt','a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(oct, numbers)).replace('o', '')
                handle = open('result.txt','a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(oct, numbers))
    res = res.replace('o', '')
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def Decimal():
    global res
    count = 0
    cnt = 0
    if spisok == '0':
        handle = open('result.txt','a')
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                    #print(res8)
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            input()
        if mixing == '1':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://google.com@' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                    #print(res8)
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    for x in numbers:
        if cnt == 0:
            res = x * math.pow(16, 6)
        if cnt == 1:
            res += x * math.pow(16, 4)
        if cnt == 2:
            res += x * math.pow(16, 2)
        if cnt == 3:
            res += x
        cnt += 1
    res = 'http://' + str(int(res))
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def mix():
    res3 = 'http://google.com@' + res[7:]
    print(Bcolors.GN + res3)
    input()


def main():
    banner()
    selector()
    if spisok == '0':
        try:
            listurl()
        except FileNotFoundError:
            print('\n')
            print(Bcolors.R + "Файл не найден!")
            exit()
        for x in buf:
            getipforlist(x)
        check()
        input()
    try:
        getIp()
    except socket.gaierror:
        print('\n')
        print(Bcolors.R + "Ошибка получения IP адреса!")
        exit()
    check()


if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        exit()
 
Обновил скрипт!
Охохо... вся моя правка насмарку...

kosyak.png


Нельзя так программы делать. Если предупреждения это лишь несоответствие стандартам, то ошибки делать непростительно.
Хотел сначала всё исправить, но так я и буду тогда ходить по пятам исправлять что ли?

os.png


Чуть почистил, но ошибки сами исправьте

os2.png


Python:
import socket
import math
import colorama
colorama.init(autoreset=True)


class Bcolors:
    GN = '\033[32m'
    R = '\033[91m'


select = 0
res = 0
buf = []
addrlist = []
payload = 0
addr = str(0)
mixing = 0
spisok = str(0)
path = str(0)


def banner():
    s = """
      _____  ____    __  ____   ____  _____  ____   __    ___
     / ___/ /    |  /  ]|    \ |    ||     ||    | /  ]  /  _]
    (   \_ |  o  | /  / |  D  ) |  | |   __| |  | /  /  /  [_
     \__  ||     |/  /  |    /  |  | |  |_   |  |/  /  |    _]
     /  \ ||  _  /   \_ |    \  |  | |   _]  |  /   \_ |   [_
     \    ||  |  \     ||  .  \ |  | |  |    |  \     ||     |
      \___||__|__|\____||__|\_||____||__|   |____\____||_____|
                                                              
    """

    print(Bcolors.GN + s)
    print(Bcolors.R + '                          Author: @Tayrus')  # Также спасибо @explorer
    print(Bcolors.R + '                            Version 1.2')


def selector():
    global select
    global payload
    global mixing
    global spisok
    global path
    print('\n')
    print(Bcolors.GN + 'Выберите тип обфускации:')
    print('\n')
    print(Bcolors.GN + '[1] Hexadecimal')
    print(Bcolors.GN + '[2] Octal')
    print(Bcolors.GN + '[3] Decimal')
    select = input(': ')
    if not select == '1' and not select == '2' and not select == '3':
        print(Bcolors.R + 'Ты выбрал неправильные значения!')
        exit()
    print('\n')
    print(Bcolors.GN + 'Миксовать наш payload(1 или 0)?:')
    print('\n')
    mixing = input(': ')
    print('\n')
    print(Bcolors.GN + '[0]Список или один адрес[1]?:')
    print('\n')
    spisok = input(': ')
    if spisok == '0':
        print('\n')
        print(Bcolors.GN + 'Путь до .txt файла:')
        print('\n')
        path = input(': ')
    if spisok == '1':
        print('\n')
        print(Bcolors.GN + 'Введите адрес сайта:')
        payload = input(': ')


def check():
    global select
    if select == '1':
        hexadecimal()
    if select == '2':
        octal()
    if select == '3':
        decimal()
    if mixing == '1':
        mix()


def listurl():
    global buf
    handle = open(path)
    for x in handle:
        buf.append(x)
    handle.close()
    buf = map(lambda buf: buf.strip(), buf)
    buf = list(buf)


def getip():
    global addr
    addr = socket.gethostbyname(str(payload))


def getipforlist(ip):
    global addrlist
    temp = socket.gethostbyname(str(ip))
    temp = temp.split('.')
    addrlist += list(temp)


def hexadecimal():
    global res
    if spisok == '0':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(hex, numbers))
    print('\n')
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def octal():
    global res
    if spisok == '0':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(oct, numbers))
                wr = wr.replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(oct, numbers)).replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(oct, numbers))
    res = res.replace('o', '')
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def decimal():
    global res
    count = 0
    cnt = 0
    if spisok == '0':
        handle = open('result.txt', 'a')
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                    # print(res8)
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            input()
        if mixing == '1':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://google.com@' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                    # print(res8)
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    for x in numbers:
        if cnt == 0:
            res = x * math.pow(16, 6)
        if cnt == 1:
            res += x * math.pow(16, 4)
        if cnt == 2:
            res += x * math.pow(16, 2)
        if cnt == 3:
            res += x
        cnt += 1
    res = 'http://' + str(int(res))
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def mix():
    res3 = 'http://google.com@' + res[7:]
    print(Bcolors.GN + res3)
    input()


def main():
    banner()
    selector()
    if spisok == '0':
        try:
            listurl()
        except FileNotFoundError:
            print('\n')
            print(Bcolors.R + "Файл не найден!")
            exit()
        for x in buf:
            getipforlist(x)
        check()
        input()
    try:
        getip()
    except socket.gaierror:
        print('\n')
        print(Bcolors.R + "Ошибка получения IP адреса!")
        exit()
    check()


if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        exit()

Это поможет
 
Последнее редактирование:
  • Нравится
Реакции: Tihon49
Охохо... вся моя правка насмарку...

Посмотреть вложение 23572

Нельзя так программы делать. Если предупреждения это лишь несоответствие стандартам, то ошибки делать непростительно.
Хотел сначала всё исправить, но так я и буду тогда ходить по пятам исправлять что ли?

Посмотреть вложение 23573

Чуть почистил, но ошибки сами исправьте

Посмотреть вложение 23574

Python:
import socket
import math
import colorama
colorama.init(autoreset=True)


class Bcolors:
    GN = '\033[32m'
    R = '\033[91m'


select = 0
res = 0
buf = []
addrlist = []
payload = 0
addr = str(0)
mixing = 0
spisok = str(0)
path = str(0)


def banner():
    s = """
      _____  ____    __  ____   ____  _____  ____   __    ___
     / ___/ /    |  /  ]|    \ |    ||     ||    | /  ]  /  _]
    (   \_ |  o  | /  / |  D  ) |  | |   __| |  | /  /  /  [_
     \__  ||     |/  /  |    /  |  | |  |_   |  |/  /  |    _]
     /  \ ||  _  /   \_ |    \  |  | |   _]  |  /   \_ |   [_
     \    ||  |  \     ||  .  \ |  | |  |    |  \     ||     |
      \___||__|__|\____||__|\_||____||__|   |____\____||_____|
                                                             
    """

    print(Bcolors.GN + s)
    print(Bcolors.R + '                          Author: @Tayrus')  # Также спасибо @explorer
    print(Bcolors.R + '                            Version 1.2')


def selector():
    global select
    global payload
    global mixing
    global spisok
    global path
    print('\n')
    print(Bcolors.GN + 'Выберите тип обфускации:')
    print('\n')
    print(Bcolors.GN + '[1] Hexadecimal')
    print(Bcolors.GN + '[2] Octal')
    print(Bcolors.GN + '[3] Decimal')
    select = input(': ')
    if not select == '1' and not select == '2' and not select == '3':
        print(Bcolors.R + 'Ты выбрал неправильные значения!')
        exit()
    print('\n')
    print(Bcolors.GN + 'Миксовать наш payload(1 или 0)?:')
    print('\n')
    mixing = input(': ')
    print('\n')
    print(Bcolors.GN + '[0]Список или один адрес[1]?:')
    print('\n')
    spisok = input(': ')
    if spisok == '0':
        print('\n')
        print(Bcolors.GN + 'Путь до .txt файла:')
        print('\n')
        path = input(': ')
    if spisok == '1':
        print('\n')
        print(Bcolors.GN + 'Введите адрес сайта:')
        payload = input(': ')


def check():
    global select
    if select == '1':
        hexadecimal()
    if select == '2':
        octal()
    if select == '3':
        decimal()
    if mixing == '1':
        mix()


def listurl():
    global buf
    handle = open(path)
    for x in handle:
        buf.append(x)
    handle.close()
    buf = map(lambda buf: buf.strip(), buf)
    buf = list(buf)


def getip():
    global addr
    addr = socket.gethostbyname(str(payload))


def getipforlist(ip):
    global addrlist
    temp = socket.gethostbyname(str(ip))
    temp = temp.split('.')
    addrlist += list(temp)


def hexadecimal():
    global res
    if spisok == '0':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(hex, numbers))
    print('\n')
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def octal():
    global res
    if spisok == '0':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(oct, numbers))
                wr = wr.replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(oct, numbers)).replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(oct, numbers))
    res = res.replace('o', '')
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def decimal():
    global res
    count = 0
    cnt = 0
    if spisok == '0':
        handle = open('result.txt', 'a')
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                    # print(res8)
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            input()
        if mixing == '1':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://google.com@' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                    # print(res8)
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            input()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    for x in numbers:
        if cnt == 0:
            res = x * math.pow(16, 6)
        if cnt == 1:
            res += x * math.pow(16, 4)
        if cnt == 2:
            res += x * math.pow(16, 2)
        if cnt == 3:
            res += x
        cnt += 1
    res = 'http://' + str(int(res))
    if mixing == '0':
        print(Bcolors.GN + res)
        input()


def mix():
    res3 = 'http://google.com@' + res[7:]
    print(Bcolors.GN + res3)
    input()


def main():
    banner()
    selector()
    if spisok == '0':
        try:
            listurl()
        except FileNotFoundError:
            print('\n')
            print(Bcolors.R + "Файл не найден!")
            exit()
        for x in buf:
            getipforlist(x)
        check()
        input()
    try:
        getip()
    except socket.gaierror:
        print('\n')
        print(Bcolors.R + "Ошибка получения IP адреса!")
        exit()
    check()


if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        exit()

Это поможет
Давайте проясним, если ошибка в коде есть, то тогда скрипт не будет работать. Тогда где здесь ошибки?
Я пишу в sublime text, поэтому такой штуки как у вас нету))
 
  • Нравится
Реакции: Tihon49
Давайте проясним, если ошибка в коде есть, то тогда скрипт не будет работать. Тогда где здесь ошибки?
Я пишу в sublime text, поэтому такой штуки как у вас нету))
Код может и с ошибками работать, зависит от типа ошибки. Ошибка следующая - нужно ссылаться на локальную переменную "handle" перед присвоением
 
Код может и с ошибками работать, зависит от типа ошибки. Ошибка следующая - нужно ссылаться на локальную переменную "handle" перед присвоением
Как эта ошибка может вызвать некорректную работу скрипта?
 
  • Нравится
Реакции: Tihon49
Скрипт работает, но в вашем коде кроме этого, и мусора много, например дублирование глобальных переменных, или это

os.png


all_numbers в одной функции работает, а во второй это просто лишняя нерабочая строка и т.д. В общем я рекомендую работать в любом редакторе с дебаггером и не будет таких ньюансов.
 
Скрипт работает, но в вашем коде кроме этого, и мусора много, например дублирование глобальных переменных, или это

Посмотреть вложение 23575

all_numbers в одной функции работает, а во второй это просто лишняя нерабочая строка и т.д. В общем я рекомендую работать в любом редакторе с дебаггером и не будет таких ньюансов.
Окей, учту)
Обычно я пишу по такому сюжету: работает значит норма)))
 
  • Нравится
Реакции: recrut, Tihon49 и Bypass
Добрый день. Для чего может понадобиться данный обфускатор?
 
Добрый день. Для чего может понадобиться данный обфускатор?
Для отправки жертве ссылки на фишинговый сайт. Правда ссылки из цифр весьма подозрительные, скрипт требует доработки.

Проще такую ссылку замаскировать с помощью сервисов коротких ссылок, люди к ним уже привыкли. Но идея хорошая, и может быть доведена до ума.
 
  • Нравится
Реакции: Tihon49
Обновил скрипт!
если возможно добавить чтобы скрипт принимал аргументы
например:
Bash:
script.py -o Hexadecimal -mix 0 -list url.txt

Для отправки жертве ссылки на фишинговый сайт.
еще для уникализации ссылок это нужно и других очень грамотных идей.

Окей, учту)
Обычно я пишу по такому сюжету: работает значит норма)))
скрипт огонь, аналогов не находил, если нужно массово обфусцировать ссылки и знаешь для чего его можно использовать, то это находка.
 
Последнее редактирование:
  • Нравится
Реакции: Tihon49 и Tayrus
Обновил скрипт!
Что нового?: Убран интерактивный режим, взамен ему пришли аргументы. Добавлен новый метод.
Код:
Код:
# -*- coding: utf-8 -*-
import socket
import math
import colorama
import argparse
import requests
colorama.init(autoreset=True)


class Bcolors:
    GN = '\033[32m'
    R = '\033[91m'



res = 0
buf = []
addrlist = []
parser = argparse.ArgumentParser(description='Доступные методы: hex,oct,dec,short')
parser.add_argument('-m', help = 'Метод обфускации')
parser.add_argument('-mix', help = 'Миксовать?')
parser.add_argument('-type', help = 'Один адрес или список?')
parser.add_argument('-path', help = 'Путь к файлу')
parser.add_argument('-target', help = 'Адрес')
args = parser.parse_args()
select = args.m
mixing = args.mix
spisok = args.type
payload = args.target
path = str(args.path)

def banner():
    s = """
      _____  ____    __  ____   ____  _____  ____   __    ___
     / ___/ /    |  /  ]|    \ |    ||     ||    | /  ]  /  _]
    (   \_ |  o  | /  / |  D  ) |  | |   __| |  | /  /  /  [_
     \__  ||     |/  /  |    /  |  | |  |_   |  |/  /  |    _]
     /  \ ||  _  /   \_ |    \  |  | |   _]  |  /   \_ |   [_
     \    ||  |  \     ||  .  \ |  | |  |    |  \     ||     |
      \___||__|__|\____||__|\_||____||__|   |____\____||_____|
                                                           
    """

    print(Bcolors.GN + s)
    print(Bcolors.R + '                          Author: @Tayrus')  # Также спасибо @explorer
    print(Bcolors.R + '                            Version 1.4')


def check():
    global select
    if select == 'hex':
        Hexadecimal()
    if select == 'oct':
        Octal()
    if select == 'dec':
        Decimal()
    if select == 'short':
        shorturl()
    if mixing == '1':
        if select != 'short':
            mix()


def listurl():
    global buf
    handle = open(path)
    for x in handle:
        buf.append(x)
    handle.close()
    buf = map(lambda buf: buf.strip(), buf)
    buf = list(buf)


def getIp():
    if select != 'short':
        global addr
        addr = socket.gethostbyname(str(payload))


def getipforlist(ip):
    if select != 'short':
        global addrlist
        temp = socket.gethostbyname(str(ip))
        temp = temp.split('.')
        addrlist += list(temp)

def shorturl():
    global addrlist
    if spisok == 'list':
        handle = open('result.txt','a')
        for x in buf:
            r = requests.get('http://short.pub/?fmt=json&url=' + x)
            sss = eval(r.text)
            gg = sss['response']['short']
            gg = gg.replace('\/\/','//')
            gg = gg.replace('\/','/')
            if mixing == '1':
                handle.write('http://google.com@' + gg[7:])
                handle.write('\n')
            if mixing == '0':
                handle.write(gg)
                handle.write('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    r = requests.get('http://short.pub/?fmt=json&url=' + payload)
    sss = eval(r.text)
    gg = sss['response']['short']
    gg = gg.replace('\/\/','//')
    gg = gg.replace('\/','/')
    if mixing == '0':
        print (Bcolors.GN + gg)
    if mixing == '1':
        print (Bcolors.GN + 'http://google.com@'+ gg[7:])


def Hexadecimal():
    global res
    if spisok == 'list':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(hex, numbers))
    print('\n')
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def Octal():
    global res
    if spisok == 'list':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(oct, numbers))
                wr = wr.replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(oct, numbers)).replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(oct, numbers))
    res = res.replace('o', '')
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def Decimal():
    global res
    count = 0
    cnt = 0
    if spisok == 'list':
        handle = open('result.txt', 'a')
        numbers = [int(c) for c in addrlist]
        if mixing == '0':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            exit()
        if mixing == '1':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://google.com@' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    for x in numbers:
        if cnt == 0:
            res = x * math.pow(16, 6)
        if cnt == 1:
            res += x * math.pow(16, 4)
        if cnt == 2:
            res += x * math.pow(16, 2)
        if cnt == 3:
            res += x
        cnt += 1
    res = 'http://' + str(int(res))
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def mix():
    res3 = 'http://google.com@' + res[7:]
    print(Bcolors.GN + res3)
    exit()


def main():
    banner()
    if spisok == 'list':
        try:
            listurl()
        except FileNotFoundError:
            print('\n')
            print(Bcolors.R + "Файл не найден!")
            exit()
        for x in buf:
            getipforlist(x)
        check()
        exit()
    try:
        getIp()
    except socket.gaierror:
        print('\n')
        print(Bcolors.R + "Ошибка получения IP адреса!")
        exit()
    check()


if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        exit()

Небольшие пояснения:
m - метод обфускации(доступные методы: hex,oct,dec).
mix - миксовать ли нашу нагрузку? (1 -да, 0 - нет).
type - если вы хотите загрузить список адресов ставим этот параметр с значением "list", если один адрес параметр не ставим.
path - если вы выбрали "list" то пишем путь к файлу, если один адрес не ставим параметр.
target - если вы выбрали один адрес пишем цель, если вы выбрали "list" не указываем.
Для метода short ссылка должна иметь такой вид: https://github.com, иначе работать не будет.
Для всех остальных методов ссылка должна иметь такой вид: github.com
 
Последнее редактирование:
  • Нравится
Реакции: Tihon49, Глюк и Bypass
Обновил скрипт!
Что нового?: Убран интерактивный режим, взамен ему пришли аргументы. Добавлен новый метод.
Код:
Код:
# -*- coding: utf-8 -*-
import socket
import math
import colorama
import argparse
import requests
colorama.init(autoreset=True)


class Bcolors:
    GN = '\033[32m'
    R = '\033[91m'



res = 0
buf = []
addrlist = []
parser = argparse.ArgumentParser(description='Доступные методы: hex,oct,dec,short')
parser.add_argument('-m', help = 'Метод обфускации')
parser.add_argument('-mix', help = 'Миксовать?')
parser.add_argument('-type', help = 'Один адрес или список?')
parser.add_argument('-path', help = 'Путь к файлу')
parser.add_argument('-target', help = 'Адрес')
args = parser.parse_args()
select = args.m
mixing = args.mix
spisok = args.type
payload = args.target
path = str(args.path)

def banner():
    s = """
      _____  ____    __  ____   ____  _____  ____   __    ___
     / ___/ /    |  /  ]|    \ |    ||     ||    | /  ]  /  _]
    (   \_ |  o  | /  / |  D  ) |  | |   __| |  | /  /  /  [_
     \__  ||     |/  /  |    /  |  | |  |_   |  |/  /  |    _]
     /  \ ||  _  /   \_ |    \  |  | |   _]  |  /   \_ |   [_
     \    ||  |  \     ||  .  \ |  | |  |    |  \     ||     |
      \___||__|__|\____||__|\_||____||__|   |____\____||_____|
                                                  
    """

    print(Bcolors.GN + s)
    print(Bcolors.R + '                          Author: @Tayrus')  # Также спасибо @explorer
    print(Bcolors.R + '                            Version 1.4')


def check():
    global select
    if select == 'hex':
        Hexadecimal()
    if select == 'oct':
        Octal()
    if select == 'dec':
        Decimal()
    if select == 'short':
        shorturl()
    if mixing == '1':
        if select != 'short':
            mix()


def listurl():
    global buf
    handle = open(path)
    for x in handle:
        buf.append(x)
    handle.close()
    buf = map(lambda buf: buf.strip(), buf)
    buf = list(buf)


def getIp():
    if select != 'short':
        global addr
        addr = socket.gethostbyname(str(payload))


def getipforlist(ip):
    if select != 'short':
        global addrlist
        temp = socket.gethostbyname(str(ip))
        temp = temp.split('.')
        addrlist += list(temp)

def shorturl():
    global addrlist
    if spisok == 'list':
        handle = open('result.txt','a')
        for x in buf:
            r = requests.get('http://short.pub/?fmt=json&url=' + x)
            sss = eval(r.text)
            gg = sss['response']['short']
            gg = gg.replace('\/\/','//')
            gg = gg.replace('\/','/')
            if mixing == '1':
                handle.write('http://google.com@' + gg[7:])
                handle.write('\n')
            if mixing == '0':
                handle.write(gg)
                handle.write('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    r = requests.get('http://short.pub/?fmt=json&url=' + payload)
    sss = eval(r.text)
    gg = sss['response']['short']
    gg = gg.replace('\/\/','//')
    gg = gg.replace('\/','/')
    if mixing == '0':
        print (Bcolors.GN + gg)
    if mixing == '1':
        print (Bcolors.GN + 'http://google.com@'+ gg[7:])


def Hexadecimal():
    global res
    if spisok == 'list':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(hex, numbers))
    print('\n')
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def Octal():
    global res
    if spisok == 'list':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(oct, numbers))
                wr = wr.replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(oct, numbers)).replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(oct, numbers))
    res = res.replace('o', '')
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def Decimal():
    global res
    count = 0
    cnt = 0
    if spisok == 'list':
        handle = open('result.txt', 'a')
        numbers = [int(c) for c in addrlist]
        if mixing == '0':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            exit()
        if mixing == '1':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://google.com@' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    for x in numbers:
        if cnt == 0:
            res = x * math.pow(16, 6)
        if cnt == 1:
            res += x * math.pow(16, 4)
        if cnt == 2:
            res += x * math.pow(16, 2)
        if cnt == 3:
            res += x
        cnt += 1
    res = 'http://' + str(int(res))
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def mix():
    res3 = 'http://google.com@' + res[7:]
    print(Bcolors.GN + res3)
    exit()


def main():
    banner()
    if spisok == 'list':
        try:
            listurl()
        except FileNotFoundError:
            print('\n')
            print(Bcolors.R + "Файл не найден!")
            exit()
        for x in buf:
            getipforlist(x)
        check()
        exit()
    try:
        getIp()
    except socket.gaierror:
        print('\n')
        print(Bcolors.R + "Ошибка получения IP адреса!")
        exit()
    check()


if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        exit()

Небольшие пояснения:
m - метод обфускации(доступные методы: hex,oct,dec).
mix - миксовать ли нашу нагрузку? (1 -да, 0 - нет).
type - если вы хотите загрузить список адресов ставим этот параметр с значением "list", если один адрес параметр не ставим.
path - если вы выбрали "list" то пишем путь к файлу, если один адрес не ставим параметр.
target - если вы выбрали один адрес пишем цель, если вы выбрали "list" не указываем.
Для метода short ссылка должна иметь такой вид: https://github.com, иначе работать не будет.
Для всех остальных методов ссылка должна иметь такой вид: github.com
шустро ты однако, молодец !

еще такое предложение допустим в ссылке есть путь site.com/forum/xak пусть скрипт будет уметь принимает такие адреса
обфусцирует ип и выдает уже на выходе полный урл
не очень конечно важно, можно в блокноте поправить, но в тоже время удобно.
 
Последнее редактирование:
  • Нравится
Реакции: Tayrus
Обновил скрипт!
Что нового?: Убран интерактивный режим, взамен ему пришли аргументы. Добавлен новый метод.
Код:
Код:
# -*- coding: utf-8 -*-
import socket
import math
import colorama
import argparse
import requests
colorama.init(autoreset=True)


class Bcolors:
    GN = '\033[32m'
    R = '\033[91m'



res = 0
buf = []
addrlist = []
parser = argparse.ArgumentParser(description='Доступные методы: hex,oct,dec,short')
parser.add_argument('-m', help = 'Метод обфускации')
parser.add_argument('-mix', help = 'Миксовать?')
parser.add_argument('-type', help = 'Один адрес или список?')
parser.add_argument('-path', help = 'Путь к файлу')
parser.add_argument('-target', help = 'Адрес')
args = parser.parse_args()
select = args.m
mixing = args.mix
spisok = args.type
payload = args.target
path = str(args.path)

def banner():
    s = """
      _____  ____    __  ____   ____  _____  ____   __    ___
     / ___/ /    |  /  ]|    \ |    ||     ||    | /  ]  /  _]
    (   \_ |  o  | /  / |  D  ) |  | |   __| |  | /  /  /  [_
     \__  ||     |/  /  |    /  |  | |  |_   |  |/  /  |    _]
     /  \ ||  _  /   \_ |    \  |  | |   _]  |  /   \_ |   [_
     \    ||  |  \     ||  .  \ |  | |  |    |  \     ||     |
      \___||__|__|\____||__|\_||____||__|   |____\____||_____|
                                                          
    """

    print(Bcolors.GN + s)
    print(Bcolors.R + '                          Author: @Tayrus')  # Также спасибо @explorer
    print(Bcolors.R + '                            Version 1.4')


def check():
    global select
    if select == 'hex':
        Hexadecimal()
    if select == 'oct':
        Octal()
    if select == 'dec':
        Decimal()
    if select == 'short':
        shorturl()
    if mixing == '1':
        if select != 'short':
            mix()


def listurl():
    global buf
    handle = open(path)
    for x in handle:
        buf.append(x)
    handle.close()
    buf = map(lambda buf: buf.strip(), buf)
    buf = list(buf)


def getIp():
    if select != 'short':
        global addr
        addr = socket.gethostbyname(str(payload))


def getipforlist(ip):
    if select != 'short':
        global addrlist
        temp = socket.gethostbyname(str(ip))
        temp = temp.split('.')
        addrlist += list(temp)

def shorturl():
    global addrlist
    if spisok == 'list':
        handle = open('result.txt','a')
        for x in buf:
            r = requests.get('http://short.pub/?fmt=json&url=' + x)
            sss = eval(r.text)
            gg = sss['response']['short']
            gg = gg.replace('\/\/','//')
            gg = gg.replace('\/','/')
            if mixing == '1':
                handle.write('http://google.com@' + gg[7:])
                handle.write('\n')
            if mixing == '0':
                handle.write(gg)
                handle.write('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    r = requests.get('http://short.pub/?fmt=json&url=' + payload)
    sss = eval(r.text)
    gg = sss['response']['short']
    gg = gg.replace('\/\/','//')
    gg = gg.replace('\/','/')
    if mixing == '0':
        print (Bcolors.GN + gg)
    if mixing == '1':
        print (Bcolors.GN + 'http://google.com@'+ gg[7:])


def Hexadecimal():
    global res
    if spisok == 'list':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(hex, numbers))
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(hex, numbers))
    print('\n')
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def Octal():
    global res
    if spisok == 'list':
        numbers = [int(c) for c in addrlist]
        all_numbers = numbers
        if mixing == '0':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://' + '.'.join(map(oct, numbers))
                wr = wr.replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        if mixing == '1':
            for i in range(0, len(all_numbers), 4):
                numbers = all_numbers[i: i + 4]
                wr = 'http://google.com@' + '.'.join(map(oct, numbers)).replace('o', '')
                handle = open('result.txt', 'a')
                handle.write(wr)
                handle.write('\n')
        print('\n')
        print(Bcolors.GN + 'Результаты сохранены в result.txt')
        handle.close()
        exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(oct, numbers))
    res = res.replace('o', '')
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def Decimal():
    global res
    count = 0
    cnt = 0
    if spisok == 'list':
        handle = open('result.txt', 'a')
        numbers = [int(c) for c in addrlist]
        if mixing == '0':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            exit()
        if mixing == '1':
            for x in numbers:
                if count == 0:
                    res = 0
                    res = x * math.pow(16, 6)
                if count == 1:
                    res += x * math.pow(16, 4)
                if count == 2:
                    res += x * math.pow(16, 2)
                if count == 3:
                    res += x
                    res8 = 'http://google.com@' + str(int(res))
                    handle.write(res8)
                    handle.write('\n')
                count += 1
                if count == 4:
                    count = 0
            print('\n')
            print(Bcolors.GN + 'Результаты сохранены в result.txt')
            exit()
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    for x in numbers:
        if cnt == 0:
            res = x * math.pow(16, 6)
        if cnt == 1:
            res += x * math.pow(16, 4)
        if cnt == 2:
            res += x * math.pow(16, 2)
        if cnt == 3:
            res += x
        cnt += 1
    res = 'http://' + str(int(res))
    if mixing == '0':
        print(Bcolors.GN + res)
        exit()


def mix():
    res3 = 'http://google.com@' + res[7:]
    print(Bcolors.GN + res3)
    exit()


def main():
    banner()
    if spisok == 'list':
        try:
            listurl()
        except FileNotFoundError:
            print('\n')
            print(Bcolors.R + "Файл не найден!")
            exit()
        for x in buf:
            getipforlist(x)
        check()
        exit()
    try:
        getIp()
    except socket.gaierror:
        print('\n')
        print(Bcolors.R + "Ошибка получения IP адреса!")
        exit()
    check()


if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        exit()

Небольшие пояснения:
m - метод обфускации(доступные методы: hex,oct,dec).
mix - миксовать ли нашу нагрузку? (1 -да, 0 - нет).
type - если вы хотите загрузить список адресов ставим этот параметр с значением "list", если один адрес параметр не ставим.
path - если вы выбрали "list" то пишем путь к файлу, если один адрес не ставим параметр.
target - если вы выбрали один адрес пишем цель, если вы выбрали "list" не указываем.
Для метода short ссылка должна иметь такой вид: https://github.com, иначе работать не будет.
Для всех остальных методов ссылка должна иметь такой вид: github.com

Вот это из-за чего вылетает?
_____ ____ __ ____ ____ _____ ____ __ ___
/ ___/ / | / ]| \ | || || | / ] / _]
( \_ | o | / / | D ) | | | __| | | / / / [_
\__ || |/ / | / | | | |_ | |/ / | _]
/ \ || _ / \_ | \ | | | _] | / \_ | [_
\ || | \ || . \ | | | | | \ || |
\___||__|__|\____||__|\_||____||__| |____\____||_____|


Author: @Tayrus
Version 1.4


Ошибка получения IP адреса!
 
Вот это из-за чего вылетает?
_____ ____ __ ____ ____ _____ ____ __ ___
/ ___/ / | / ]| \ | || || | / ] / _]
( \_ | o | / / | D ) | | | __| | | / / / [_
\__ || |/ / | / | | | |_ | |/ / | _]
/ \ || _ / \_ | \ | | | _] | / \_ | [_
\ || | \ || . \ | | | | | \ || |
\___||__|__|\____||__|\_||____||__| |____\____||_____|


Author: @Tayrus
Version 1.4


Ошибка получения IP адреса!
Вы с какими параметрами запустили? И какой URL скормили скрипту?
 
Вы с какими параметрами запустили? И какой URL скормили скрипту?
Это я запустил не с Гита файл, а скопировал код из #33 поста. Урл не помню точно, что-то типа github.com, codeby.net пробовал. Но, по сути, уже не нужно. Код с Гита заработал как надо. Спасибо! :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!