회원가입메일  
   
자유게시판
공지사항
질문/답변
웹게임질문/답변
 
> QnA Board
이름 Level 1, 215 Point 시군 2011-03-25 08:34:41
제목 안티 디스어셈블러에 관련해 질문드립니다

현재 학교에서 처음으로 외부 프로젝트를 맡아서 진행하는 학부생입니다.

 

소프트웨어 취약점 분석 관련 과제를 하고 있는데,

 

 

oqpaque predicate를 적용하는 안티 디스어셈블러 기술이 적용되었는지

 (안티 디버깅 ->isdebuggerpresent등 은 무효화 시켰습니다.)

 

해당 프로그램을 ollydbg나 idapro로 실행시키면 자동으로 종료되던지 gui 구현하는 부분에서 정지됩니다.

 

팀원이랑 이래저래 조사한 결과 안티 디스어셈블러 기술인 것 같다고 결론을 내렸습니다.

 

해당 자료를 좀 찾아봤는데 안티 디스어셈블러 적용법이나 이게 어떤 식으로 디버거들에서 나오는지 정도만 나와있고

 

파해법이나 무력화 플러그인은 찾을수가 없었습니다.

(찾아본 장소는 네이버,구글,tuts4you,codeengn 등입니다)

 

Static Disassembly of Obfuscated Binaries 라는 논문을 하나 찾았는데

대충 봤을 때 마찬가지로 안티 디스어셈블러 기술 적용 원리가 쓰여있는거 같더군요...

(자세히 보기엔 영어 실력이 너무 미천합니다...ㅠ)

 

안티 디스어셈블러 기술을 무력화 시키려면

일일이 코드를 찾아 NOP로 바꿔버리는 수밖에 없나요?

 

혹시 관련 무력화 플러그인이나 기술을 가지고 계신 분 조언 좀 부탁드립니다

 

Level 5, 2810 Point maple

잘 이해는 안되지만 안티디스어셈블에 대해서 얘기하자면 안티디버깅과는 전혀 다른 원리를 갖습니다. 
그러므로 이에 대한 이해를 조금 더 하셔야 될 것 같네요. 


간략히 얘기하자면,
안티디버깅은 디버깅을 하기 위해 설정되는 시스템 세팅 값을 검사하는 것으로 이뤄지지만, 
안티디스어셈은 디버거가 디스어셈하는 논리의 허점을 이용합니다. 
그러므로 접근 방식은 완전히 달라야됩니다. 


노파심에 사족을 달자면, 안티 디스어셈으로 실행흐름을 바뀌게 하는 것은 고난이도 기술일 것 같습니다.
왜냐면, 디스어셈과 실행은 별개이기 때문입니다. 제대로 파싱이 안되더라도 실행 흐름은 그 순간의 IP에서 OPCODE와 OPERAND를 가져오기 때문에 이를 어긋나게 하려면 디버거에 대한 깊은 이해가 있지 않고서는 불가능합니다. 그렇기 때문에 비효율적이기도 하구요. 굳이 이렇게 까지 접근을 했을지가 약간 의문입니다. 


그럼 건승하시길!

 2011.03.25 23:09

 

Level 1, 215 Point 시군

maple님 감사합니다
말씀 듣고 확인해보니 하나는 단순히 제가 플러그인에 파해기능을 추가해놓지 않았던
안티 디버깅이었습니다. (DLL 안에 있어서 한번에 못 찾았네요)
나머지 하나도 다시 뒤져봐야 할 것 같습니다. 감사합니다 ㅠ_ㅠ

 2011.03.28 14:52

 

목록
1060 ftp접속에 관한 질문입니다 [1]  Level 0, 25 Point 무송 2011.08.08 3863
1059 질문이있습니다 중학생입니다 [1]  Level 0, 25 Point KWHS 2011.08.03 3899
1058 해외서버에 접근한 아이피기록을 알수 있나요?  Level 0, 20 Point 러시안 2011.07.17 5237
1057 와우해커 멤버님들 읽어주세요^^ [1]   Level 0, 25 Point pack 2011.07.07 25
1056 안녕하세요. 질문드립니다.  [1]   Level 0, 25 Point 라아 2011.07.05 12
1055 올 7/17일에 전역을 앞둔 육군 정보보호병 .. [5]  Level 0, 45 Point justwhatiam 2011.07.02 6263
1054 윈도우 관련 질문  Level 0, 20 Point spoon 2011.06.30 3448
1053 (자문자답)달고나님의 BOF기초문서에서 Ret..  Level 0, 25 Point 코어 2011.06.24 4554
1052 웹사이트 취약점에 관해서요 .. [1]  Level 0, 50 Point 홍재훈 2011.06.23 4306
1051 프로그램 크랙? [1]  Level 0, 25 Point 올리브 2011.06.21 5275
1050 질문 [1]  Level 0, 20 Point fig0 2011.05.21 4463
1049 web,wpa 식 보안해킹 [1]  Level 0, 45 Point 할렘은낙원 2011.05.10 9190
1048 안녕하세요 최근 해킹에 관심을 가진사람입니다. [1]  Level 0, 45 Point 할렘은낙원 2011.05.10 5331
1047 해킹 당하는거 확인방법좀요.. [1]  Level 2, 770 Point 십잡스 2011.05.08 5184
1046 해킹 당한거 알려면 어디서 확인하나요?? [1]  Level 2, 770 Point 십잡스 2011.04.25 4914
1045 www.javahacking.com 접속불가 [2]  Level 0, 60 Point cofgreen 2011.04.15 5531
1044 c언어 정수형 자료형의 크기 에 대한 질문입니.. [2]  Level 0, 60 Point sarver_000 2011.04.10 4942
1043 c언어 질문 [1]  Level 0, 60 Point sarver_000 2011.04.10 4784
1042 키로거... [1]  Level 0, 25 Point Devil Jin 2011.04.08 4849
1041 안티 디스어셈블러에 관련해 질문드립니다 [2]  Level 1, 215 Point 시군 2011.03.25 6926
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10