2023. 9. 26. 13:52
게임메이커
방식 (랜덤키,랜덤값)
substitution_cipher_incode(키값,입력값)
substitution_cipher_decode(키값,입력값)
코드를 짜주는 코드, 겜메로 만들었다
본래 입력값에 +2를 해주는 시저암호를 개량해서
vigennere cipher 라는 치환암호가 나왔는데 대응되는 키값만 알면 금세 해독되기에
이걸 개량해서 랜덤키를 사용하게 만들었음
방법만 알면 금세 해독당하게 되는 암호체계라서 스크립트 자체가 노출되게 하지않는것이 중요
가능하면 다른 암호 체계랑 같이 쓰는것이 좋음(소수암호라던지)
난독화는 적용되어 있지 않음
이걸 써서 암호화를 하면 용량이 2배로 증가함
사용방법은 8비트 값을 읽어들여서 키값과 함께 저장하면 됨
**예시
파일
{
키값(랜덤)(8bit,0~255)
인코딩한 실제값(8bit,0~255)
인코딩한 실제값(8bit,0~255)
인코딩한 실제값(8bit,0~255)
인코딩한 실제값(8bit,0~255)
}
초딩도 해석 가능하며 스크립트를 직접적으로 노출시킴
파일
{
키값(랜덤)(8bit,0~255)
인코딩한 실제값(8bit,0~255)
키값(랜덤)(8bit,0~255)
인코딩한 실제값(8bit,0~255)
키값(랜덤)(8bit,0~255)
인코딩한 실제값(8bit,0~255)
키값(랜덤)(8bit,0~255)
인코딩한 실제값(8bit,0~255)
더미비트(짝수인지 모르도록 추가)
}
위보다는 어려워짐
**예시
파일
{
키값(랜덤)(8bit,0~255)
인코딩한 키값2(랜덤)(8bit,0~255)인코딩한 실제값(8bit,0~255)키값(랜덤)(8bit,0~255)인코딩한 키값2(랜덤)(8bit,0~255)인코딩한 실제값(8bit,0~255)키값(랜덤)(8bit,0~255)
인코딩한 키값2(랜덤)(8bit,0~255)인코딩한 실제값(8bit,0~255)키값(랜덤)(8bit,0~255)
인코딩한 키값2(랜덤)(8bit,0~255)인코딩한 실제값(8bit,0~255)더미비트(3의 배수인지 모르도록 추가)
}
더 복잡해진 암호화
포터블판은 스크립트 용량을 1/3로 한것 기능은 같음
세이브 파일 암호화 할때 유용
사용하는 언어에 맞게 적절히 변형해 주면 됨여(겜메용으로 되어있음, 대부분 호환 되겠지만)
랜덤키 랜덤값 방식이라 암호화된 파일을 포장해서 줄때 쓰면 해독하는데 오래걸릴듯
라고 14년도 뉴비일때 만든거라 지금 뜯어보면 개구릴거같음
아래 예제파일은 걍 비트치환만 넣었던거같다
원랜 실행파일도 있었는데 내 컴퓨터 보안이 개똥일때 만든거라
트로이목마나 바이러스 있을수도 있음
나중에 코드 찾으면 걍 코드로 올림
'게임메이커' 카테고리의 다른 글
(gms<=>유니티) 변수,함수 변환 & 유니티 함수 레퍼런스 (0) | 2023.09.26 |
---|