Jump to content

C++ [TUTORIAL] [UBUNTU] Como gerar e configurar uma nova chave RSA


Recommended Posts

 

[TUTORIAL] [UBUNTU] Como gerar e configurar uma nova chave RSA

Este tutorial pode ser útil para você deixar o uso obrigatório do seu client customizado para o seu servidor.


Para seguir este tutorial você precisará ter o OpenSSL instalado.

 

Consultando se o seu sistema já tem OpenSSL

Spoiler

 




openssl version -a

 

 

 

Gerando a chave RSA

Primeiramente, vamos gerar uma nova chave RSA exclusiva
 

Spoiler

 




openssl genrsa -out key.pem 1024

 

 

 

Assim que gerado, será criado um arquivo "key.pem" no diretório em que você está, esta será a sua chave RSA.

 

Execute agora o seguinte comando

Spoiler

 




openssl rsa -in key.pem -outform PEM -pubout -out public.pem

 

 

 

Após executado o comando acima, será criado um arquivo "public.pem" neste mesmo diretório. Esta é a sua RSA pública.
 

Precisamos agora converter a chave RSA publica em hexadecimal para decimal, somente desta forma será aceito no Servidor e no OTClient.

 

Antes de tudo será necessário tratar a RSA pública, portando execute os comandos abaixo:
 

Spoiler

 




openssl asn1parse -in public.pem

 

Após executar o comando acima o terminal deve printar algo como isso:
 

Spoiler

0:d=0 hl=3 l= 159 cons: SEQUENCE
3:d=1 hl=2 l= 13 cons: SEQUENCE
5:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption
16:d=2 hl=2 l= 0 prim: NULL
18:d=1 hl=3 l= 141 prim: BIT STRING


Em seguida execute o comando abaixo:
 

Spoiler

 




openssl asn1parse -in public.pem -strparse 18

 

 

 

 

Após executar o comando acima o terminal deve printar algo como isso:

 

Spoiler

0:d=0 hl=3 l= 137 cons: SEQUENCE
3:d=1 hl=3 l= 129 prim: INTEGER :A67E67F1BB0330A9BFEAB7306DDE4DE4EED66714519E0A97B096DCAAE35014EE
400BA718DBBFBD1065CAEB6029CAF6A6D5FA8F53C9154FB04BAB993CC051453CF00B71E1DC11DA0962BBFC770D8B855D65C1D953AEBB3CCD1A6BC70C3CB5EAC2B97FC1FAA20C322A732D4CF160DAE16FD028E13D54B52EC815BBF57CDD37184F
135:d=1 hl=2 l= 3 prim: INTEGER :010001

 

 

Agora para realizar a conversão de Hex para Decimal utilize o seguinte site: Hexadecimal to Decimal Converter (rapidtables.com)

 

A sua RSA deve ter obrigatoriamente 309 caracteres.


Configurando a Chave RSA no OTClient

Agora entre no seguinte caminho modules/gamelib/ do OTClient e abra o arquivo const.lua

Procure por OTSERV_RSA, você encontrará algo como isto:
 

Spoiler

 




OTSERV_RSA  = "1091201329673994292788609605089955415282375029027981291234687579" ..
              "3726629149257644633073969600111060390723088861007265581882535850" ..
              "3429057592827629436413108566029093628212635953836686562675849720" ..
              "6207862794310902180176810615217550567108238764764442605581471797" ..
              "07119674283982419152118103759076030616683978566631413"

 

Apague e insira a sua chave RSA pública já em Decimal, quando inserir indico deixar tudo em uma linha, como exemplo abaixo:
 

Spoiler

 




OTSERV_RSA  = "109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413"

 

 

 

Não é necessário mexer na CIPSOFT_RSA.

Configurando a Chave RSA no Servidor

Substitua o seu novo arquivo gerado key.pem pelo mesmo arquivo localizado na pasta do seu servidor.

 

 

