디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C언어 관련해서 염치없지만 다시 한번 질문 올려봅니다.

레알초짜(121.88) 2010.07.03 19:00:42
조회 186 추천 0 댓글 1


  xp3 확장자의 파일을 분해하는 콘솔 응용 프로그램의 소스를 구하게 되었습니다.
  일전에 작성하였을 때 답변 하여주셨던 분께서 해당 확장자가 기리기리엔진 어카이브인 것을 알고 계셔서 그나마 다행이었네요.
  실은, 이 엔진을 몇번 뜯다보니 이해도 조금씩 되고 흥미가 생겨서 아예 어카이브를 재압축하려는 일종의 리팩툴을 만들려 하는데
  생각처럼 잘 되지 않아서요. 프갤분들께 초면에 염치없지만 질문을 드리고자 합니다.

 #include "xp3filter_decode.h"

  typedef unsigned char u8;
  typedef unsigned int u32;
  typedef unsigned short u16;

  extern unsigned int CheckSum(BYTE *buf, unsigned int len);

  // xror
  static void xp3filter_decode_xor_ror(BYTE *buf, DWORD len, DWORD offset, DWORD hash)
  {
 BYTE shift, xor;

 shift = (BYTE)hash;
 xor = (BYTE)((hash >> 8) & 0xff);
 if (!shift)
  shift = 15;
    if (!xor)
  xor = 0xf0;

 shift &= 7;
 for (DWORD i = offset; i < offset + len; i++) {
  buf[i] ^= xor;
  buf[i] = (buf[i] >> shift) | (buf[i] << (8 - shift));
  }
 }


  void xp3filter_decode_dec(struct xp3filter *xp3filter)
 {
  //const char *dec_string = xp3filter->parameter;

  xp3filter_decode_xor_ror(xp3filter->buffer, xp3filter->length, xp3filter->offset, xp3filter->hash);
  }
  
해당 콘솔 프로그램을 풀 때 dec=xror 이라는 옵션을 넣어서 xp3 파일을 풀었습니다.
그래서 비주얼 2008로 파일들을 모아 프로젝트를 만들고 그 중에서 dec.cpp 라는 파일 내의 소스를 변경해야 한다는
부분도 알게 되었습니다. 위 코드는 dec.cpp 의 xror 옵션으로 분해 할때의 소스 인 것 같습니다만..
다른건 다 제쳐두고라도   buf[i] ^= xor; 의 부분이 XOR로 되어 있어서 반대로 바꾸려 하는데 XNOR로 해야 할지
AND로 해야할지 모르겠습니다. 다 시도를 해봤지만 ANSI ~ Unicode 나 실행시 충돌이 발생해서 애를 먹고 있어서요.

static void xp3filter_decode_inc_xor_not(BYTE *buf, DWORD len, DWORD offset, DWORD hash)
{
 BYTE xor = (BYTE)hash;

 for (DWORD i = offset; i < offset + len; i++)
  // buf[i] = ~(buf[i] ^ (xor + 1));
  buf[i] = (~buf[i] ^ (xor + 1));
}

이건 dec=ixorn 옵션으로 풀 때의 dec.cpp 코드인데 위처럼 ~위치만 바꿔서 XOR를 XNOR로 변경해 반대로
적용시켜 분해할 파일을 압축하는 구조로 바꿨다고 하더군요. 위 소스도 이러한 구조로 바꿔서 적용할 수 있으면
좋겠는데 어디부터 손을 대야 할지 모르겠습니다.

혹시 아시는 분이 계시다면 도움좀 부탁드리겠습니다. T.T
머리를 싸매고 이것저것 적용시켜봐도 답이 보이질 않아서요...

