Get it on Google Play


Wm뮤 :: '게임메이커' 카테고리의 글 목록

블로그 이미지
가끔 그림그리거나 3D모델링하거나
취미로 로봇만드는
퇴직한 전자과 게임프로그래머
2020.3.48f1 , 2022.3.6f1 주로 사용
모카쨩
@Ahzkwid

Recent Comment

Archive


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년도 뉴비일때 만든거라 지금 뜯어보면 개구릴거같음

아래 예제파일은 걍 비트치환만 넣었던거같다

원랜 실행파일도 있었는데 내 컴퓨터 보안이 개똥일때 만든거라

트로이목마나 바이러스 있을수도 있음

나중에 코드 찾으면 걍 코드로 올림
 

 

 
 
posted by 모카쨩
2023. 9. 26. 13:39 게임메이커

 

2015년에 네캎에  썼던글 이전함

 
 
display_get_width();
Screen.width;
 
display_get_height();
Screen.height;
 
mouse_check_button(mb_left);
Input.GetMouseButton(0);
 
mouse_check_button_pressed(mb_left);
Input.GetMouseButtonDown(0);
 
mouse_x
Input.mousePosition.x
 
mouse_y
Input.mousePosition.y
 
point_distance(x1, y1, x2, y2);
Vector2.Distance(a : Vector2,b : Vector2);
 
point_distance_3d(x1, y1, z1, x2, y2, z2);
Vector3.Distance(a: Vector3,b : Vector3);
 
 
Mathf.Min(입력0, 입력1, 입력2, 등등...);
min(입력0, 입력1, 입력2, 등등...);
 
Mathf.Max(입력0, 입력1, 입력2, 등등...);
max(입력0, 입력1, 입력2, 등등...);
 
Mathf.Clamp(입력0, min, max);
median(입력0, 입력1, 입력2, 등등...);
 
null
noone
 
Input.GetAxisRaw("Horizontal")
device_get_tilt_x()
 
Input.GetAxisRaw("Vertical")
device_get_tilt_y()
 
 
Application.LoadLevel ("ro_menu");
room_goto(ro_menu);
 
draw_set_color(c_white);
GUI.color = Color.white;
 
draw_sprite(x,y,sprite);
GUI.DrawTexture(new Rect(Screen.width / 2, 0, Screen.width / 2, Screen.height), texure, ScaleMode.ScaleToFit, true);
 
draw_text(x,y,text);
GUI.Label(new Rect(0, 0, 128, 128), text);
 
-----------------
 
Input.GetAxis("Mouse X")
마우스X좌표의 변위값을 추출
이전좌표값-현재좌표값
 
Input.GetAxis("Mouse Y")
마우스Y좌표의 변위값을 추출
이전좌표값-현재좌표값
 
transform.Find("부모/차일드");
해당 차일드를 찾아서 차일드 값을 리턴
없을경우 null을 반환
 
 
 
System.Threading
확인중... 멀티스레드와 관련있는듯
 
Quaternion(x : float, y : float, z : float, w : float)
배열 x,y,z,w를 입력하여 쿼터니언 벡터값 생성

'게임메이커' 카테고리의 다른 글

8bit 치환 암호 라이브러리 생성 프로그램  (0) 2023.09.26
posted by 모카쨩

  • total
  • today
  • yesterday

Recent Post

저사양 유저용 블로그 진입