llvm 관련하여 질문드립니다.

June 2016.09.29 09:21 조회 수 : 974

llvm obfuscator관련하여 보아야 할것같은데요..

 

관련 소스를 : https://github.com/obfuscator-llvm/obfuscator/tree/llvm-3.6.1 에서 받았는데요.

 

어디서부터 봐야할지 감이 잡히지 않네요 ㅎㅎ

 

저희 컴파일러 스터디중에서 먼저보신 선배님들 조언좀 부탁드립니다..

 

==========================================================

llvm에서 obfuscator관련 부분은 찾았습니다...ㅎ

옛날 버전을 확인하면 되더라고요..

 

llvm에서 lib/Transforms 에서 동작하는 거였습니다.

이 단계가 정확히 컴파일에서 어느단계인가요?

 

Bogus Control flow만들기 연산 바꾸기 등등이 존재합니다. 

 

/lib/Transforms/IPO/PassManagerBuilder.cpp 에서 호출하여 줍니다.

인터넷좀 찾아보니 PassManagerBuilder.cpp에서 llvm관련 모듈만들어서 너어준다고도 되어있는데...

 

아 그리고 최종적으로 궁금한 사항이 있는데요..ㅎㅎ

 

llvm 을 이용한 난독화는 compile time에 basic block단위로 수행을 하더라고요.

 

그런데 shared library(elf format, so file)에서 basic block을 뽑아내서 난독화를 수행한후 elf format으로 다시 만들어 주는게 

가능할까요?

 

아니면 이미 생성된 binary에 대한 난독화는 어떻게 할까요?

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 프로그래밍 관련 Q&A 게시판 입니다. woos 2016.04.09 22230
517 alloc과 free함수에 대해서 질문입니다. [1] 정재훈 2011.06.28 93591
516 안드로이드 system 폴더안의 파일을 인식못하는데.. [5] 김영일 2011.04.14 69658
515 x86에서 ZONE_DMA 영역의 사용 [1] 홍문화 2011.05.02 58167
514 커널에서 page alloc에 관해서 [1] 미다리로23 2017.02.05 34547
513 디바이스 드라이버 모듈에서 작성한 함수를 커널에서 사용하는 방법 [1] 개짖는소리 2017.02.06 27019
512 Linux kernel의 CFS(Completely Fair Scheduling) 스케줄러에서 time slice 구하는 방법? [10] 김재호 2010.04.30 25210
511 "만들면서 배우는 OS..." 4장 kernel.asm 중 idtr 설정 질문드립니다 쿨쿨 2013.06.18 24937
510 리눅스 스케줄러 관련 [9] 홍문화 2011.02.23 22940
509 NFS NAS SAN 이란 무엇인가? file 박은병 2010.04.13 21878
508 s3c2440기반의 리눅스 커널 분석 중 MM관련 질문입니다. 유태경 2007.09.02 21522
507 /dev 폴더에 있는 node파일 중에서 어떤 것을 open해야 플래쉬를 사용할 수 있을까요? [1] 박종주 2012.02.17 19849
506 sparsemem에 대한 질문이 있습니다. [5] 안정모 2010.03.20 19717
505 16기 리눅스 커널 스터디 C조 18주차 질문입니다. [3] cien 2019.10.12 18802
504 tty, tty0, console, vc 는 각각 뭐하는 디바이스인지? [3] 이창만 2008.12.04 18547
503 ARM A8 이상의 프로세서를 공부할 때 스터디 방향 [4] 유강희 2011.06.15 18506
502 임베디드 OS 만들기 내용과 관련하여 문의드립니다. [5] 송인재 2010.03.25 18321
501 far call 이란 무엇인가요? [4] 박한범 2010.04.13 17840
500 파일시스템에 관한 질문(Htree [6] 사앙조 2017.05.22 17061
499 SMP관련 질문입니다. [2] 컴퓨터 2017.04.13 16581
XE Login