Um carregador personalizado para o Transformice e outros jogos do Atelier 801, que força o cliente a se conectar a um proxy local.
Para construir, você deve usar o arquivo asconfig.json para compilar o arquivo TFMProxyLoader.swf . Isso pode ser feito com o VSCODE-AS3MXML ou ASCONFIGC.
A OU também precisará colocar os arquivos SWC para as seguintes bibliotecas em uma pasta lib no mesmo nível do arquivo asconfig.json :
Se você deseja salvar-se com o aborrecimento, também há um SWF pré-construído nos lançamentos deste repositório.
Para usar esse carregador, você precisa carregar o arquivo TFMProxyLoader.swf . Se você estiver usando a versão Steam do Transformice, isso significa que você deve abrir os arquivos locais para o jogo e substituir o arquivo de Transformice.swf contido pelo TFMProxyLoader.swf ONE (renomeando -o para Transformice.swf ).
Ao carregar, haverá botões para os seguintes jogos:
Clicar em um botão carregará esse jogo e o fará conectar ao localhost na porta 11801 . Você deve executar um proxy ouvindo lá, por exemplo, um proxy da Caseus. O jogo será lançado normalmente e se conectará ao proxy como se estivesse se conectando ao servidor normal.
Além disso, pressionar a tecla 'Enter' carregará o jogo que foi carregado pela última vez, permitindo que você contorne as prensas do mouse.
Nenhuma da seção a seguir se aplica quando o carregador é executado em um tempo de execução do ar, como a versão Steam do Transformice. Caso contrário, existem coisas adicionais relacionadas à segurança para se preocupar.
Quando não estiver em execução em um tempo de execução do ar, o carregador exigirá um arquivo de política de URL para o domínio do jogo que está sendo carregado. Todos os jogos têm isso (por exemplo, Transformice's: https://www.transformice.com/crossDomain.xml), exceto o FORTORESSE, fazendo com que ele não carregue. Além disso, todos os jogos solicitarão um arquivo de política de soquete para localhost:11801 .
Quando o jogo solicitar um arquivo de política de soquete para localhost:11801 , primeiro ele tentará a porta 843 . Não, não, ele tentará a porta 10801 e, se isso também falhar, finalmente tentará a porta de destino, 11801 . Portanto, um servidor de políticas de soquete pode ser executado na porta 10801 , removendo a necessidade de o usuário final desativar quaisquer recursos de segurança (para outros jogos que não a FORTORESSE) e permitindo que a porta 11801 seja dedicada ao fluxo típico de pacotes.
No entanto, se você estiver usando o projetor independente e executando o carregador de um arquivo, poderá desativar tudo o que se preocupa com os arquivos de política. Para fazer isso, você pode colocar um arquivo no local correspondente para sua plataforma:
%AppData%/Macromedia/Flash Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg~/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg~/.macromedia/Flash_Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg O conteúdo do arquivo deve ser o caminho do diretório, que contém o SWF do carregador proxy; portanto, por exemplo, se o caminho do carregador for /path/to/TFMProxyLoader.swf , o conteúdo do arquivo de configuração no local acima deve ser /path/to .
Isso permitirá que a FORTORESSE carregue e impeça que todos os jogos solicitem um arquivo de política de soquete. Se você conhece outra maneira de realizar uma dessas coisas, entre em contato.
O carregador proxy tem um tamanho diferente dos vários carregadores de baunilha. Isso é digno de nota, porque o pacote de handshake inclui o valor do stage.loaderInfo.bytes.length , correspondendo ao tamanho não compactado do SWF do carregador original e, se o servidor receber um valor inesperado para esse campo, fechará a conexão e o jogo exibirá uma mensagem "Incorrect versão". Portanto, o proxy ao qual o carregador se conecta deve tomar cuidado para substituir esse valor por um tamanho válido.
Um tamanho de 0x1FBD funcionará para todos os jogos, pois esse é o tamanho correspondente do arquivo TransformiceAIR.swf na versão independente do Windows, que pode ser usada para iniciar todos os jogos.
O carregador envia certos pacotes personalizados que não estão incluídos no protocolo de baunilha. Esses pacotes são chamados de pacotes de "extensão" e têm o seguinte formato:
(255, 255) . Isso parece estar seguro do protocolo de baunilha.writeUTF / readUTF ), representando o ID do pacote aninhado.Isso é semelhante a como os pacotes de plataforma de tribular/comunidade são usados pelo jogo.
A impressão digital dos pacotes de extensão será sempre 0 e deve ser ignorada para não dessincular as impressões digitais dos pacotes de baunilha.
O carregador enviará um pacote de extensão que contém as fontes de chave do pacote para o proxy para que o proxy possa decifrar (e re-cifra) certos pacotes. Este pacote é enviado antes de outros pacotes. Tem o seguinte formato:
"packet_key_sources" .Depois de enviar as fontes de chave do pacote, o carregador enviará um pacote de extensão que contém a "chave de autenticação" usada para o pacote de login. Tem o seguinte formato:
"auth_key" .O carregador também enviará um pacote de extensão para as informações do servidor principal, ou seja, seu endereço e portas. Este pacote é enviado antes do pacote de handshake. Tem o seguinte formato:
"main_server_info" .