국내 기종에 Wanam Xposed를 사용할 경우


feature.xml이 해외기종용으로 변조되어서


HD보이스나 기타 CSC관련 기능들이 작동하지 않는 문제가 발생하는 것을 잘 알고 계실 겁니다.



이를 막기 위한 방법은 이미 알려져있는데

1. Wanam Xposed를 끌 때 뒤로가기로 끄지 말기

2. feature.xml 자체에 Write Protection을 걸기 (퍼미션 등...)

3. Wanam에 의해 변조되기 전의 feature.xml로 돌리기.. 등등..



그러나 이러한 1,2,3의 방법은

불편함과 부작용이 따르게 됩니다.

1의 경우 매번 신경을 써야하는 불편함이 있으며

2의 경우 feature.xml의 편집을 필요로 하는 다른 앱이나 사용자의 편집을 방해하는 문제가 있으며

3의 경우 매번 백업/복원을 해야하는 불편함이 있습니다.


이러한 문제들을 해결하기 위해서


Wanam Xposed에 한하여 feature.xml 변조를 막도록 하는 패치를 만들었습니다.

(루트권한과 Busybox가 필요합니다)

자료실 링크:

http://www.matcl.com/?m=bbs&bid=appDB&uid=220870




이 패치의 원리는

Wanam에서 내부적으로 사용하는

/data/data/ma.wanam.xposed/cache/apply_csc_features.sh 스크립트의 실행만 막는 것입니다.


해당 스크립트의 실행을 막기 위해서는

chmod로는 불가능합니다. 왜냐하면 Wanam 내부적으로 해당 스크립트를 다시 생성하기 때문에

기존 파일에 퍼미션을 지정해놓아도 새 파일의 것으로 대체되기 때문입니다.


그러므로 여기에는

chattr 이라는 강력한 파일시스템 명령어가 사용됩니다.


chattr (Change Attribute)는 리눅스 ext2, ext3, ext4 파일시스템의 각종 attribute를 설정하는 명령어인데

이것이 매우 강력하기 때문에

chattr +i 명령을 통해 Immutable 비트를 set하게 되면

해당 파일은 삭제, 이름변경 등등이 불가능하게 됩니다.



/data/data/ma.wanam.xposed/cache/apply_csc_features.sh 에


#!/system/bin/sh


한줄만 넣어서 더미 스크립트를 만들고, 퍼미션 700을 준 다음


chattr +i /data/data/ma.wanam.xposed/cache/apply_csc_features.sh 을 하게 되면


해당 파일은 삭제, 이름변경이 불가능하게 됩니다.


그러므로 Wanam이 이 더미 스크립트를 실행하게 되므로

Wanam에 의해 feature.xml이 변조되는 것을 선택적으로 막을 수 있게 됩니다.



이 방법을 통한 패치의 장점은


feature.xml 자체의 퍼미션이나 속성은 건들지 않기 때문에


기타 feature.xml 수정을 필요로 할 때 언제든지 feature.xml을 수정할 수 있다는 장점이 있습니다.


게다가


(순정 Wanam Xposed 기준)

Wanam Xposed를 업데이트 하더라도 패치가 유지되는 커다란 장점이 있습니다.

(Unpatch를 하기 전까지는...)





이러한 패치/언패치 과정을 손쉽게 할 수 있도록 패치앱을 만들어서 자료실에 올렸습니다.

(루트권한과 Busybox를 필요로 합니다)

http://www.matcl.com/?m=bbs&bid=appDB&uid=220870

필요하신 분들은 주의사항을 꼼꼼히 읽으신 후 이용하시기 바랍니다.


감사합니다.






/* 팁:

http://www.matcl.com/?m=bbs&bid=usermoim&uid=221079

 닉스s님의 팁입니다.

 Wanam Xposed가 feature.xml의 & amp ;를 &로 축약함으로 인해 XML 파싱에 문제가 생겨서 HD보이스가 활성화되지 않는 문제 원인을 알려주셨습니다. 감사합니다.


 그러나 Wanam Xposed 자체의 버그로 인해

 본 Wanam HD보이스 패치 없이는

 Wanam이 다시 feature.xml을 변조하므로 문제가 재발되는 것으로 확인되었습니다.

 

 그러므로 본 Wanam HD보이스 패치를 이용해 Wanam Xposed가 feature.xml를 변조하는 것을 원천적으로 막고 사용하시기 바랍니다.

 (Wanam Xposed의 해당 버그가 수정되기 전까지는 본 패치는 유효할 듯 싶습니다.)

*/



