2014-06-22 7 views
0

나는 안드로이드 전화 문제로 일하고있다. 내 HTC EVO 4G (Kingdom)의 모드를 찾을 수 없습니다. 분명히 DxO Labs used DMCA to force Cyanogenmod to remove some HTC mods이라는 회사가 있습니다.회사 이름의 공유 객체 및 리소스 파일?

EVO에서 DxO Labs에 의해 만들어진 공유 객체 목록을 얻고 싶습니다. 장치에 모든 공유 개체를 열거 할 수 있도록 장치가 있습니다. ELF DSO가 Windows 실행 파일과 같은 회사 정보로 구축되거나 구축 될 수 있는지 여부는 알 수 없습니다. 나는 그 (것)들을 우연히 만나는 기억하지 않는다, 그러나 나는 나가 이제까지 보았다 것을 나는 믿지 않는다.

ELF 형식의 Linux 실행 파일과 공유 객체에는 Windows 리소스 파일과 비슷한 메커니즘이 있습니까? 묻지 않아서 죄송합니다. Android ELF 파일 형식의 문서를 찾는 데 문제가 있습니다. 다른 플랫폼처럼 ABI에도 있습니다.

답변

0

SYSTEM V APPLICATION BINARY INTERFACE을 보면 회사 정보로 개체를 표시 할 수 있습니다. 81 페이지, 노트에서 섹션 : 때때로 공급 업체 나 시스템 빌더가 다른 프로그램 등 적합성, 호환성을 확인 것이라는 점을 특별한 정보를 오브젝트 파일을 표시 할 필요가

유형 SHT_NOTE 및 프로그램의 섹션 헤더 PT_NOTE 유형의 요소를이 용도로 사용할 수 있습니다. 섹션 및 프로그램 헤더 요소에있는 참고 정보에는 개의 항목이 들어 있으며 각 요소는 대상 프로세서 인 의 형식으로 된 4 바이트 단어의 배열입니다. 노트는 정보 조직에 대한 설명을 돕기 위해 아래에 나타나지만 사양에 포함되어 있지 않습니다.

+----------------+ 
|  namesz  | 
+----------------+ 
|  descz  | 
+----------------+ 
|  type  | 
+----------------+ 
|  name  | 
+----------------+ 
|  desc  | 
+----------------+ 

nameszname : name의 첫 번째 namesz 바이트 항목의 소유자 또는 발신자의 널 (null)로 종료되는 문자의 표현을 포함한다. 이름 충돌을 피하기위한 공식적인 메커니즘은 없습니다. 일반적으로 공급 업체는 식별자로 'XYZ Computer 회사'와 같은 고유 한 이름을 사용합니다. 이름이 없으면 namesz에 입니다. 설명자를 4 바이트 정렬 할 수 있도록 필요한 경우 패딩이 있습니다. 이러한 패딩은 namesz에 포함되어 있지 않습니다.

descszdesc : desc의 첫 번째 descsz 바이트 노트 디스크립터를 갖고있다. ABI는 디스크립터의 내용에 제약을 두지 않습니다. 설명자가 없으면 descsz에 0이 포함됩니다. 필요한 경우 다음 채우기에 대한 4 바이트 정렬을 보장하기 위해 채우기는 항목에 대해 입니다. 이러한 패딩은 descsz에 포함되어 있지 않습니다.

type :이 단어는 설명자의 해석을 제공합니다. 각 생성자는 자체 유형을 제어합니다. 단일 형식 값이 여러 개 해석 될 수 있습니다. 따라서 프로그램은 디스크립터를 이해하기 위해서는 ' '이름과 타입을 모두 인식해야합니다. 유형은 현재 음수가 아닌 이어야합니다. ABI는 디스크립터의 의미를 정의하지 않습니다.공급 업체 확장에

그리고 115 페이지에서 :

위에 열거 한 서비스 외에도, libc의 다른 문자가 포함되어있을 수 있습니다. ABI 준수 시스템 공급 업체는 에 C 라이브러리에 심볼을 추가하여 공급 업체별 서비스를 제공 할 수 있습니다. ABI는 이러한 서비스를 정의하지 않으며 이러한 서비스를 사용하는 프로그램은 ABI를 준수하지 않습니다. 그럼에도 불구하고 ABI는 벤더의 여러 서비스 간의 충돌을 피할 수있는 방법을 제공하는 권장 확장 메커니즘 인 을 정의합니다.

기호는 _$vendor.company입니다. company는 회사 이름이 company 인 운영 체제 항목을 제공합니다. C 라이브러리 에는 이러한 이름에 대해 별다른 대안이 없습니다. 일반적으로 벤더는 단일 이름을 사용하여 의 첫 번째 인수를 _$vendor.company의 중에서 선택할 수 있도록 여러 서비스를 제공합니다. 예를 들어 'XYZ Computer Company'는 _$vendor.xyz을 C 라이브러리에 추가 할 수 있습니다.