-
[CURSO ONLINE] Do Zero ao Avançado
DO ZERO AO AVANÇADO Se você deseja entender o Priston Tale em um nível que poucos jogadores, desenvolvedores e criadores de cheats conhecem, este curso foi criado para você. Seja você um desenvolvedor ou administrador de servidor que sente que está estagnado, um criador de cheats buscando evoluir, ou um jogador que quer entrar de vez nesse mundo técnico, este curso vai te levar para outro nível. 🔥 Cheats e Exploits no Priston Tale 🔥 Engenharia Reversa aplicada ao cliente 🔥 Leitura e manipulação de memória 🔥 Sistemas de Anti-Cheat e banimentos 🔥 Programação defensiva e validação de servidor 🔥 Arquitetura cliente e servidor 🔥 Criação de itens → como identificar → como analisar/executar em ambiente de estudo → como mitigar e corrigir 🔥 Duplicação de itens → como identificar → como reproduzir para estudo técnico → como impedir e corrigir 🔥 Ataques a servidores e falhas críticas → como identificar → como analisar execução em ambiente controlado → como fortalecer e proteger Aqui você não aprende apenas “o que acontece”, mas entende o ciclo completo: como a falha surge, como ela é explorada e como ela é corrigida. Página do curso: vigodevs.com.br Banner de divulgação.
-
Boas práticas de segurança em server de PT — como vocês protegem na prática?
de boas achar o ida pro crackeado. Tu sabe todos os atalhos e nem deixa no ar que dá pra fazer isso. Por isso o Luís te ama, pô. Sacanagem.
-
Boas práticas de segurança em server de PT — como vocês protegem na prática?
É isso! A sacada do Vanguard é largar o driver no boot, essa é a verdadeira treta. Se não fosse isso, não segurava. Mas ó, vou roubar essa tua ideia do Claude no Ghidra. Tô há 20 dias travado num cracker aqui, já quase coringando de tédio e frustração. Vamos ver se o claudao tem a moral de me tirar desse buraco, kakaka
-
Boas práticas de segurança em server de PT — como vocês protegem na prática?
Muita gente gosta de apontar DDoS como a causa de tudo, mas a verdade é que nunca é DDoS. O que derruba muito PT é falta de rate limit no site ou painel. Os meninos mandam centenas de requisições por segundo criando conta ou tentando logar, geram deadlocks no SQL e lá na frente tudo começa a ir para o buraco. Outra coisa que derruba servidor é exceção não tratada na source. A maioria faz correção sem entender a fundo o que está alterando e cria uma bomba-relógio. O servidor cai, gera dump e os caras vão direto no ponto onde o dump parou. Esquecem do call stack e de todo o caminho que levou até ali. Muitas vezes o problema começou muito antes. Corrigem a ponta final, mas a origem continua lá. O servidor continua caindo, nada é resolvido e bate o desespero. Aí a culpa vira "ataque". Jogador de PT usa computador do tempo do bumba. Eu mesmo uso. Sair da WinAPI para trabalhar só com syscall é implorar para trabalhar mais e ter menos resultado. Tem Windows antigo, Windows novo, Intel, AMD e todo tipo de máquina rodando PT. Quanto mais syscall você usa, mais compatibilidade precisa manter. Até deixar um anticheat desses estável para todo mundo, você já faliu o servidor. Não compensa. Tem formas mais simples de continuar usando WinAPI e dificultar o bypass. Vai impedir tudo? Não. Mas trocar tudo por syscall também não vai. Não existe simplesmente "logar com conta de GM". Muita coisa que GM faz é controlada pelo próprio game. Em vários casos é só uma variável do personagem. Ou você remove funcionalidades e perde recursos, ou deixa os meninos brincarem. Manipulação de gold é a mesma coisa. Ouro é só mais uma variável do personagem. Para salvar os valores alterados, normalmente são feitos apenas cálculos matemáticos. Muita gente consegue reproduzir isso. E o mais engraçado é que vários dos "pica grossa", quando corrigem, continuam usando a mesma variável para poupar trabalho e criam apenas uma falsa sensação de segurança. Mas, na real, os meninos continuam brincando e injetando gold. Criação de item dá para dar patched de forma definitiva. Dupe já é outra história. Na teoria até dá para corrigir. Mas eu sinceramente não sei como fazer isso de forma performática. Imagina um PT com mais de 5.000 itens válidos tendo que validar tudo, principalmente na hora de ligar o servidor. Sei que vai aparecer muita gente dizendo que é fácil dar patched em clone de item. O problema é que a maioria dos que dizem isso não faz a menor ideia de como reproduzir para testar as diversas possibilidades. E a outra metade corrigiu o que descobriu por conta própria ou o que recebeu de terceiros, mas continua com nego dupando item. A diferença é que alguns assumem e outros não.
-
Tudo o que você precisa (e um pouco mais) em seu servidor!
Faz serviço de configurações também? Gostava da config do ArcTale, gostaria de algo semelhante, da certo?
-
[PEDIDO] Como adicionar um novo mapa
Se alguém conseguir postar um tutorialzinho, fico agradecido.
-
Imagens das Skins
na sinitem.cpp { sinWM1 | sin01 ,"Wand" ,"WM101", ITEMSIZE 1, ITEMSIZE 2,"Weapon",ITEM_CLASS_WEAPON_ONE,"WM101" ,INVENTORY_POS_RHAND,SIN_SOUND_STAFF,ITEM_WEAPONCLASS_CASTING }, a primeira definição de WM101, é o nome da imagem do item na pasta Sinimage/Itens/ a segunda é da Sinimage/Itens/DropItem Sinimage/Itens/ = imagem do item no inventário, etc Sinimage/Itens/DropItem = imagem do item dropado no chão e em uso. Se não conseguir achar pelos nomes, use o Noesis, ele serve pra visualizar esses arquivos aí. link pra download: https://richwhitehouse.com/index.php?content=inc_projects.php&showproject=91
-
Não foi possível Conectar ( Source CraftPK (SunPK 3.0) )
https://pristonworld.com/sql-dll/index.php
-
[AJUDA] Tela Preta
eram as texturas das skills do actionbar, realmente eu não as resetava no onlostdevice e restoredevice. obrigado senhores.
-
Clique do atk ou movimento.
Winmain.cpp -> WM_RBUTTONDOWN talvez o seu problema esteja no case WM_SIZE: mas só debugando pra saber onde está o erro.
-
Tela de seleção/criação
HoLogin.cpp, procura por: dsDrawTexImage( FaceBoxBigImage[ 0 ] int addX = smScreenWidth / 2 - 800 / 2; if( (smConfig.ScreenSize.x 800 && smConfig.ScreenSize.y 600 ) || ( smConfig.ScreenSize.x 1024 && smConfig.ScreenSize.y 768 ) || ( smConfig.ScreenSize.x 1280 && smConfig.ScreenSize.y 960 ) || ( smConfig.ScreenSize.x 1400 && smConfig.ScreenSize.y 1050 ) ) { int newPosX = int( ( ( float )smScreenWidth*272.f ) / 800.f ); int newPosY = int( ( ( float )smScreenHeight*82.f ) / 600.f ); int newWidth = int( ( ( float )smScreenWidth*256.f ) / 800.f ); int newHeight = int( ( ( float )smScreenHeight*128.f ) / 600.f ); dsDrawTexImage( FaceBoxBigImage[ 0 ], newPosX, newPosY, newWidth, newWidth, 255 ); dsDrawTexImage( FaceBoxBigImage[ 1 ], newPosX, newPosY + newWidth, newWidth, newHeight, 255 ); } else { int newPosX = int( ( ( float )smScreenWidth*272.f ) / 724.f ); int newPosY = int( ( ( float )smScreenHeight*82.f ) / 600.f ); int newWidth = int( ( ( float )smScreenWidth*256.f ) / 1028.f ); int newHeight = int( ( ( float )smScreenHeight*128.f ) / 772.f ); dsDrawTexImage( FaceBoxBigImage[ 0 ], newPosX, newPosY + 10, newWidth, newWidth, 255 ); dsDrawTexImage( FaceBoxBigImage[ 1 ], newPosX, newPosY + newWidth + 10, newWidth, newHeight, 255 ); } int addY = smScreenHeight / 2 - 600 / 2; DrawEachPlayer( 0.5f, 0.4f, 2 );
-
Arquivos da Tier4 Original
Quais são os arquivos específios eu não sei, mas usa o Noesis para visualizar os arquivos .tga Download Noesis o do kina acho que é MmhA-C02.TGA por exemplo.
-
[AJUDA] Tela Preta
~~~~~WORLD BUG PT~~~~~ ao dar resize a tela fica preta e não volta, já reverti os commits até versões que eu tenho certeza que estava funcionando corretamente porém o erro persiste, já debuguei case WM_SIZE e sem sucesso. alguém já passou por esse problema? ou tem alguma ideia de como debuggar isso aqui? não crasha, não gera dump, não consome memoria só fica preta. bandicam 2026-02-14 22-06-53-363.mp4
-
-
ViGo alterou sua foto pessoal
-
Age+30 sourcer
ta fazendo oq aqui então po? volta pro youtube, já já a fatura chega.
-
[Dúvida] Alguém já teve o problema de fechar o console?
brother, uma vantagem de trabalhar com o form do servidor em console é a possibilidade de gerar logs em runtime, essa mensagem que você está vendo: Lendo configuracoes do mundo... , é uma forma de log. Então se você procurar por essa mesma string na source: utilizando o atalho da ide CRTL + SHIFT + F, e pesquisar por: Lendo configuracoes do mundo..., você vai ser direcionado para dentro da função: INT SetupDefWindow() dentro dessa função você vai ver: cout << "Lendo configuracoes do mundo..." << endl; rsRefreshConfig(); como isso está funcionando? A construção do binário em runtime é feita de cima pra baixo, então significa que ele primeiro interpreta o log, e posteriormente ele chama a função rsRefreshConfig, com esse entendimento, sabemos que se apareceu o log carregando mundo e não apareceu o próximo: cout << "Inicializando pacotes de conexao" << endl;, isso nos diz que houve algum problema dentro dessa função rsRefreshConfig, é possível que esteja ocorrendo um vazamento de memória, o que está fazendo o servidor crashar. então já sabemos que o problema está na função rsRefreshConfig certo? o que podemos fazer caso o modo depuração não esteja nos ajudando? vamos até a função rsRefreshConfig, copiamos toda a função e vamos mandar pro nosso amigo chatgpt, caso c++ não seja o seu forte, e então peça ao chatgpt para gerar logs dentro da nossa função, para nos ajudar a identificar exatamente o que está acontecendo e entender por que o executável está crashando.então ele vai criar vários condicionais no código e nas chamadas de funções, como por exemplo: if (smConfigDecode("Server\\Config\\Devices.ini")) { cout << "Por aqui tudo certo"<< endl; } else { cout << "macho, deu algum problema"<<endl; } oq isso quer dizer? se a chamada da função smConfigDecode, conseguir ler o diretório Server\\Config\\Devices.ini" com sucesso, ele diz que aqui tudo está certo, se não, ele te chama de macho e diz que deu algum problema, se por acaso o seu problema for ai, você vai voltar pro chatgpt, e vai pedir pra ele logar exatamente os dados que está lendo, e então você vai conseguir detectar, comparando com o arquivo Devices, o que pode esta faltando ou o que ele pode estar lendo de errado. Você também pode navegar até a função smConfigDecode, pode pedir pro chat gpt gerar logs de todas as variáveis da struct para entender qual está ficando vazia, qual está tendo um possível overflow etc, e por aí vai, Bom, compreendo que talvez você não tenha noções de desenvolvimento e talvez isso não seja tão básico para você, mas aprender a depurar é o segundo passo mais importante e indispensável, logo após entender como as coisas realmente funcionam, talvez o seu objetivo com esse material seja apenas instalar e brincar com os arquivos, mas como o fórum é publico, serve pra quem realmente quiser aprender: Não pulem etapas, aprendam como tudo funciona, aprendam a debugar. Existem várias formas de vocês debugarem o material do priston, e acriação de logs e o modo depuração da ide são apenas 2 delas. Quanto mais vocês aprenderem a debugar, mais autônomos vocês vão ficar. E sobre entender como tudo funciona, é o seguinte, a sintaxe do c++ é difícil mesmo, e com IAs, você podem pular essa etapa, o que já é muita coisa!!!! porém vocês não podem permitir que a IA decida por vocês. Entender como tudo funciona vai fazer com que vocês realmente saibam o que precisa ser feito para chegar no resultado que desejam. Dessa forma, a IA vai ser apenas um escritor de código performático, evitando problemas com bugs, crashs inesperados, vulnerabilidades, IA delirando e gerando código sem sentido, etc... trilhem os caminhos das pedras, a longo prazo, ele será o caminho mais fácil a se seguir. E não se esqueçam, programar não é só escrever código; na maioria das vezes, é resolver problemas. Estar preparado para resolvê-los é o que diferencia um noob de alguém avançado. enquanto eu digitava esse reels era reproduzido no meu youtube, e acredito que faz sentido com a mensagem, beijos