Ir para conteúdo
Facebook Whatsapp Twitter Youtube

Os Melhores

Conteúdo popular

Mostrando conteúdo com a maior reputação em 12/29/24 em Posts

  1. AUIEditor2.1 Como usar: Locale Emulator: Abra o programa "Locale Emulator" executando o arquivo chamado LEGUI.exe. Altere a localização para Chinês Simplificado. Não se esqueça de salvar as configurações depois de fazer a mudança. Utilize um extractor de PCK para extrair os arquivos do tipo "interface.pck , surface.pck ,config.pck , Coloque os arquivos extraídos nas pastas correspondentes. "configs.pck".= "configs" . Agora, abra o AUIEditor2. Basta clicar com o botão direito do mouse no arquivo executável e selecionar a opção Locale Emulator selecionar a opção para abrir. O meu Chinês Simplificado. esta em (wwww) Animações GFX (Opcional gfx.pck , shaders.pck" para carregar as animações . Coloque os arquivos extraídos nas pastas correspondentes. "gfx.pck".= "gfx". Locale.Emulator.zipAUIEditor (interfaces).rar configs.rar Atalho para AUIEditor2 bat para AUIEditor2+Locale.Emulator .cmd >>1.00<< 2024-03-23 23-01-52.mp4
    3 pontos
  2. sTASKedit em PT BR .rarpuder ajudar com os erros de traduções basta colocar o texto errado = o texto certo ou parecido localization.rar sTASKedit em PT BR .rar
    2 pontos
  3. Editor fácil de usar. Como começar com a interface: 1) Extrair os arquivos e interfaces.pck surfaces.pck 2) Definir no editor onde o diretório raiz dos arquivos descompactados 3) Editar elementos da interface UIEdit (pdev).rar
    2 pontos
  4. Abre arquivos .pck até a versão 1.5.5 Créditos : by Jolan PCK_Module_BY_BETO.rar
    2 pontos
  5. Extrator de PCK foi postado na ragezone por Luka o criador da ferramenta é Jolan que deu consentimento, muito boa essa ferramenta já usei bastante. PCK Module.rar
    2 pontos
  6. Bom galera, estou compartilhando os files que nosso querido @miguelzera disponibilizou um tempo atrás. Arquivo 1 – script de instalação CentOS7 Arquivo 2 – PWServer, Cliente [email protected], libs e SQL Arquivo 3 – Tutorial CPW Arquivo 4 – Tutorial iptables Vídeo instalando pacotes centOS7 Créditos @miguelzera Assim que tiver tempo posto um vídeo. Imagem do vbox pronta, só importar para seu vbox. Acesso ao phpmyadmin – [Conteúdo Oculto] Senhas 123456789 Contem registro básico [Conteúdo Oculto] Download ova Download Cliente
    1 ponto
  7. Bom, como devem saber, esses arquivos ai já vazaram tem um bom tempo e até hoje eu vejo gente querendo tirar vantagem e cobrar por esses arquivos ou para alterar algo neles. Tudo que você vai precisar substituir dos arquivos da Server Side: GS e GLINKD. Tudo que você vai precisar substituir dos arquivos do Client Side: elementclient.exe e adicionar o arquivo 155.dll na pasta element. Detalhes importantes ! Para funcionamento dos atalhos no inventário é necessário que você puxe os ícones e chame as funções na sua interfaces.pck ou se preferir pode usar uma interfaces que já tenha isso, todas são a mesma coisa só tem alterações visuais em algumas. Para funcionamento da lojinha OFF, é necessário adicionar o botão também na interfaces.pck com a função e um item no inventário com o ID: 65532. Possui mais algumas funções também como: Ganhar chi ao meditar, reset de DG pelo botão, nick colorido entre outros ai, faz tempo que não uso esses arquivos então não me recordo bem de todas as funções que tem. No mais é isso, caso tenha alguma dúvida ou eu tenha esquecido de algo, me corrige ai ou me chama ai no pv ou no discord: ScroL#6530 FILES 155 COM ATALHOS E MAIS.rar
    1 ponto
  8. créditos por disponibilidade > @Suki Visual loja de moda Créditos @Thadeux gshop visual modificado.7z
    1 ponto
  9. Olá a todos. Esse Editor de Gshop versões de arquivo .data 1.3.6-1.4.2, 1.4.2 V27, 1.4.2-1.4.3, 1.4.4-1.5.1, 1.5.2-1.5.3 GShop Editor By Luka.rar
    1 ponto
  10. Salve, hoje venho compartilhar este projeto feito em nodejs com os entusiastas da programação O projeto ainda estava no começo, mas a base e muitas funções já estão pronta, tais como; Login Cadastro (com ou sem confirmação no e-mail) Recuperar conta Reenviar e-mail de ativação Template dos e-mails Dashboard cru Página de doação (parei aqui) Para rodar o painel é bastante simples; Instale o node NodeJS >=20.00 - [Conteúdo Oculto] Crie um banco de dados e importe o config/tables.sql para o mesmo Configure o config/settings.js com as informações dos bancos de dados, url do cors, porta do aplicação, hash etc Pronto agora é só instalar as dependências e iniciar a aplicação npm install npm start Se você fez tudo certo você deve ver uma mensagem de sucesso no terminal informando que a aplicação foi iniciado na porta definida Download: node-js.zip
    1 ponto
  11. Dear All Brazilian Friends, I share this perfect world panel, actually this panel base from @tomirons code. Download Link: [Conteúdo Oculto] NOTE: Still have bugs, try to fix by yourself Demo: [Conteúdo Oculto]
    1 ponto
  12. Olá bom dia a todos, Eu pedi autorização ao Segment para trazer essa ferramenta pra vocês, principalmente para quem está utilizando a versão 1.5.5 que foi construída por ele. Recomendado para quem tem o mínimo possível de conhecimento com programação, pois, qualquer alteração indevida, ela pode não funcionar mais, então, antes de qualquer alteração salve sempre um backup da ultima versão funcional. E principalmente utilize para gerar ainda mais conhecimento, pois esse é o intuito do fórum. Eu não tenho créditos nenhum por essa ferramenta, pois quando foi construída eu não conhecia o Segment ainda. Todos os créditos são absolutamente para ele, inclusive por deixar compartilhar isso com vocês. Tlgram: @segment32 (Ele aluga a versão 1.6.2, se quiser uma versão mais atual) Eu tenho muita coisa ainda, mas vamos com calma =) Com essa ferramenta e muita vontade, você consegue melhorar e muito seu servidor de Perfect World. Então, façam bom uso da ferramenta. Talvez em breve eu traga o código de algumas deamons para ampliar ainda mais. Só queria pedir para que não compartilhassem essa ferramenta fora do fórum suportegm, pois foi autorizado a trazer pra vocês no Brasil, pra que eu possa continuar trazendo conteúdos (não só dele, mas meu também,). Façam bom uso: 155dl source.rar
    1 ponto
  13. Estou deixando todos os instaladores num unico link, é só escolher qual você precisa e baixar. Conforme eu encontrar mais instaladores eu adiciono na pasta. Todos os clients tem um print da tela inicial, em alguns deles tem o nome da expansão. ADM por favor fechar meus tópicos dos outros instaladores eu agradeço. Diferenças: Client aberto = você não tem como saber se tem arquivos editados. Instalador = client original [Conteúdo Oculto] Se alguém tiver algum instalador que não esteja listado, por favor me envie no privado que eu espelho ele aqui.
    1 ponto
  14. Download: [Conteúdo Oculto] Para abrir o jogo sem precisar do launcher: elementclient.zip Post original (ragezone) Vídeo meu falando sobre:
    1 ponto
  15. Todo código-fonte do lado servidor até versão 1.5.3. Exige determinados conhecimentos e experiências para compilar arquivos. Sistema operacional original que o wanmei usou para compilar Red Hat 4.1. Link: [Conteúdo Oculto] Créditos : Blog PW_DEV
    1 ponto
  16. script instalar firewall ufw também vendo um mais avançado entra contato comigo discord master9028 ufw.sh
    1 ponto
  17. Arena Guan Yu 3v3 para 1.5.5+ Valor :R$300 Mapa ou Sala Adicional R$100 Contato: [Conteúdo Oculto]
    1 ponto
  18. Essa ferramenta foi compilada por mim. Faz parte do kit de ferramentas que estou trabalhando para criação e edição de .ecm, gfx e skillgfx, faceEditor... Esse programa é parte das ferramentas usada para criação de modelos dos jogos Angelica. Ela tem multiplas funcionalidades: Model viewer Animação viewer Conversão de Bones Alteção do .ski do .smd(sabe aqueles .ski com que tem na pasta do .ecm que não são usado, você pode trocar a atual por aquelas) Você pode adiocionar novas animações e coisas do tipos desde que tenha a mesma quantidade de ossos. SkeletonEditor_Beta.7z
    1 ponto
  19. Funciona com arquivos maiores que 2 GB?
    1 ponto
  20. #!/bin/bash # Define as variaveis de cores RED='\e[91m' GREEN='\e[92m' YELLOW='\e[93m' RESET='\e[0m' # Atualiza o sistema echo -e "${YELLOW}Atualizando o sistema...${RESET}" sudo apt-get update -y >/dev/null 2>&1 echo -e "${GREEN}Sistema atualizado.${RESET}" # Verifica se o sistema está executando Ubuntu 20.04 if [ "$(lsb_release -rs)" != "20.04" ]; then echo -e "${RED}Este script so pode ser executado no Ubuntu 20.04.${RESET}" exit 1 fi # Função para verificar se um pacote está instalado package_installed() { dpkg -s "$1" >/dev/null 2>&1 && return 0 || return 1 } # Função para instalar um pacote install_package() { if dpkg --print-architecture | grep -q "i386"; then PACKAGE="$1:i386" else PACKAGE="$1" fi if package_installed "$PACKAGE"; then echo -e "${GREEN}O pacote $PACKAGE ja esta instalado.${RESET}" else echo -e "${YELLOW}Instalando o pacote $PACKAGE...${RESET}" if sudo apt-get install -y "$PACKAGE" >/dev/null 2>&1; then echo -e "${GREEN}O pacote $PACKAGE foi instalado com sucesso.${RESET}" else echo -e "${RED}Falha ao instalar o pacote $PACKAGE.${RESET}" exit 1 fi fi } # Função para configurar mariadb e criar um novo usuario configure_mariadb() { echo -e "${YELLOW}Configurando MariaDB...${RESET}" # Gera uma senha aleatoria PASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '') # Executa comandos SQL sudo mysql -u root <<-EOF >/dev/null 2>&1 CREATE USER 'admin'@'%' IDENTIFIED BY '$PASSWORD'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'; FLUSH PRIVILEGES; EOF echo -e "${GREEN}Usuario 'admin' criado.${RESET}" # Salva o usuario e senha em um arquivo na pasta raiz do linux echo "Usuario: admin" | sudo tee /root/mariadb_admin_credentials.txt >/dev/null 2>&1 echo "Senha: $PASSWORD" | sudo tee -a /root/mariadb_admin_credentials.txt >/dev/null 2>&1 echo -e "${GREEN}O usuario e a senha foram salvos em /root/mariadb_admin_credentials.txt.${RESET}" # Configura mariadb para permitir conexoes remotas echo "bind-address = 0.0.0.0" | sudo tee -a /etc/mysql/mariadb.conf.d/50-server.cnf >/dev/null 2>&1 sudo service mariadb restart echo -e "${GREEN}MariaDB configurado para permitir conexoes remotas.${RESET}" } # Lista de pacotes a serem instalados system_tools=("htop" "curl" "wget" "ipset" "net-tools" "tzdata" "ntpdate") development=("make" "gcc" "g++" "libssl-dev" "libcrypto++-dev" "libpcre3" "libpcre3-dev" "libtesseract-dev" "libx11-dev" "gcc-multilib" "libc6-dev" "build-essential" "gcc-multilib" "g++-multilib" "libtemplate-plugin-xml-perl" "libxml2-dev" "libxml2") java_mono=("openjdk-11-jre" "mono-complete") archive_tools=("p7zip-full") libraries=("libpcap-dev") database=("mariadb-server" "mariadb-client") php_apache=("apache2" "php7.4" "php-cli" "php-common" "php-curl" "php-gd" "php-mbstring" "php-mysql" "php-xml" "php-xmlrpc" "php-soap" "php-intl" "php-zip" "php-bcmath" "php-json" "php-tidy") # Instala ferramentas do sistema for package in "${system_tools[@]}"; do install_package "$package" done # Instala ferramentas de desenvolvimento for package in "${development[@]}"; do install_package "$package" done # Instala Java e Mono for package in "${java_mono[@]}"; do install_package "$package" done # Instala ferramentas de arquivo for package in "${archive_tools[@]}"; do install_package "$package" done # Instala bibliotecas for package in "${libraries[@]}"; do install_package "$package" done # Instala banco de dados for package in "${database[@]}"; do install_package "$package" done # Instala PHP e Apache for package in "${php_apache[@]}"; do install_package "$package" done # Configura MariaDB e cria um novo usuario configure_mariadb service apache2 restart echo -e "${GREEN}Instalacao concluida!${RESET}" install-ubuntu20.04.sh
    1 ponto
  21. Não consegui resolver este problema. Teria outra sugestão?
    1 ponto
  22. 1 ponto
  23. Editor de Aipolicy criado pelo Kn1fe e Atualizado para 1.7.6 por mim ele lê e salva aipolicy 172 174 176 source:[Conteúdo Oculto] compilado: AiPolicy Editor 176v40 - Updated by Haly - Release.rar
    1 ponto
  24. 1 ponto
  25. coloca essas libs nas pastas lib,lib32 e lib64 e usa esse comando para ligar os mapas LD_PRELOAD=./libtask.so ./gs gs01 >$PW_PATH/logs/gs01.log 2>&1 & LD_PRELOAD=./libtask.so ./gs is61 >$PW_PATH/logs/is61.log 2>&1 & pw172.rar
    1 ponto
  26. Obs: Dúvida na instalação só me procura via Wpp 21965688474 Ranking + Sistema de Mensagem em Ingame Ranking 1.0.2 Para Perfect World Sistema de Mensagem quando mata no jogo Atualização Automática Configuração simples Super leve PHP Conexão em sql • O raking é atualizado automáticamente em tempo real. • O sistema do rank é por pontuação evitando os FREE kill. • Configuração por nível de cultivo. • Instalçao por acesso remoto. • Ranking tem sistema de informação em ingame, ao matar o oponente mostra quem matou quem. • Quem mata ganha X ponto e quando morre perde X pontos. • Informa quem você matou, quando matou e a hora. • Informa quem para quem você morreu, quando e a hora. • Informa para qual classe mais morreu. • Informa por gráfico todas as informações do seu pvp. Créditos: Ao Live Ranking @Bola rankingUpdate.zip
    1 ponto
  27. não está funcionando
    1 ponto
  28. Permita que os players deixe a lojinha online mesmo depois de fazer logout LojinhaOffline.zip Como instalar: Apenas subistitua e dê permissão Testado apenas na versão 151
    1 ponto
  29. pw-web originalmente feito por tomirons/hulu que foi lançado no ragezone, está abandonado no momento. alguns meses atrás, ele encontrou um erro no qual você não pode instalá-lo devido à indisponibilidade de um pacote, então decidi corrigi-lo para torná-lo utilizável novamente. As instruções sobre como instalar o painel estão no github. [Conteúdo Oculto] pw-web-master.zip
    1 ponto
  30. Deixando aqui um script + tutorial que fiz para backups automático do bando de dados do seu servidor direto pra o google drive. Perdoem o amadorismo com vídeos. O Rclone é uma ferramenta versátil que nos permite sincronizar e transferir arquivos para várias plataformas de armazenamento em nuvem, e neste vídeo, vamos utilizá-lo para garantir a segurança dos seus arquivos 🔗 Links Importantes 🔗 Google Console: [Conteúdo Oculto] Este script automatizado de backup é essencial para manter seus projetos de desenvolvimento do Perfect World em segurança e evitar perdas de dados. Siga o passo a passo do tutorial e garanta a tranquilidade de ter seus arquivos protegidos no Google Drive. Se você gostou do vídeo e deseja aprender mais sobre desenvolvimento de Perfect World e outras ferramentas úteis, não se esqueça de se inscrever no canal e ativar o sino de notificações para não perder nenhum conteúdo novo. Deixe seus comentários e dúvidas abaixo, estou aqui para ajudar! Obrigado por assistir e até o próximo vídeo! 🚀 Tutorial de Instalação do Rclone no CentOS 7 e Debian 11: Rclone no centOS 7 sudo yum install epel-release sudo yum update sudo yum install rclone rclone version rclone config Debian 11 curl [Conteúdo Oculto] | sudo bash rclone config Contato no discord: kaiquebsl backup.sh
    1 ponto
  31. Olá GM’s! Estou colocando para venda um de meus últimos projetos relacionado a Perfect World, trata-se de um Marketplace de contas e itens O projeto foi desenvolvido pessoalmente para um amigo mas não foi chegado a ser usado em servidor em produção. Como funciona? De forma bem resumida, qualquer jogador pode comprar conta/itens listado na plataforma, usando Pix ou fazer login e colocar sua conta/itens a venda Alguns detalhes Por segurança, para anunciar quaisquer item/conta o jogador precisa clicar no link que é enviado no e-mail de registro A venda É da CONTA e não de personagens O vendendor pode sacar seu saldo para seu Pix ou trocar o valor por Gold Todos os itens tem suas respectivas descrições e cores, basta passa o mouse por cima. Os detalhes do personagens e seus itens (banco, inventário) são mostrado em tempo real Ao postar um item o mesmo é removido do personagem ingame, mas o jogador pode cancelar a postagem e o item é enviado para o correios do personagem Para entender mais da uma olhada nas imagens abaixo Aah!, ia esquecendo existe um mini-painel administrador, onde você pode: Visualizar/aceitar/recusar as postagens (fiz isto para evitar contas meme ou preços absurdos) Configura todo o sistema, alguns exemplos: Define se as postagem precisa ser moderada antes de ser publicada Taxa de anuncio em destaque Taxa sobre cada venda de conta Taxa sobre cada venda de itens Taxa de saque Falta somente fazer a parte de autorizar/rejeitar saques via Pix (posso automatizar isto, mas não recomendo) Agradecimentos especial ao @brucedeity pelo leitor de octets =) Segue algumas imagens de como é o sistema ou veja aqui → [Conteúdo Oculto] No link da para você ver as imagens com mais qualidade e da zoom ;) é isto, se você tive interesse basta me mandar uma mensagem no privado que passo meu WhatsApp para negociação!
    1 ponto
  32. Como resolvo o problema da versão ser muito antiga?
    1 ponto
  33. Depois que baixo esses arquivos, e abro o Virtual Box, como eu seleciono o caminho da pasta para poder abrir o elementclient?
    1 ponto
  34. Tem graça no git… [Conteúdo Oculto] [Conteúdo Oculto]
    1 ponto
  35. Aqui um exemplo da DLL q vc pode usar para configurar o discord no seu cliente. #define _CRT_SECURE_NO_WARNINGS #include <Windows.h> #include <process.h> #include <iostream> using namespace std; void __stdcall SetupDiscord(void* p); extern "C" __declspec(dllimport) void BolaHook(void); void BolaHook() {} BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: { CreateThread(0, 0, (LPTHREAD_START_ROUTINE)SetupDiscord, 0, 0, 0); } break; case DLL_PROCESS_DETACH: break; } return TRUE; } void __stdcall SetupDiscord(void* p) { // AQUI VOCÊ INSERE O CÓDIGO QUE CONFIGURA SEU DISCORD // APÓS COMPILAR EM X86 VOCÊ PODE EMBUTIR ESSA DLL USANDO O PROGRAMA STUD_PE.EXE // CARREGUE NO PROGRAMA STUD_PE.EXE, VÁ PARA A GUIA FUNCTIONS // EM FUNCTIONS IMPORTED, CLIQUE COM O CANTO E ESCOLHA ADD NEW IMPORT // SELECIONE A DLL QUE VC PRODUZIU NO VISUAL STUDIO // SELECIONE BolaHook COMO FUNÇÃO IMPORTADA // ADICIONE, SALVE, INCLUA NA PASTA DO SEU CLIENTE E CERTIFIQUE DE QUE O JOGADOR TENHA O VCREDIST DA VERSÃO DA SUA DLL } algum tempo atrás ensinei a fazer a mesma coisa para nick colorido na versão 151 a exemplo na ragezone, dá pra fazer muita coisa no sentido de injetar a DLL e modificar o que vc deseja ou adicionar. [Conteúdo Oculto]
    1 ponto
  36. Огромное спасибо тебе, добрый человек
    1 ponto
  37. E ai povo lindo, segue algumas roupas.. depois eu add mais. intalação prática.. rs amongus.rar bob sponja.rar oliver.rar plankton.rar flash.rar patrick.rar sandy.rar
    1 ponto
  38. Usa o RAE No elements a versão é exibido no título da janela do programa No tasks a versão fica no canto inferior direito [Conteúdo Oculto]
    1 ponto
  39. Abra os arquivos .data no editor para visualizar suas versões respectivas. Em seguida, compare esses arquivos .data com os que estão em funcionamento no PWServer. É provável que as versões sejam diferentes; nesse caso, você pode converter os .datas para a versão que esta funcionando usando o próprio editor. Eu tenho esses limpos aqui, tente ai (dentro tb tem os gshop-serverside) data155.zip
    1 ponto
  40. Boa noite pessoal, gostaria de saber se alguém teria uma interface funcional em 1.5.5 clássica por favor, caso for de venda deixar o contato se possível. obrigado a todos!
    1 ponto
  41. Estou com o mesmo problema já fiz de tudo. Ela mostra na tela do login mas não da pra selecionar, queria tirar da tela pra não ficar mostrando.
    1 ponto
  42. que estranho comigo não funciona, da uma olhada. ELEMENTCLIENT.EXE interfaces.pck
    1 ponto
  43. O Império Ancestral foi o primeiro episódio a ser adicionado ao Perfect World. Conheça algumas das novas mecânicas introduzidas nesta expansão: NOVOS ATRIBUTOS E ARMAS SUPREMAS Um dos destaques do episódio foi a reformulação do nível de ataque e defesa, garantindo um bônus de até 150% de dano adicional e deixando seu personagem ainda mais poderoso. Além disso, tivemos as Novas Armas Supremas de qualidade laranja e também os Atributos Adicionais, um sistema que garante aos guerreiros armas com Ranking 16. NOVO NÍVEL DE CULTIVO O Império Ancestral ainda trouxe um novo nível de cultivo: a partir deste episódio, todos que atingirem o nível 100 poderão participar do teste para derrotar o temido Tian Zun e conquistar o título de Imortal ou Demoníaco. Após passar por isso, você receberá um novo símbolo espiritual e a possibilidade de conquistar novas habilidades. CARTAS DE CHEFES Viajando no tempo, você pode coletar Cartas de Chefes dos monstros que habitam os tempos do Império Ancestral e invocá-los. Após conjurar e derrotar os 16 chefes, será possível invocar um novo e poderoso chefe. Caso consiga derrotá-lo, você receberá itens especiais! [Conteúdo Oculto]
    1 ponto
  44. Instalador do cliente beta level up. [Conteúdo Oculto]
    1 ponto
  45. INTERFACE ESMERALDA 1.5.5 EDITADA, CONTEM SOMENTE 3 RAÇAS NA CRIAÇÃO . INTERFACE ESMERALDA SEM CLASSES.zip
    0 pontos
  46. Bom uso a todos! Version: Python 3.13 Install: python3 -m pip install scapy #Notes Update Rate Limiting 03-01-25 Traffic Anomaly Detection 03-01-25 Packet Filtering 03-01-25 Add SSH monitoring 28-12-24 Config.txt # Configurações gerais de monitoramento e proteção # Defina as portas para monitoramento (exemplo: HTTP, SSH) PORTS_TO_MONITOR=80,7777,2106 # Se o bloqueio por HWID deve ser ativado BLOCK_HWID=true # Limites de pacotes MAX_PACKET_SIZE=1024 MAX_CONNECTIONS=100 CONNECTION_TIME_WINDOW=10 # Em segundos # Limitações de pacotes TCP e UDP MAX_TCP_PACKETS=500 MAX_UDP_PACKETS=300 # Configurações para proteção SSH SSH_PORT=22 SSH_BLOCK_THRESHOLD=5 # Número de tentativas antes de bloquear SSH_BLOCK_DURATION=3600 # Duração do bloqueio (em segundos) SSH_LOCKDOWN_THRESHOLD=10 # Número de tentativas excessivas antes de lockdown SSH_LOCKDOWN_DURATION=86400 # Duração do lockdown (1 dia) SSH_IP_ATTEMPTS_WINDOW=60 # Janela de tempo (em segundos) para tentativas de login SSH # Limitação de taxa de pacotes para evitar DDoS RATE_LIMIT_THRESHOLD=1000 # Limite de pacotes por IP DDoS_DETECTION_WINDOW=10 # Janela de tempo para detectar DDoS DDoS_CONNECTION_THRESHOLD=500 # Limite de conexões simultâneas que aciona a detecção de DDoS main.py import os import time import hashlib import uuid import platform import json import re from scapy.all import sniff, TCP, UDP, IP from collections import defaultdict from threading import Thread # Словари для хранения данных трафика и блокировок traffic_data = defaultdict(lambda: {"timestamps": [], "tcp_count": 0, "udp_count": 0, "packet_count": 0}) blocked_hwids = set() # Множество заблокированных HWID blocked_ips = defaultdict(lambda: {"block_time": None, "attempts": 0, "block_duration": 0}) # Блокировка IP # Стандартные настройки config = { "MAX_PACKET_SIZE": 1024, "MAX_CONNECTIONS": 100, "CONNECTION_TIME_WINDOW": 10, "PORTS_TO_MONITOR": [80, 7777, 2106], "MAX_TCP_PACKETS": 500, "MAX_UDP_PACKETS": 300, "BLOCK_HWID": True, "SSH_PORT": 22, "SSH_BLOCK_THRESHOLD": 5, # Порог для неудачных попыток входа SSH "SSH_BLOCK_DURATION": 3600, # Длительность блокировки SSH "SSH_LOCKDOWN_THRESHOLD": 10, # Количество чрезмерных попыток перед блокировкой "SSH_LOCKDOWN_DURATION": 86400, # Длительность блокировки (1 день) "SSH_IP_ATTEMPTS_WINDOW": 60, # Временное окно для попыток входа SSH "RATE_LIMIT_THRESHOLD": 1000, # Порог пакетов на IP "DDoS_DETECTION_WINDOW": 10, # Временное окно для обнаружения DDoS "DDoS_CONNECTION_THRESHOLD": 500 # Порог одновременных подключений } LOG_FILE = "logs.json" # Функция для загрузки конфигурации из файла def load_config(): global config if not os.path.exists("config.txt"): print("[INFO] Файл config.txt не найден. Используются настройки по умолчанию.") return with open("config.txt", "r") as file: for line in file: line = line.strip() if not line or line.startswith("#"): continue key, value = line.split("=") key = key.strip() value = value.split("#")[0].strip() if key in ["PORTS_TO_MONITOR"]: config[key] = list(map(int, value.split(","))) elif key in ["BLOCK_HWID"]: config[key] = value.lower() == "true" elif key in ["SSH_PORT", "SSH_BLOCK_THRESHOLD", "SSH_BLOCK_DURATION", "MAX_PACKET_SIZE", "MAX_CONNECTIONS", "CONNECTION_TIME_WINDOW", "MAX_TCP_PACKETS", "MAX_UDP_PACKETS", "RATE_LIMIT_THRESHOLD", "DDoS_DETECTION_WINDOW", "DDoS_CONNECTION_THRESHOLD", "SSH_LOCKDOWN_THRESHOLD", "SSH_LOCKDOWN_DURATION", "SSH_IP_ATTEMPTS_WINDOW"]: config[key] = int(value) else: config[key] = value # Функция для записи статистики def log_statistics(ip, hwid, reason, data): log_entry = { "timestamp": time.strftime("%Y-%m-%d %H:%M:%S"), "ip": ip, "hwid": hwid, "reason": reason, "tcp_count": data["tcp_count"], "udp_count": data["udp_count"] } try: with open(LOG_FILE, "r+") as f: logs = json.load(f) logs.append(log_entry) f.seek(0) json.dump(logs, f, indent=4) except Exception as e: print(f"[ERROR] Ошибка при сохранении в лог: {e}") # Функция для генерации уникального HWID def get_hwid(): mac_address = get_mac_address() system_uuid = get_system_uuid() unique_string = f"{mac_address}-{system_uuid}-{platform.system()}" return hashlib.sha256(unique_string.encode()).hexdigest() # Функция для получения MAC-адреса def get_mac_address(): try: mac = uuid.getnode() mac_address = ':'.join(("%012X" % mac)[i:i + 2] for i in range(0, 12, 2)) return mac_address except Exception: return "UNKNOWN_MAC" # Функция для получения UUID системы def get_system_uuid(): try: if platform.system() == "Linux": with open('/sys/class/dmi/id/product_uuid', 'r') as f: return f.read().strip() elif platform.system() == "Windows": import subprocess result = subprocess.check_output('wmic csproduct get uuid', shell=True).decode() return result.split('\n')[1].strip() return platform.node() except Exception: return "UNKNOWN_UUID" # Функция для мониторинга пакетов def monitor_packet(packet): if packet.haslayer(IP): src_ip = packet[IP].src current_time = time.time() hwid = get_hwid() # Инициализация данных трафика data = traffic_data[src_ip] if current_time not in data["timestamps"]: data["timestamps"].append(current_time) # Удаление меток времени, выходящих за пределы окна data["timestamps"] = [ ts for ts in data["timestamps"] if current_time - ts <= config["CONNECTION_TIME_WINDOW"] ] # Ограничение скорости: подсчет пакетов, полученных от IP data["packet_count"] += 1 # Обнаружение DDoS: ограничение пакетов на IP за определенный период времени if data["packet_count"] > config["RATE_LIMIT_THRESHOLD"]: print(f"[ALERT] IP {src_ip} отправляет слишком много пакетов. Возможная атака DDoS!") blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Превышен лимит пакетов", data) # Блокировка по TCP/UDP пакетам if packet.haslayer(TCP): data["tcp_count"] += 1 elif packet.haslayer(UDP): data["udp_count"] += 1 if data["tcp_count"] > config["MAX_TCP_PACKETS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество TCP пакетов", data) print(f"[ALERT] Избыточное количество TCP пакетов: {src_ip}") elif data["udp_count"] > config["MAX_UDP_PACKETS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество UDP пакетов", data) print(f"[ALERT] Избыточное количество UDP пакетов: {src_ip}") elif len(data["timestamps"]) > config["MAX_CONNECTIONS"]: blocked_hwids.add(hwid) log_statistics(src_ip, hwid, "Избыточное количество соединений", data) print(f"[ALERT] Избыточное количество соединений: {src_ip}") # Функция для мониторинга трафика SSH def monitor_ssh_traffic(): print("[INFO] Мониторинг трафика SSH...") try: sniff(filter=f"tcp port {config['SSH_PORT']}", prn=process_ssh_packet, store=False) except KeyboardInterrupt: print("[INFO] Мониторинг SSH прерван.") except Exception as e: print(f"[ERROR] Ошибка мониторинга SSH: {e}") # Функция для обработки пакетов SSH def process_ssh_packet(packet): if packet.haslayer(IP) and packet.haslayer(TCP): src_ip = packet[IP].src handle_ssh_attempt(src_ip) # Функция для обработки попыток входа SSH def handle_ssh_attempt(ip): current_time = time.time() data = blocked_ips[ip] # Если IP был заблокирован на более длительный период if data["block_time"] and current_time - data["block_time"] < data["block_duration"]: return # Увеличиваем счетчик попыток входа SSH data["attempts"] += 1 if data["attempts"] > config["SSH_BLOCK_THRESHOLD"]: block_ip(ip) data["block_time"] = current_time data["block_duration"] = config["SSH_BLOCK_DURATION"] # Длительность блокировки if data["attempts"] > config["SSH_LOCKDOWN_THRESHOLD"]: lockdown_ip(ip) data["block_time"] = current_time data["block_duration"] = config["SSH_LOCKDOWN_DURATION"] # Длительность блокировки # Функция для блокировки IP def block_ip(ip): print(f"[INFO] IP {ip} заблокирован за слишком много попыток входа SSH.") # Функция для применения блокировки для IP def lockdown_ip(ip): print(f"[INFO] IP {ip} попал в блокировку за слишком много попыток входа SSH.") # Функция для разблокировки IP после истечения срока блокировки def unblock_expired_ips(): current_time = time.time() for ip in list(blocked_ips.keys()): if current_time - blocked_ips[ip]["block_time"] > config["SSH_BLOCK_DURATION"]: print(f"[INFO] IP {ip} разблокирован.") del blocked_ips[ip] # Функция для начала мониторинга def start_monitoring(): print(f"[INFO] Мониторинг портов: {config['PORTS_TO_MONITOR']}") try: ports_filter = " or ".join([f"tcp port {port} or udp port {port}" for port in config["PORTS_TO_MONITOR"]]) sniff(filter=ports_filter, prn=monitor_packet, store=False) except KeyboardInterrupt: print("[INFO] Мониторинг прерван.") except Exception as e: print(f"[ERROR] Ошибка мониторинга: {e}") if __name__ == "__main__": load_config() # Запуск мониторинга SSH в отдельном потоке ssh_thread = Thread(target=monitor_ssh_traffic, daemon=True) ssh_thread.start() start_monitoring()
    0 pontos

Suporte GM

Comunidade de Perfect World do Brasil

Copyright © 2023-2024 SuporteGM Powered by Invision Community
Поддержка Invision Community в России

Links

×
×
  • Criar Novo...