티페리
2022-03-24 12:30
조회: 23,372
추천: 19
2009년 전설의 픽파킷 사건의 코드 상 문제 분석안녕하세요. 댓글을 보다 보니까 제가 너무 헛 짓거리를 했더 군요. 정말로 죄송합니다. 저 튄 거 아닙니다... 다만 다시 한 번 제대로 분석을 하기 위해 전공 책을꺼내 들어서 내용을 다시 한번 훑어 보고 있었고, 여러분들의 조언들을 다 모니터링 중이었습니다. 일단 생각보다 이 사건의 원인이 경우의 수가 너무 많습니다. 제가 한 게임의 문제에 대해 너무기만을 했네요. 다시 한 번 죄송합니다. 대략 지금까지 생각나는 고려사항은 다음과 같습니다. -픽파킷이 메소를 출력하는 값이 정수 형인가? 실수 형인가? -그렇다면unsigned인가 signed인가? -두가지의 차이는 양수, 음수를 결정하는 1bit가 있다는 점이다. 위의 문제가 원인이라면, 여기가 가장 가능성이 커 보인다. -실수형이라면IEEE에 따른 어느 부분에서 문제가 생겼는가? -픽파킷에서 나온 돈이 주머니 형태인 걸로 보아 픽파킷의 메소 값을 출력하는 메소드에원인이 있을 가능성도 크지만, 다음의 경우도 있다. -픽파킷이 결과로나온 값을 메소로 필드에 만드는 과정(어떤 메소의 형태로 출력하는가,값이 얼마나 되는가 등등)에서 문제가 생긴 가능성도 있어 보입니다. -아직 언더(혹은 오버)플로우에 따른 값의 비 정상화가 가장 가능성이 크다고 개인적으로 생각해봅니다. 문제는 요즘 코딩 시스템들이 자동적으로 값의 오버 플로우, 언더 플로우와같은 변수형의 크기에 따른 오류가 생기면 아예 실행도 못하게 막아 버리는 지라, 최악의 경우에는 이론책을바탕으로 수작업으로 계산해야 할 수도 있습니다.(강제 연산을 시키는 법 아시는 분 계신가요? 혹시 있으시면 쪽지 주시면 감사하겠습니다.) 그리고 가장 최악은 메이플스토리가 자체 엔진이라 같은 [실수]라도 다른 자체엔진의 게임과는 다른 식으로 출력,저장이 될 수 있습니다. 즉, 정말 경우의 수가 너무 많습니다. 대략 계산해도 2,30가지 까지도 갈 것 같아요. 하겠습니다. 오래 걸리더라도, 처음부터저 자신을 위해 해본 분석이니, 기다려 주신다면 감사하겠습니다. 주기적으로과정을 덧붙이겠습니다. 쓸데 없는 글을 읽게 하여 정말로 죄송합니다. 감사합니다.
EXP
320
(20%)
/ 401
티페리
|
인벤 공식 앱
댓글 알람 기능 장착! 최신 게임뉴스를 한 눈에 보자