고객이 로컬 프록시에 연결하도록하는 Transformice 및 기타 Atelier 801 게임을위한 커스텀 로더.
빌드하려면 asconfig.json 파일을 사용하여 TFMProxyLoader.swf 파일을 컴파일해야합니다. 이것은 vscode-as3mxml 또는 asconfigc로 수행 할 수 있습니다.
OU는 또한 다음 라이브러리의 SWC 파일을 lib 폴더 아래에 asconfig.json 파일과 같은 수준으로 배치해야합니다.
번거 로움을 저장하려면이 저장소의 릴리스에 미리 구축 된 SWF도 있습니다.
이 로더를 사용하려면 TFMProxyLoader.swf 파일을로드해야합니다. Transformice의 Steam 버전을 사용하는 경우 게임의 로컬 파일을 열고 포함 된 Transformice.swf 파일을 TFMProxyLoader.swf 로 바꾸어야합니다 ( Transformice.swf 로 변경).
로드하면 다음 게임에 대한 버튼이 있습니다.
버튼을 클릭하면 해당 게임을로드하고 포트 11801 의 localhost 에 연결합니다. 예를 들어 Caseus의 프록시와 같은 프록시 청취를 실행해야합니다. 게임은 정상적으로 시작되며 마치 일반 서버에 연결하는 것처럼 프록시에 연결됩니다.
또한 'ENTER'키를 누르면 마지막으로로드 된 게임이로드되어 마우스 프레스를 우회 할 수 있습니다.
Transformice의 Steam 버전과 같이 에어 런타임에서 로더가 에어 런타임에서 실행될 때 다음 섹션 중 어느 것도 적용되지 않습니다. 그렇지 않으면, 소란스러워 할 추가 보안 관련 사항이 있습니다.
에어 런타임에서 실행되지 않으면 로더에는로드되는 게임 도메인에 대한 URL 정책 파일이 필요합니다. 모든 게임에는 이것 (예 : 변형 : https://www.transformice.com/crossdomain.xml )이 있습니다. 또한 모든 게임은 localhost:11801 에 대한 소켓 정책 파일을 요청합니다.
게임이 localhost:11801 에 대한 소켓 정책 파일을 요청하면 먼저 포트 843 시도합니다. 실패하면 포트 10801 시도하고 실패하면 마침내 대상 포트 ( 11801 를 시도합니다. 따라서 소켓 정책 서버는 포트 10801 에서 실행할 수있어 최종 사용자가 Fortoresse를 제외한 게임의 경우 모든 보안 기능을 비활성화 할 필요가 없으며 Port 11801 일반적인 패킷 흐름에 전념 할 수 있습니다.
독립형 프로젝터를 사용하고 파일에서 로더를 실행하는 경우 정책 파일에 대한 모든 소란을 비활성화 할 수 있습니다. 그렇게하려면 플랫폼의 해당 위치에 파일을 배치 할 수 있습니다.
%AppData%/Macromedia/Flash Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg~/Library/Preferences/Macromedia/Flash Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg~/.macromedia/Flash_Player/#Security/FlashPlayerTrust/TFMProxyLoader.cfg 파일의 내용은 프록시 로더 SWF를 포함하는 디렉토리의 경로이어야하므로 로더의 경로가 /path/to/TFMProxyLoader.swf 인 경우 위 위치에있는 구성 파일의 내용은 /path/to 되어야합니다.
이를 통해 Fortoresse는 모든 게임이 소켓 정책 파일을 요청하지 못하게 할 수 있습니다. 그 중 하나를 달성하는 다른 방법을 알고 있다면 알려주십시오.
프록시 로더는 다양한 바닐라 로더와 크기가 다릅니다. 핸드 셰이크 패킷에는 stage.loaderInfo.bytes.length 의 값이 포함되어 있기 때문에 원래 로더 SWF의 압축되지 않은 크기에 해당하며 서버 가이 필드에 대해 예상치 못한 값을 수신하면 연결이 닫히면 "잘못된 버전"메시지가 표시됩니다. 따라서 로더가 연결하는 프록시는이 값을 유효한 크기로 교체하기 위해주의를 기울여야합니다.
0x1FBD 의 크기는 모든 게임에서 작동 할 수있는 Windows 독립형 버전의 TransformiceAIR.swf 파일의 해당 크기이므로 모든 게임에 해당하는 크기입니다.
로더는 바닐라 프로토콜에 포함되지 않은 특정 사용자 정의 패킷을 보냅니다. 이 패킷은 "확장"패킷이라고하며 다음과 같은 형식이 있습니다.
(255, 255) 입니다. 이것은 바닐라 프로토콜로부터 안전한 것 같습니다.writeUTF / readUTF )으로 시작합니다.이것은 게임에서 Tribulle/Community 플랫폼 패킷을 사용하는 방법과 유사합니다.
확장 패킷의 지문은 항상 0 되며 바닐라 패킷의 지문을 동기화하지 않으려면 무시해야합니다.
로더는 패킷 키 소스가 포함 된 확장 패킷을 프록시로 보냅니다. 프록시가 특정 패킷을 해독 (및 재사용) 할 수 있도록합니다. 이 패킷은 다른 패킷 전에 전송됩니다. 다음 형식이 있습니다.
"packet_key_sources" 입니다.패킷 키 소스를 전송 한 후 로더는 로그인 패킷에 사용되는 "인증 키"가 포함 된 확장 패킷을 보냅니다. 다음 형식이 있습니다.
"auth_key" 입니다.로더는 또한 기본 서버 정보, 즉 주소 및 포트에 대한 확장 패킷을 보냅니다. 이 패킷은 핸드 셰이크 패킷 전에 전송됩니다. 다음 형식이 있습니다.
"main_server_info" 입니다.