Considerações Finais

Pronto! Melhoria concluída com sucesso!

Após isso só será possível efetuar login em seu servidor com um client que tem a sua RSA pública configurada.


Créditos:

@Cjaker

Sun

Marcos Pacheco
@Breno Alves

@EddyHavoc
@Cat
 

Edited by EddyHavoc (see edit history)
Link to post
Share on other sites

  • Assistente

Obrigado pela contribuição @EddyHavoc, são poucos conteudo se tratando de RSA na internet.

function onLove()
if getPlayerTrueLove(girlfriend) then
doPlayerBeHappy(cid, true)
doRemoveVirginity(cid, true)
else
doSendCancel(cid,"you do not know how good it feels to be loved")
end end

;)

 

Link to post
Share on other sites

  • Director

Boa contribuição @EddyHavoc, conteúdo importantíssimo!

Tutoriais, lives, suporte, desafios, classificados e freelancer você encontra na Academia de Otserver.

separa10.png

 

Conheça nossos grupos:

 

academiaicone1.png                        academiaicone2.png

Academia de Mapping!        Academia de Coding!

 

academiaicone3.png

Academia de Design!

---------------------------------------------

 

 

Precisando de Sprites?

 

 

Academia de Spriting

Academia de Spriting - Baixe Sprites gratuitas (FREE) em nosso blog!

 

 

---------------------------

