게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금] C++ 디컴파일 질문좀 해도될까요??
게시물ID : programmer_10676짧은주소 복사하기
작성자 : 시몬스
추천 : 0
조회수 : 13081회
댓글수 : 9개
등록시간 : 2015/06/01 14:16:12
옵션
  • 본인삭제금지
예전에 쓰던
암호화 관련된걸 해제하는 프로그램이 있는데요.



암호화 공식은 모르고 그거에 의존해서 쓰다가 ㄷㄷ
파일형태가 좀 바껴서 못쓰게됐어요..

그래서 그냥 만들어야겠다 라고 생각해서 만들고있는데요.

암호화 분석하다가 빡쳐서 예전에 있던 프로그램을 뜯어서 만들어보려고 


RecStudio라는 걸로 디컴파일을 했습니다.
IDA, Bumerang 의 경우 제가 잘못한건지.. 32bit프로그램이라 그런지 에러가 나더군요 ㄷㄷ



어쨋던 디컴파일을 했는데.

java만 하고, C에 익숙하지않아서 그런지 전혀 이해가 안되는 것들이 보이더라고요 ㄷㄷ;

민폐가 안된다며 알고싶어서 여쭙습니다!




1. 함수 호출

//-- 메인 쓰레드 내용 中
_push( &_v552);
_push("Is %s encrypted file?");
_push(260);
_push( &_v292);
L00403620( &_v552, __eflags);


// 해당 함수
L00403620 (
    _unknown_ __ecx,                       // r2
    _unknown_ __eflags,                    // r9
    signed char* _a4,                      // _cfa_4
    intOrPtr _a8,                          // _cfa_8
    intOrPtr _a12,                         // _cfa_c
    char _a16                              // _cfa_10
)


컴파일러가 이상한건지 리턴타입이 안적혀있더라고요.

그런데, 기본적으로 함수 인자는 6개인데,  
_push()라는 함수로 인자를 넣고, 함수 기본 인자를 따로 넣는 식으로 돼 있는데,

이건 디컴파일러가 이상한건가요?
아니면 저런 함수가 원래 C에서 사용하는 함수인건가요?

사실 정확한 사용용도를 알고싶어서요.

어셈블리어 push처럼 사용하는것 같기도한데,.. 잘 이해가 안가더라고요.



그리고 _uknown_ 이라는 데이터타입은 디컴파일러가 만들어낸 구조체인가요? 아니면 보통 저렇게 쓰기도 하나요?
디컴파일 된 내용에도 start 가 있긴하지만, 인자를 어떤걸 받아오는지 모르겠어서 해당 내용이 어떤흐름으로 가는지 감이 안잡히네요...




2. 포인터?????

디컴파일된 내용중에 일부에

ShowWindow( *4271308, 5);

이런식으로  숫자에 포인터(*)를 사용한 경우가 보이는데요.
이경우에 0*숫자 라는 계산처리가 되나요? 아니면 4271308이라는 메모리 위치의 데이터를 포인터로 가지고오계되나요??
java유저라 이런 경우가 전혀 이해가 안되서요. 이렇게 단도직입적으로 메모리를 취하기도 하나요? (이건 컴파일러가 저렇게 조작한거같긴하지만..)



포인터는 언제나 햇갈리는데요..

int a = &value;   // a는 주소값만
int b = *a;       // b는 실제 값의 복제

이렇게 알고있고,
a += 1;  //배열이 1증가


이런식으로 알고있습니다.
그리고 함수에서 인자로 받을때도 ( int &value) 이런식? 으로 받는걸로알고있는데.

FUNC( unsigned int _unkown1 ){

   //중랼

   _unkown1 += 2;

   //중략

   *(_unkown1) 어찌고저찌고

}



?! 초반까지만 해도 그냥 int로 생각하고 있던 녀석이 어느순간 포인터에 쌓여져서 쓰기 시작한것입니다.

이런 경우도 있나요? 선언은 unsigned int인데... 어떻게.. 갑자기 포인터로 ㄷㄷ




역시 C의 세계는 너무 복잡한 것 같습니다... ㅠㅠ

디컴파일을 해서 그런지 goto 문이 눈을 현혹함 ㄷㄷ.;

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호