댓글 24
  • profile
    오... chattr 은 슈퍼슈에서 보고 첨 보네요. 이게 가장 확실한 방법이네요. 전 태스커로 파일이 변경되면 자동으로 복원하는 프로필을 생각했는데 이게 더 좋은 방법인듯 합니다. [2.2.8/E210SKSUGNA2/4.3]
  • profile
    요약하면 더미로 빈깡통 스크립트를 만들고 이걸 완전히 변조 방지시키는거라고 이해하면 되겠군요. [2.2.8/E210SKSUGNA2/4.3]
  • ?
    hsk
    14.03.16
    네 ^^ 저도 언뜻 SuperSU에서 OTA Survival의 목적으로 chattr를 사용한다는 것과 Wanam에서 내부적으로 스크립트를 통해 feature.xml을 수정한다는 점에 착안해서 feature.xml 대신 해당 Wanam 스크립트 자체에 chattr +i을 걸어버리면 어떨까 아이디어가 떠올라서 시도해봤는데 잘 되더라구요 ㅎㅎ 해당 아이디어를 사용자들이 손쉽게 사용할 수 있게 패치로 구현했습니다. ^^
  • ?
    hsk
    14.03.16
    네~ 맞습니다. 특히 chattr은 파일시스템 자체에 적용되는 매우 강력한 명령이라서 data 파티션을 포맷하거나 CWM등의 data 백업본을 복원하지 않는 이상 chattr -i 하기 전까지는 절대 풀리지 않기 때문에 한번 패치해놓으면 Wanam을 지우든 버전이 바뀌든 상관없이 패치가 유지됩니다 ㅎㅎ
  • ?
    선시아
    14.03.16
    wanam 적용할 때 마다 feature.xml 파일 복원하는 게 참 귀찮았는데.. ^^; 감사합니다~ 잘 사용할게요~ :)
  • ?
    hsk
    14.03.16
    감사합니다 ^^
  • profile
    어플로는 비지박스 미설치라고 니외서 결국 수작업으로 ㅜㅡㅜ 비지박스 설치에 문제가 있나봅니다. ㅋ 수동 적용후 리네임 안되는거 확인했네요. ㅋ
  • ?
    hsk
    14.03.16
    어라 ㅎㅎ 혹시 Busybox를 Stericson님 버전 말고 다른 버전을 사용하시나요? 아.. 그러고보니 커널 등에 들어있는 busybox에 chattr이 없는 경우라면 busybox chattr로 명령을 실행 시 그 busybox가 PATH 우선 순위에 있기 때문에 문제가 될 수 있겠네요 ㅎㅎ busybox chattr 대신 chattr로 수정해야겠네요 ^^ 피드백 감사드립니다.
  • ?
    어쌈
    14.03.17
    15 추천수 돌파 축하드려요!!
  • ?
    대박! 매번 복원하기 귀찮았는데 정말 감사합니다~ ㅎㅎ
  • ?
    hsk
    14.03.17
    감사합니다~~
  • ?
    hsk
    14.03.17
    ^^ 감사합니다~
  • ?
    매번 HD보이스 때문에 귀찮았는데 덕분에 넘무 편해졌습니다.^^ 감사합니다.^^
  • ?
    hsk
    14.03.17
    넵~ 감사합니다 ^^
  • ?
    고생이 많으십니다....
  • ?
    hsk
    14.03.17
    감사합니다~~+
  • ?
    생성
    14.03.17
    매번바꾸는거 귀찮아서 wanam을지웠었는데 다시 깔아야겠네요 감사합니다 [2.2.7/E250KKKUENA4/4.3]
  • ?
    hsk
    14.03.17
    이제 편하게 Wanam을 사용하세요~~ ^^
  • ?
    수고하셨습니다
  • ?
    hsk
    14.03.17
    감사합니다~^^
  • ?
    와....완전능력자세요ㅜㅜ감사합니다 정말 유용하네요 추천 쾅쾅쾅!
  • ?
    hsk
    14.03.17
    헉... 과찬이십니다 ㅎㅎ 감사합니다~~
  • ?
    역시 hsk님 능력자이십니다
  • ?
    hsk
    14.03.17
    헛.. ㅎㅎ 고맙습니다~~+
댓글 쓰기 권한이 없습니다.
정렬 목록 검색 쓰기
등록된 글이 없습니다.
1 - 2