추신 : 혹시 사전 설명이나 자료가 필요하시면 추가로 올리겠습니다.

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 끝까지 다 본 걸 후회하게 만든 용두사미 드라마는? 운영자 25/07/07 - -
AD 휴대폰 바꿀까? 특가 구매 찬스! 운영자 25/07/02 - -
339276 C/C++할 줄 아는데 이걸로 DB 구현 가능하냐? [6] 짜짜구리(118.36) 12.11.29 152 0
339274 성님들 채용정보에 [3] 123(58.233) 12.11.29 93 0
339272 제가 서울대 컴공 가서 nc소프트 가는게 목표인데요 [11] asdfasdf(121.142) 12.11.29 321 0
339269 외국에서는 개발자가 유망직업 1위인데 왜 우리나라만 이럼? [7] 귀챦이스트갤로그로 이동합니다. 12.11.29 260 0
339268 이 분야도 졷같고 저 분야도 졷같으면 어떤 분야를 해야 하냐고 씨발아 [4] 영꼰이갤로그로 이동합니다. 12.11.29 121 0
339266 소름 돋는다. 과제 대행 비 주려고 알바를 한데 ㄷㄷ 영꼰이갤로그로 이동합니다. 12.11.29 72 0
339264 프갤에 혼날만한 질문 [11] 54℃(121.88) 12.11.29 140 0
339263 태국도 IT가 유명한가? [1] 54℃(121.88) 12.11.29 70 0
339262 11월 29일 20시 25분 ㅇㅇ(110.15) 12.11.29 49 0
339261 횽들 iocp서버 cpu load 관련해서 질문좀 [1] msgbox(61.43) 12.11.29 69 0
339258 우리과 게시판에 파일업로드 되는 사이트 하나 만들어 달라고 [4] 영꼰이갤로그로 이동합니다. 12.11.29 98 0
339255 리버싱횽있나요? 징기스칸4(125.182) 12.11.29 45 0
339254 웹프로그래밍 과제대행 해주실분... [12] Isengard(203.226) 12.11.29 187 0
339253 모바일게임 개발자 구하기 `하늘의 별따기` [4] JSP(182.211) 12.11.29 225 0
339251 자바 스크립트 가독성 개판인건 나뿐인가 ㄷㄷㄷ [1] dsadsa(59.11) 12.11.29 59 0
339249 node.js 어플 개발해본 횽 있나 [6] ㅁㄴㅇ(119.202) 12.11.29 182 0
339248 110 292 ㅁㄴㅇ횽 고마워 replace로 해결함. 도적안키움갤로그로 이동합니다. 12.11.29 26 0
339247 싱글게임 제한좀깨주실 리버싱고수능력자횽 덧글좀달아주세요 징기스칸4(125.182) 12.11.29 41 0
339246 과제해주세요 하는놈들 [2] ㅇㅇ(110.15) 12.11.29 78 0
339245 이게 과제조건임 [15] 도적안키움갤로그로 이동합니다. 12.11.29 193 0
339244 형들. 자바 간단한 질문인데. [13] 도적안키움갤로그로 이동합니다. 12.11.29 150 0
339243 싱글게임의 제한좀 깨주세요 ㅠㅠ능력자형들 ㅠㅠ [9] 징기스칸4(1.214) 12.11.29 120 0
339242 닭이 멍청하니깐 조정하기도 쉬워보이니 그들이 닭을 선호할꺼 같다 JSP(182.211) 12.11.29 38 0
339241 박이 되면 보수 원탁 통치의 시대가 되는거징. ㅇㅇ ☎2.51™갤로그로 이동합니다. 12.11.29 41 0
339240 내가 생각하는 박근혜 정권의 문제점 ㅁㄴㅇ(119.202) 12.11.29 51 0
339239 대통은 누가 되도 욕을 먹게 되어있다. [1] JSP(182.211) 12.11.29 33 0
339237 박, 문이 되던.. 엠비 연임이 되던.. ☎2.51™갤로그로 이동합니다. 12.11.29 47 0
339236 닭그네는 여당 대표인데도 한일이 FTA 날치기 통과 밖에 더 있나?? [1] JSP(182.211) 12.11.29 29 0
339234 그냥 이명박이 한번더했으면좋겠다 [6] ㅁㅁ(211.244) 12.11.29 103 0
339233 닭그네의 최대 문제점은 말도 못하지만 생각도 없다는거 아니냐? [3] JSP(182.211) 12.11.29 55 0
339232 싱글 게임의 제한좀 깨주세요 능력자횽들 ㅠㅠ [2] 징기스칸4(125.182) 12.11.29 37 0
339231 올해 대선은 뭔가 영 재미가 없다. [2] JSP(182.211) 12.11.29 74 0
339229 나로호는 이번에도 실패하면 다시는 안쏜대냐??? [3] JSP(182.211) 12.11.29 43 0
339228 리눅스의 의존성 개념이야말로 개발자들의 이상 아님? [2] ㅁㄴㅇ(119.202) 12.11.29 113 0
339225 4대강 할 돈으로 기초과학에 투자했으면 지금쯤 얼마나 발전했을까? [11] JSP(182.211) 12.11.29 208 0
339224 웹프로그래밍 잘하는 형 있으신가요? [7] Isengard(203.226) 12.11.29 122 0
339223 취소네 [8] 이모군(121.124) 12.11.29 124 0
339222 갤러들아 이거 어떻게 해결하냐 [1] 오류났盧(121.130) 12.11.29 39 0
339221 한국에서 무슨 과학이냐 ㅋㅋㅋㅋ JSP(182.211) 12.11.29 33 0
339220 불가능이란 없나보다 얼룩돼지갤로그로 이동합니다. 12.11.29 22 0
339219 면접가는데 준비물이 좀 이상합니다 [2] 123(58.233) 12.11.29 91 0
339218 박근혜 "文, 과거와 싸우기 위해 나왔나" JSP(182.211) 12.11.29 47 0
339217 기초과학이 개판인데 ㅋㅋㅋㅋ [1] ㅁㄴㅇ(59.11) 12.11.29 43 0
339216 나로호하고 프로그래밍하고 닮지 않았냐? [1] ㅁㄴㅇㄹ(211.51) 12.11.29 59 0
339215 나로호 언어는 뭐 쓰냐 [2] ㅁㄴㅇ(59.11) 12.11.29 76 0
339214 이 알고리즘 뭐가 잘못됐니? [1] 고랭?갤로그로 이동합니다. 12.11.29 79 0
339213 나로호 기념으로 이런 게임 만들어보자 [1] 알파센타우리(61.78) 12.11.29 42 0
339212 나로호 카운트 다운 중지 [1] JSP(182.211) 12.11.29 38 0
339211 오라클 인기가 많은듯? [1] ㅁㄴㅇ(59.11) 12.11.29 79 0
339210 형들 진로고민이야 ㅠㅠ ㄴㅁㅇ(210.125) 12.11.29 60 0
뉴스 [집 나가면 개호강] ‘스카이개슬 1타(?)’ 강소라VS조한선, 불꽃 신경전! 눈 가리고 ‘아웅’ 승부…세기의 대결!  디시트렌드 07.04
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2