2009-11-13 3 views
12

Objective-C 코드를 혼란스럽게하는 방법이 있습니까?Objective-C 코드 난독 화

+6

이 질문에 동사가 없습니다. –

+5

Biranchi는 우연히 질문이라고 생각합니다. –

+0

목표는 무엇입니까? – nall

답변

3

목표 다

덕분에 C의 바로 상위 따라서 모든 정상적인 C 난독 화 기법의 작품이다. 그러나 코코아로 작업하기를 원한다면 메소드 이름이 상당히 문서화되기 때문에 약간의 장애가있을 것입니다.

자신 만의 방법으로는 메소드를 잘못 문서화하면됩니다. 예 : 당신이 일반적으로 작성한 것입니다

-(void) doSomethingInnocent:(BOOL)animated withObject:passwords; 

는 :

-(void) sendObjectToMyServer:(BOOL)coverupAnimation; 
+2

시작. 그러나 여전히 많은 도움이되지 않습니다. – bbum

+3

당신은 * super *를 의미합니다 – Richard

5

셀렉터는 여전히 일반 텍스트입니다 - -o의 모든 객체와 그들이 정의하는 방법을 덤프 otool. 또한 코드에서 액세스되는 모든 내부 및 외부 선택기를 한 줄짜리로 덤프 할 수 있습니다. 소스 레벨에서 메소드와 매개 변수 이름을 난독 화하는 것은 아마도 가장 쉬운 방법 일 것입니다. 그러나 객체 레벨에서 수행하는 것은 링커 테이블 조작을 희생시키면서 언어 독립적 인 방법으로 난독 화됩니다.

otool -s __TEXT __objc_methname yourapp.app/executable_file |expand -8 | cut -c17- | sed -n '3,$p' | perl -n -e 'print join("\n",split(/\x00/,scalar reverse (reverse unpack("(a4)*",pack("(H8)*",split(/\s/,$_))))))'|less 
+1

당신이 포함하는 명령 문자열은 무엇을합니까? –