2009년 10월 15일 목요일

[컴퓨터상식] 해쉬값과 파일동기화

이 게시글은 제 네이버 블로그 컴퓨터관련 블로그에 더 적합하지만

 

의문은 풀고 넘어가는것이 좋을듯해서 여기다 포스팅 해봅니다.

 

===================================================================================

파일해쉬값이란,?

 

파일고유정보 즉 사람으로 따지면 주민번호 또는 DNA와도 같은 역활을 합니다.

 

요즘 대형웹하드에서 구현하는 저작권단속에서 이 고유의 해쉬값을 자동저장시켜서 저작권자료를 삭제하고 있습니다. 초기배포자는 1명이지만 파일이 퍼지는순간 그걸 누가 조작하면 바뀌는 해쉬값

 

제가 이용하는곳은 그래서 해쉬값+파일이름+파일제목까지 자동으로 검색을 해서 삭제하더군요

 

밀반적으로 프로그래머 들이 파일을 만들어서 배포전 해쉬값은 자동으로 들어가집니다.(최종완성본이 최종해쉬값으로 사용이 됩니다. 이건 누가 넣는게 아닙니다. 파일이 만들어지는 순간 생성됩니다,)

 

컴퓨터 안에 수많은 파일들이 관리가 되는것이 이 해쉬값을 기반으로 데이터를 관리한다고 보시면됩니다.

 

해쉬값분석 프로그램의 경우

 

저 같은 경우는 원본OS를 구해야 하기때문에 필수로 사용합니다.

 

이유는 여기저기서 트윅OS를 내놓고 파일명 똑같이 해놓으면 이것이 마이크로소프트사의 MSDN을 통해서 유출또는 배포되는것인지 아니면 빙빙돌아서 누군가의 작업을 거친것인지 확인할수가 없기때문에

 

해쉬값 정보파일을 보고 파일을 분류해야합니다.

 

마이크로소프트 또는 스토어등에서 판매되는 제품들은 제품과 함께 해쉬값도 기록해둡니다.

 

이런것을 방지 하기위해서 OS쪽은 NFO에 파일에 관련된 해쉬값도 기록을 해둡니다.

 

받는 분들도 쉽게 확인할수 있고 올리는 분들도 이것이 진품이다라는것을 쉽게 확인시켜줄수도 있으니 너좋고 나좋고 서로 편한 방법이기도 합니다.

 

쉽게보면 우리애들은 이런 주민번호와 DNA를 갖고 있다 다른데서 구입할때 주의를 바랍니다 라는것을 소비자에게 알려줘서 도움이 되는 부분이 있습니다.

 

 

위 파일을 받아서 설치만 해주면 해쉬값을 비교또는 확인할수 있게 됩니다.

 

어디서 많이 보던 장면을 여러분들도 보실수 있게 됩니다.

 

OS를 다루는 분들에게는 필수적인 프로그램중 하나입니다.

 

이쪽 세계도 낚시가 많기 때문이죠 어느정도 낚시를 해결할수 있습니다.(중국애들 낚시가 좀 쩝니다.)

 

다음

 

프로그래머들이 하는 작업중 하나는 패키지작업전에 파일을 동기화시킵니다.(파일날짜 + 시간 등. 이건 PSP게임만 이런것이 아닙니다. 모든 패키지게임이나 유틸리티에서도 판매또는 배포전 한번은 거치고 가는것이 동기화작업입니다.)

 

즉 날짜 + 시간 + 년도 등을 특정날짜로 바꾸어서 패키지를 합니다.

 

동기화를 하는 목적은 여러가지가 있을수 있습니다만 그중 하나는 이건 우리회사에서 만들어서 발매한다

 

라고 또는 이것이 최종본의 정보입니다. 유저분들은 이 정보를 참고하시면됩니다. 라는 부분도 깔려있습니다.

 

파일의 정확한 정보를 확인하시려면 해쉬값 + 파일정보의 날짜 시간 년도 정보가 일치해야됩니다.

 

그러기 위해서는 중요한것이 있습니다. 원본이 있어야 확인이 가능하지요 없을경우 확인이 아쉽게도 안됩니다. 또는 누군가가 원본의 정보를 해쉬값을 볼수 있는 여러가지 툴을 이용해서 조작없이 올려야 가능합니다.

 

이유는 PSP용 게임을 예를들면

 

1.디그립트시 해쉬값 날짜정보등이 컴퓨터의 현재시간으로 재구성 됩니다.

 

2.UMDGEN을 통해서 UMD안의 내용을 릴할경우 역시 안의 중요한 내용들은 동기화된 날짜와 시간을 해쉬값을 유지 합니다. 만들어진 파일은 현재 컴퓨터의 시간으로 재구성되며 해쉬값이 바뀌게 되어있죠 어째거나 패키지된 최종 릴은 복사 또는 변형이 되어있으니 바뀌는게 당연한겁니다.

 

3.동기화된 날짜와 시간 정보는 동기화관련 프로그램으로 바꿀수 있습니다. 또는 CMD명령어를 사용하여 바꿀수도 있습니다. 프로그래머들은 CMD명령어로 일괄변경시킵니다.

 

자 그럼 빼도 박도 못하는 파일의 정보값을 알려드리겠습니다.

 

일단 저의 마제릴의 원본 해쉬와 파일정보입니다.

 

요즘 디그립트 열풍으로 인하여 EBOOT.BIN 파일의 경우 타인에게 받은 경우는 해쉬값이

엄청 다양할겁니다. 당연한겁니다. 원본만 있으면 누구나가 할수 있는것이 디그립트 입니다. 디그립트 방법이 어려운게 아니라는건 해본분들은 다 아는 사실중 하나입니다.

 

하지만 초기배포자의 것을 받을 경우 원본일 경우 또는 변형되지 않은것을 받으면 이것과 동일한

 

동기화된 날짜의 것을 다운로드 받게됩니다. 문제는 배포이후에 나오는 것이니까요

 

어려우시면 간단하게 생각하세요 이것을 디그립트 하기위해서 UMDGEN으로 끄집어 내는순간

 

파일은 현재날짜로 수정됩니다. 물론 해쉬값도 바뀝니다.

 

재미있는것 : PC의 시간과 날짜를 년도를 자신의 좋아하는 시간으로 만드시고 파일을 저장해보세요 좋아하시는 날짜와 시간으로 파일이 최종 저장이 됩니다.

 

이것은 UMD안의 것을 해쉬값으로 본것입니다.

 

앞서 밝혔듯

UMDGEN을통해서 확인하고자 빼서 보면 해쉬값이 바뀐다고 명시를 했습니다

 

그럼 어떻게 해쉬값을 안바꾸고 봅니까 말이 되나요

 

말이 됩니다.

 

PC용 ISO툴을 이용하시면 됩니다. 위에것은 데몬이라는 ISO를 불러올수 있는 파일로 PSP용 게임 ISO를 불러서 가상드라이브에 접근하셔서 해쉬값을 열면 간단하게 해결됩니다. 이외 엄청 다양한 방법이 있습니다.

PC용 ISO관련 툴이 한두개가 아닙니다. 가장 대표적인것중 하나가 데몬일뿐입니다.

 

추가로 우리가 CD또는 DVD에 파일을 저장할경우 파일은 변경불가능하게 바뀌게 됩니다.

 

즉 "읽기전용" 파일로 바뀌게 됩니다. 어차피 CD나 DVD안에서 파일을 직접적으로 수정하는 경우는 없으니까요 ..? 레코딩시 자동으로 읽기전용으로 모든파일이 동기화가 이루어집니다. 요즘 프로그램 똑똑하잖아요

 

만약에 실험을 해보고싶으시다면 바탕화면의 필요없는 TXT문서를 하나만들어 보시고 수정을 하시고 저장해보시면 아시게됩니다. 읽기전용이라 이후 수정은 파일정보를 수정해야 가능해집니다.

 

의문

님하 그럼 왜 마제 플러스 전체파일의 해쉬값은 안보여주시나요.?

 

우리가 일반적으로 받아서 사용하는 PSP 게임의 경우는 UMDGEN을 통해서 세상밖으로 나오는겁니다.

 

그래서 위에 언급했듯 해쉬값이며 파일의 고유동기화는 변형이 됩니다.(만들어진 파일에만 적용됨)

 

의문

님하 그럼 UMD안의 ISO를 그냥 퍼다가 올려주시면 되잖아요

 

UMD안의것을 하드에 넣을경우 역시 2가지 문제가 나오게 됩니다.

 

1.UMD안의 파일과 동일한 해쉬값이 아닙니다. 이미 복사를 하게되면 해쉬값도 바뀝니다. 의미가 없어지는거지요