« Mapas do Nolis »

 

 

 

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By mjokreaxasa
      Tenho um problema com o meu sistema de saga, quando o jogo fica guardado em volta do monstro, o monstro não ataca e tenho que me afastar e voltar à tela para poder atacar você.
       

       
    • By Naze
      Uns dos problemas das maiorias dos otserv casual que estão online é o autoloot, alguns com erros e defeito na checagem dos containers e sempre consumindo muito por ser em lua fazendo checagens de tile, corpo, itens e etc. Por isso decidi da uma contribuição a essa comunidade que me evoluiu bastante um autoloot diretamente na source na função que insere os itens no corpo, otimizando em 100% na hr da entrega do item, e não tendo problemas ocasionais como corpos sobre corpos ou varias bags.
       
           Esse sistema já é bem comum quando comprado, mas gratuito acredito que ainda não tinha disponível, então fiz esse totalmente do 0 na source tfs 0.4 rev 3999 (do yan).
          
          Atenção na instalação! Qualquer problema pra compilar que envolva as linhas presente no código verifique novamente se instalou corretamente antes de pedir ajuda para evitar flood. Qualquer bug, erro ou mal funcionamento encontrado pode postar que estarei corrigindo, mas não irei customizar a seu agrado, você consegue fazer isso sozinho com atenção e calma, e se precisa de ajuda é só posta as duvidas.
       
      Imagens do Sistema:
       
      Características: 
      -> Otimizado executando apenas funções necessarias -> Comandos simples e praticos -> !autoloot on/off //Autoloot estara sempre ligado, e caso queria desliga use '!autoloot off' -> !autoloot bank/bag //Define para onde ira o dinheiro coletado, direto banco ou no inventario -> !autoloot list //Lista todos itens adicionados para coleta -> !autoloot clear/clean //Remove todos itens da lista -> !autoloot add, name item, name item, ... //Adiciona itens na lista, podendo adicionar quantos quiser de uma vez. Ele retorna um messagem dizendo os itens que foram adicionados e os que deram erro e não foram adicionados, talvez por escrito errado, ja existente na lista, na lista de bloquados, etc. -> !autoloot remove, item name, item name, ... //Remove itens da lista, com a mesma logica do add. -> Opções configuravel pelo Config.lua -> AutoLoot_MoneyIDs //IDs dos Itens Moedas do servidor como gold coins, platinium coins, crystal coins. -> AutoLoot_BlockIDs //IDs dos itens bloqueados para autoloot -> AutoLoot_MaxItem //Quantidade maxima de itens para adicionar a lista -> Sistema livres de bugs ou logs de erros.  
      Instalação:
      Toda instalação será feita na source, exceto por 1 linha em talkactions.xml e 3 variáveis no config.lua
       
      TFS 0.4 :
       
      Link para Otx -> https://tibiaking.com/forums/topic/101086-otimizado-autoloot-in-sources-for-otx2-ou-menor/
       
      Nas versões atual da TFS para servidores 10+ não ira funcionar pois algumas funções são diferente e não irei corrigir agora, em breve passo o mesmo pra tfs 1.x e otx3.
       
      Esse sistema foi totalmente feito por mim, mas dou créditos também ao @Mathias Kenfi por me ajudar muito na evolução em lua/c++ e a tabela sql é a mesma usada no quick autoloot 1.3 postado por Pedriinz
       
      @Edit: 
      Quem usa source de derivados caso ocorra erro aplica as alterações dos comentários abaixo.
      Pequena correção em talkactions.cpp na parte remove na linha if(!player->checkAutoLoot(itemId)), para if(player->checkAutoLoot(itemId))
    • By vine96
      Olá você tibiano das antigas ou um tibiano nutella (jogador novo), estamos recrutando todos!

      Quer relembrar os bons momentos desse game, no melhor estilo Retro PVP Hardcore?

      Então eu te faço uma proposta, venha jogar no servidor Baiak Gaming!

      Estamos a quase 6 meses online e essa vai ser a grande reabertura, em 1 dia apenas, foram quase 100 contas criadas.

      Site: https://baiakgaming.online/
      Página do Facebook: 
      https://www.facebook.com/BaiakGaming
      Suporte Via Whats 24h: (51) 9 9476-0948

      Quer ganhar seus pontos e items vip de forma gratuita? Basta ser um streamer (Youtube ou Twitch) e divulgar o servidor, nos mande uma proposta pelo Whats.
       

    • By Roy
      Bem, não é muita coisa mas como estava me incomodando resolvi tentar mudar a posição das strings de Spells in game.
      Após eu morrer umas 3 vezes em um OT kkkkk, por conta de usar várias spell fazendo um spam, tipo esse:

       
      Tenho mania de observar a barra de HP no personagem.
      Então movi as strings das spells. Você pode mover pra cima, pra baixo, lado direito ou esquerdo você escolhe.
      Eu coloquei na dll, você pode modificar se quiser, também vou colocar o .CT pra quem quiser injetar em algum cliente.
      OBS: Cliente 8.6
       
      E ficou assim:

      Acima do personagem e um pouco mais no centro do nome, assim fico livre pra enxergar o HP.
       
      SpellsPos.CT Injeta no cliente e marca as duas box.
      Dll_SRC.rar Não esqueça de alterar pra 32x/86x antes de compilar
      TibiaMain.dll Não esqueça de importar a dll com Stud_PE
       
    • By Yan Liima
      Limite máximo de players em guild in-game 😜

       
      Bom galera estou postando esse conteúdo como complemento do limite em WEBSITE
      Ao utilizar !joinguild esse code verifica se a guilda já atingiu o limite máximo de membros(configurado)
      Eu estarei disponibilizando de duas maneiras:
      1º Será um valor configurado no proprio config.lua, onde determinará o limite máximo de todas as guild.(já incluido na 0.4 rev3996)
      2º A verificação será feita por DB, onde terá um valor padrão para cada guilda criada, podendo ser alterado o valor de membros maximo.
      Ou seja, a guilda número UM pode ter máximo de 50 players, e a guilda número DOIS pode ter o máximo de 100.
      Vocês pode ser criativos e vender items que aumenta o limite ou fazer eventos/sorteios para aumentar...

       
      Enfim, vamos lá...
      Primeira maneira:
       
      Segunda maneira:
       
      Prontinho galera, espero que ajude algumas pessoas xD
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo