dat 파일 읽는 프로그램마다 다 다름. 그러니까 그 프로그램에서 어떻게 읽고 있는지부터 알아야겠지.
여기서 리버싱 해야 하는 이유가 생기는거고..
익명(210.90)2022-03-29 00:10
답글
옙! 분석은 열심히 하고 있습니답. 파일은 총 2개이며 .exe 파일 하나 data.dat 파일 하나인데여
.exe 리버싱해보니 data.dat 파일을 열고 안에 구분을 지어 이미지랑 사운드 등등을 읽고 있었습니답
ex) data.dat > data/sound/... , data/image/...
근데 여기서 제가 궁금한건 data.dat 파일 전체가 hex 데이터로 되어있는데, 대체 저 사운드랑 이미지 데이터를 어디서 어디까지 어떻게 쓰는지가 궁금합니돠
그러니까 하나의 hex 데이터 안에 sound 랑 image 가 들어가 있는데 이걸 대체 어떻게 구분을 하는건지.. ㅜ
익명(218.238)2022-03-29 00:21
답글
그니깐 hex 데이터 전체에서 "A-B까지는 사운드고, C-D까지는 이미지이다" 를 구분해주는 기준이 먼지를 알고싶고
만약 기준을 알아서 구분을 했다고 해도 A-B 까지 덤프를 떠서 확장자를 바꿔주면 그 데이터가 생성되는건지여? ㅜ
익명(218.238)2022-03-29 00:27
답글
일단 대충 봐서 사운드나 이미지 형식의 헤더 내용이 보이지 않는다면 난독화, 암호화 되어 있을 가능성이 큼
그렇다면 위에서 바로 말한대로 리버싱 해야하고.. 결국 dat 파일 읽는 그 부분의 로직이 어떻게 되어있나를 확인하면 됨
익명(210.90)2022-03-29 05:02
dat는 무슨 표준 같은게 잇는게 아님,, 프로그램에서 지좆대로 쓰고읽는거임
익명(49.142)2022-03-29 00:21
사운드와 이미지 데이터의 파일 헤더는 정해져있고, 이게 압축이나 대칭키 암호화가 되어있지 않다면 어디에서부터 시작하는 지 파악 가능하고, 또한 파일 헤더에 리틀 엔디언 방식으로, 파일이 시작되는 오프셋과 파일 길이가 기록 되어 있을 수도 있음. 정확한 건 직접 리버싱 하면서 분석해야 하는 거임.
익명(58.228)2022-03-29 00:34
예를 들면, 파일이 시작되는 오프셋이 128바이트이고, 파일의 이름, 파일의 길이가 순서대로 저장되어있을 수 있다. 어떤 자료 구조를 썼는지에 따라 다르지만 폴더라면 트리일 수도 있다. 아니면 단순 리스트일 수도 있음.
익명(58.228)2022-03-29 00:36
그리고 이것 조차 못 알아보게 XOR 이나 여러가지 수단으로 못 알아보게 해놨을 수도 있음. 그걸 풀어야 하므로 리버싱으로 확인해야함.
익명(58.228)2022-03-29 00:37
답글
헐.. 정말 감사합니답 ㅜㅜ 패킷 구조랑 비슷하다고 생각하면 되겠네욥..!! 그럼 첫 시작을 기준으로 파일크기를 계산해서 끊어보면 첫번째 문제는 해결될거같습니다..! 보니까 말씀해주신것처럼 트리구조로 보입니다! 두번째 문제는 끊어서 저장한 hex 데이터가 확장자를 바꿧을때 원하는게 나오는지 해봐야 겟습니다 ㅜㅜ 감사합니다
관련 dat 파일 읽는 프로그램에서 어찌 읽느냐에 따라 다르겠지 ..
좀 더 디테일한 설명 부탁두리겠습니다 ㅜ
offset 을 얘기하쉬는 건가욥?
dat 파일 읽는 프로그램마다 다 다름. 그러니까 그 프로그램에서 어떻게 읽고 있는지부터 알아야겠지. 여기서 리버싱 해야 하는 이유가 생기는거고..
옙! 분석은 열심히 하고 있습니답. 파일은 총 2개이며 .exe 파일 하나 data.dat 파일 하나인데여 .exe 리버싱해보니 data.dat 파일을 열고 안에 구분을 지어 이미지랑 사운드 등등을 읽고 있었습니답 ex) data.dat > data/sound/... , data/image/... 근데 여기서 제가 궁금한건 data.dat 파일 전체가 hex 데이터로 되어있는데, 대체 저 사운드랑 이미지 데이터를 어디서 어디까지 어떻게 쓰는지가 궁금합니돠 그러니까 하나의 hex 데이터 안에 sound 랑 image 가 들어가 있는데 이걸 대체 어떻게 구분을 하는건지.. ㅜ
그니깐 hex 데이터 전체에서 "A-B까지는 사운드고, C-D까지는 이미지이다" 를 구분해주는 기준이 먼지를 알고싶고 만약 기준을 알아서 구분을 했다고 해도 A-B 까지 덤프를 떠서 확장자를 바꿔주면 그 데이터가 생성되는건지여? ㅜ
일단 대충 봐서 사운드나 이미지 형식의 헤더 내용이 보이지 않는다면 난독화, 암호화 되어 있을 가능성이 큼 그렇다면 위에서 바로 말한대로 리버싱 해야하고.. 결국 dat 파일 읽는 그 부분의 로직이 어떻게 되어있나를 확인하면 됨
dat는 무슨 표준 같은게 잇는게 아님,, 프로그램에서 지좆대로 쓰고읽는거임
사운드와 이미지 데이터의 파일 헤더는 정해져있고, 이게 압축이나 대칭키 암호화가 되어있지 않다면 어디에서부터 시작하는 지 파악 가능하고, 또한 파일 헤더에 리틀 엔디언 방식으로, 파일이 시작되는 오프셋과 파일 길이가 기록 되어 있을 수도 있음. 정확한 건 직접 리버싱 하면서 분석해야 하는 거임.
예를 들면, 파일이 시작되는 오프셋이 128바이트이고, 파일의 이름, 파일의 길이가 순서대로 저장되어있을 수 있다. 어떤 자료 구조를 썼는지에 따라 다르지만 폴더라면 트리일 수도 있다. 아니면 단순 리스트일 수도 있음.
그리고 이것 조차 못 알아보게 XOR 이나 여러가지 수단으로 못 알아보게 해놨을 수도 있음. 그걸 풀어야 하므로 리버싱으로 확인해야함.
헐.. 정말 감사합니답 ㅜㅜ 패킷 구조랑 비슷하다고 생각하면 되겠네욥..!! 그럼 첫 시작을 기준으로 파일크기를 계산해서 끊어보면 첫번째 문제는 해결될거같습니다..! 보니까 말씀해주신것처럼 트리구조로 보입니다! 두번째 문제는 끊어서 저장한 hex 데이터가 확장자를 바꿧을때 원하는게 나오는지 해봐야 겟습니다 ㅜㅜ 감사합니다
좋은 꿈 꾸세용!!