2.그보다 중요한것은 게임중 누크발생으로 여러가지 문제가 나옵니다.

3.누크가 발생하지 않는다라면 UMD안의 ISO를 압축해버리면 해쉬값과 동기화정보는 많은 유저분들과 공유가 가능합니다. 하지만 2번의 문제는 누가 책임을 지고 리팩을 할것인지..?

 

얼마전 해적릴팀에 대해서 의문을 강하게 제기했습니다.

 

그 릴팀에서 마제의 원본을 직접 릴떠서 배포했다라면 위에 그림과 동일하게 해쉬값과 파일정보가 일치해야됩니다.

 

이미 디그립트된걸 배포했다라면 당연히 틀립니다.

 

그런데 해적릴팀에서 놓친 부분이 하나 있지요

 

그것은 바로

 

닌회의 릴로 장난질을 했다는 저의 의구심을 유발시킨것이

 

1.닌회가 배포하자마자 릴이 뜨더라 (하드에서 직접 릴은 빠르지만 UMD에서 하드로 릴을 할경우 그 속도는 안해본 분들은 실감이 안날겁니다. 요즘 1기가만 넘어도 지겨운 속도를 깨달고 있습니다.)

2.닌회는 EBOOT.BIN 원본까지 배포했더라

문제는 닌회가 원본해쉬값을 봤을리도 없고 끄집어낸 해쉬값을 봤을리도 없습니다.

 

여기서 중요한것 2번의 경우 이미 증거자료가 다 소실되었다 보면됩니다.

 

이유

UMDGEN을 통해서 닌회가 배포한 EBOOT.BIN을 넣고 다시 추출만 해도 해쉬값과 파일 동기화는 완전 다른놈으로 바뀝니다. 해쉬값이야 수정하면 변하는것이지만 파일 고유의 해쉬값은 존재를 합니다. 임의적으로 똑같이 수정 편집이 되지도 않습니다. 그래서 고유해쉬값을 중요하게 여기는 분들이 엄청납니다. 적어도 제가 활동하는 컴퓨터관련 OS사이트에서는 해쉬값 틀리다는 리플하나에 다운로드하는 분들의 수도 줄어들게됩니다. 누구나 어떤 프로그램이든 차후를 대비해서 원본을 갖고 있다가 그걸 응용한 수정을 하는데 편리 하게됩니다. PSP게임 역시 본인이 직접 디그립트를 해보고 싶다라면 원본이 필요하거나 원본 EBOOT.BIN이 필요하게됩니다. 후자의 경우를 선택하는 분들은 몇안계실듯합니다.

 

두번째 동기화 이건 프로그램과 방법이 다양합니다.

날짜야 바꾸면 그만입니다.

 

하지만 여기서 중요한것이

원본 해쉬값과 동기화된 날짜가 존재하기때문에 2가지다 일치가 되야됩니다.

 

닌회자료에 대한 의문을 풀어볼수 있습니다.

 

닌회가 이걸 확인하고 배포했을리는 만무합니다.

 

하지만 닌회가 정품을 구입했다라면 UMD안의 해쉬값과 동기화된 정보는 제것과 동일합니다. 아니 동일 해야 그것이 본인들 릴이 되는겁니다. 우기는게 아닙니다. 파일의 특성입니다.

 

물론 해적릴팀이 원본을 뿌렸다라면 위 그림과 100% 일치가 해야하는것이죠. 틀리면 말다한겁니다.

 

더 크게본다라면 모토스톰 정품UMD를 갖고 있는 분들이라면 모두 동일한 해쉬값을 갖고 있는 파일을 소장중이라고 보시면 이해가 좀더 쉬울겁니다.

 

왜 패키지된 시간과 날짜는 이미 UMD에 똑같이 적용되기때문입니다.

 

누차 강조하지만 생산자들이 내놓는 파일의 고유값과 정보는 변하지 않습니다. 이유는 저장은 가능하고 직접적인 수정이 불가능한 READ ONLY매치인 CD/DVD/UMD/기타 미디어를 구매하게되기 때문입니다. 바꿀수가 없지요 이 정보는 미디어가 박살날때까지 따라갑니다.

 

동기화된 모터스톰의 EBOOT.BIN의 정보입니다.

이 경우는 UMD를 직접 억세스후 ISO툴을 이용하여 불러와서 편집을 할수도 없습니다.

