??게임에서 언팩시도중인데...
내가 까려는 게임의 파일에선 ZIP파일의 형식을 그대로 사용하고있고 다만 암호화만 되어있는 압축파일 형식이야.
그래서 내가 우습지만 이 게임전용 (언패커) < 를 만들어보고싶어서 파이썬으로도 직접 한번 만들어봤어.
(우선 나는 코딩 관련에 대해서 잘 모르기에 밤새 인터넷을 이리저리 다 뒤져서 어설프게 뚝딱 뚝딱 만들어본거야.)
어찌 되었든 내가 만든 코드에서는 zip 파일 구조에 대한 알고리즘을 사용했고
내가 시도하는 게임의 파일 구조는 nsz 라는 형식을 가진 파일이야. (압축파일 형식인데 헤더값을 변경하여 파일 내용을 볼수없게 만든 형태같음)
어쨌든 zip 파일 구조에 대한 알고리즘을 통해 nsz < 헤더값을 변경하여 pk < 올바른 파일구조로 자동으로 변환 시킬 수 있게 했어,
또한 나한테 이 게임의 복호화 공식이 있어서 복호화 공식을 사용해서 압축파일 안에 있는 파일 하나하나의 비밀번호 추출이 가능하도록 코드를 추가해서 더 만들었고,
최종적으론 내가 만든 프로그램에선 선택한 파일을 자동으로 헤더값을 변경하여 올바른 zip파일 구조로 변환시킨 후
그 압축파일 안에 있는 여러개의 게임파일들 비밀번호를 추출할수 시킨 후 파일을 따로따로 선택하여 압축을 풀수있는 기능까지 만들었어.
하지만 문제점이 있는데
내가 수동으로 각자파일을 하나하나 복호화 공식을 사용해서 추출해도 그렇고, 내가 만든 프로그램으로 파일을 추출을 해도
손상된 파일이라고 압축이 풀리질 않아.
근데 여기에서 이상한점은 제일 상단에 있는 파일 단 한개만 정상적으로 추출되고 같이 압축되어있는 나머지 파일들은 추출이 되지 않는다는거지.
예시 ) 많은 파일들이 하나로 압축되어있는데 이 압축되어 있는 파일중 단 하나의 파일(제일상단파일) 만 추출이 되고, 나머지 파일은 파일이 깨졌다며 추출이 되지않음.
나머지 다른 파일들은 ( 헤더오류 : 잘못 입력된 암호? ) 라고 뜸.
이럴경우엔 뭐가 잘못된걸까?
너무 궁금해서 내가 까보려는 게임에서 이미 언팩을 다해본사람한테 한번 물어봤는데
파일을 하나하나씩 압축해제해야된다고 하던데 그래도 되질않아. 뭐가 문제인지 너무 궁금해서 고수들한테 조언구하러 DC가입했어 조금 도움좀 주라 ~~
그니까 .nsz라는 확장자를 가진 파일이 여러개 압축된 파일이고 aes암호화든 뭐든 암호화되어있어서 복호화를 시키고 zip파일로 추출한다는 말이지? 안에 합쳐져 있는 파일들이 개별적으로 암호값이 다르게 설정되어있어서 툴로 따로하나하나 추출해야된다는 말인거같은데
zip암호화여도 다같은 암호화도아니고 aes 128인지 zip 2.0인지 aes 256인지 생각해보고 여러개 추출시 첫번째 파일이 제대로 추출된다면 첫번째 파일이랑 같은 알고리즘이 적용되도록 해야될거같은데 키테이블은 알아냈음?
복호화시에 키 값이랑 및 라운드가 있을텐디 개별로 정확히 추출된다면 만든거에 문제가있다기보다는 한번에 뽑을때 개별 파일로 나눠서 라운드 진행하는게 아닌거 아님? 파일마다 pe헤더는 원래 따로있는거고
개별 추출시함수를 그냥 여러번 반복시키셈 파일명을 리스트로 만들어서 비슷한 복호화툴 만들어본적있는데 다른겜이라서 할말은 없는데 aes암호화로 데이터만 들어있어서 뽑을때는 파일별로 헤더를 다시설정해줬어야 됬던거같음
맞아 좋은 정보 고마운데... 나는 말했듯이 전문적인 지식이 없이 일단 도전하고 보는거라 정확하게 말하기가 조금 힘든감이있네... 일단 시작점은 이 게임의 복호화 공식+푸는방법 을 얻는 순간부터였어. 그래서 하나하나 풀어보다가 성공했던게 첫 출발점이고 그 첫 성공이 파일 하나만 추출되는거야. ㅇㅇ가 말했듯이 .nsz 파일이 여러개 압축된 파일이 맞고 나는 가지고 있는 복호화 공식 하나로만 파일을 추출하기 시작했어. 그래서 그런지 aes128 ,zip.2.0 , aes256인지는 내가 이해할수 없을거같아... (전문지식이 없어서) 그리고 모든파일은 첫번째파일과 동일시한 알고리즘으로 적용되는걸로 알고있어.
내가 만든 프로그램에서도 .nsz 파일안에 압축된 여러개의 파일명을 리스트로 만들어서 파일을 하나씩 클릭하면 비밀번호가 뜨게 만들었고, 그 선택한 파일을 압축해제하여 추출할수 있도록 했는데 오류가 뜨는거야. 그리고 마지막에 말해줬던거처럼 파일별로 헤더를 다시 설정해줬어야 했던거 같다고 말해줬는데 나 같은경우에는 .nsz - .pk 로 변환 시 로컬파일헤더 (제일상단헤더값) 만 변경했어 그래서 제일 상단의 파일만 추출된건가?? 싶기도 하는 의문이 있긴했었는데 그 밑에 헤더값을 쭉 봤을때는 로컬파일헤더값과 다르긴 하지만 모두 pk로 되있길래 따로 수정은 하지않았구. 혹시 이거때문인가 ??
그냔 게임 모더들이 만든 툴 소스 까서 보셈
질문이 너무 이상해서 사람들이 답을 못함
이해해 나도 내가 써놓은거 보고 답답한데 모 ... ^^...
그러니까 여러 파일이 있는데 그중 한개만 복호화가 된단거임? 다른건 직접 해봐도 안되고?
정확해 다른 파일은 파일이 깨졌다고 뜨고있어