일단 해적릴팀은 이것부터 일치 해야됩니다. 하지만 이건 앞에서도 밝혔듯 간단하게 똑같이 바꿀수 있습니다. 합성된 인증샷보다는 이게 더 설득력을 갖게됩니다. 이건 UMD안의 정보입니다. 변경가능한 분 손~

파일위치까지는 조작이 가능합니다. 대충 파티션 하나 나눠서 똑같이 넣거나 메모리스틱에 풀어서 복사해도 비슷한 파일위치표기가 가능합니다. 그래서 파일위치는 신빙성이 떨어집니다.

하지만 나머지들은 어떻게해결할런지. 일단 이 그림은 너도나도 조작이 가능하니 넘어갑니다.

 

 

UMD안의 모토스톰 EBOOT.BIN의 고유해쉬값 입니다.

이건 복사나 편집시 바뀝니다. 다시 말하지만 UMDGEN을 통해서 UMD안의 EBOOT.BIN을 추출만 해도 이미 동기화부터 해쉬값이 바뀝니다. (궁금하신분들은 가지고 계시는 아무게임이라도 괜찮습니다. 저처럼 확인후 추출해보시면 제 말을 이해하실겁니다.)

이것은 너도나도 편집 조작이 불가능합니다. UMD안의 내용물을 UMD안에서 편집/수정/저장은 안됩니다.

이것을 바꿀려면 외부로 끌어와야하죠 그것을 해주는것이 UMDGEN이나 ISO툴입니다.

하지만 저의 경우는 그냥 UMD안으로 쳐들어가서 해쉬값을 본겁니다.

즉 이 해쉬값은 정품을 구입해서 손에 모터스톰 UMD가 있다라면 100개든 1천개든 다 같은 값이라야 합니다.

 

하지만 사람에게도 주민번호와 지문이 있듯 파일에도 존재 합니다. 이미 패키지된 내용의 해쉬값은 원본의 경우 절대 변하지 않는다라는걸 명심해주세요

 

혹 원본UMD가 있으시다라면 직접 테스트 해보시면 됩니다.

 

굳이 마제나 모터스톰까지도 필요없습니다.

 

결론은 2가지중 제일중요한 해쉬값이 일치가 안된다라면 답은 나온겁니다.

 

하지만 닌회는 실수인지 아니면 우연인지는 모르지만

 

EBOOT.BIN을 UMDGEN을 통해서 추출후 배포했을거라 봅니다. 디그립트 할라면 이과정을 진행해야 하니까 어쩜 당연한것인지도 모르겠습니다.

 

이것을 받은 해적릴팀의 해쉬값이 위의 그림과 일치가 하지 않을경우 이제 더 말안해도 될거 같습니다.

 

UMDGEN을 통해서 넣고 다시 빼고 넣고 작업만 해도 해쉬값은 수억개 파일 저장한 현재 정보등도 수억개가 발생하니까요

 

이러한 이유로 제가 전에 모 사이트를 통해서 배포전 제 릴의 해쉬값을 공개한 이유기도 합니다.

 

하지만 그 해쉬값의 경우 이름바꾸기로는 변하지 않지만 UMDGEN에서 재릴을 할경우 해적릴 탄생을 의미하기도 합니다.

 

UMD안사고도 누구든지 릴을 할수가 있다라는것이됩니다.

 

릴 이후 해쉬값의 변동을 막을수 있는건 릴자료를 압축으로 배포하면 다운받은분들이 압축을 풀경우 배포자의 해쉬값과 같습니다.

 

또한 초기 릴 배포자가 원본과 디그립트를 같이 배포하는것도 좋은 방법이 됩니다.

 

하지만 UMDGEN은 누구나 쉽게 활용할수 있는 프로그램이라는건 잊지마세요

 

불러와서 저장 또는 개별추출만 해도 정보가 바뀝니다.

 

오늘은 좀 바쁜 하루가 될듯합니다.

 

블로그 이전이라 채워야 할 정보들이 좀 있는데 네이버에서 긁어오면 그림이 X자 표시나서 작업을 하려니 그게 여간 큰작업이 아니네요 암튼 빠른시일내로 네이버에 있던 유익한 정보정도는 빼오거나

새로 작업해서 올릴 생각입니다.

 

 

날 추운데 좋은 하루되세요

 

댓글 없음:

댓글 쓰기