JOLT™
14.12.25
조회 수 12516
추천 수 45
댓글 14

엑다 글들을 보며 어젯밤에 이것저것 해보다가 디오덱에 성공했었는데,(물론 스말리작업 잘됩니다)

이제 그 방법을 공개하려고 합니다.

참고로 이 글을 읽을때 보이는 <앱이름>은 말그대로 디오덱하려는 앱 파일 이름입니다.

(ex: <앱이름>.odex : SystemUI.odex, SecSettings.odex, TouchwizHome.odex, etc.....)



일단 웃음투자님의 oat2dex툴 갖고계시던분들, 과감히 지워주세요.

그리고 첨부파일을 압축풀고 그 자리에 갖다놓습니다.

저게 뭐냐면, 웃음투자님 툴이 엑다에 보급된(?)이후 엑다 개발자분들이 완벽하게 롤리팝 디오덱스가 가능하게 웃음투자님 툴의 소스를 수정해놓은 버전입니다. 그래서 원래의 웃음투자님 툴에 비해 용량이 4배나 돼죠.

아무튼, 압축을 풀고 나서 <앱이름>.odex.xz 파일을 집어넣고, commandprompt.bat 실행시키고

7za -x <앱이름>.odex.xz 를 쳐줘서 odex파일을 꺼내는 것은 기존 웃음투자님 툴과 같습니다.

하지만 기존버전 디오덱 시 프웤폴더 통째로 복붙해놔야 모든앱들이 디오덱이 되던 것을 다들 잊고 계셨을겁니다.

롤팝도 마찬가지입니다. 그래서 안됐던거죠. 하지만 다필요하진 않고 롤팝에선 system/framework/arm/boot.oat 이 한개의 파일만 빼와서 툴 폴더에 넣어줍시다.

그리고는 cmd창에


java -jar oat2dex.jar boot boot.oat


이렇게 쳐줍시다. 그러면 boot.oat안에 녹아들어가 있던 여러 프웤의 odex들이 추출되면서 부트클래스패스를 얻어옵니다.

그리고 나서


java -jar oat2dex.jar <앱이름>.odex odex

이렇게 쳐주면 <앱이름>.dex 파일이 생성될겁니다.


여기서부터는 웃음투자님 방법과 동일합니다.

백스말리할땐 cmd창에

java -jar baksmali-2.0.3.jar -a 21 -x <앱이름>.dex -o <앱이름>

이렇게 치면 돼고요,

스말리할땐

java -jar smali-2.0.3.jar -a 21 <앱이름> -o classes.dex

이렇게 치면 됍니다.

생성된 classes.dex를 앱 apk파일 안에 넣고 적용하시면 되겠습니다.

만약 적용 후 문제가 생기거나 아예 백스말리/스말리 도중 에러가 생긴다면,

위 명령어를 칠때 baksmali-2.0.3.jar를 baksmali.jar로, smali-2.0.3.jar를 smali.jar로 해서 입력해주면 되겠습니다.

원래명령어로 쳐서 잘돼는데 저렇게 바꿔 입력해서 안돼는 경우도 있으므로 앱에 따라 돼는쪽으로 해서 하시면 됩니다.


참고로, 압축파일 내부에 제가 txt파일로 명령어들을 적어두었으니 나중에 까먹으시면 그걸 보시면 되겠습니다.


디오덱된 앱파일을 적용하는 방법은, 일단 다들 아시듯이 system/app혹은 system/priv-app내부의 해당 앱 폴더 안에 있는 apk파일을 디오덱된 파일로 교체해 주시고, 거기 있는 arm폴더를 삭제해주고 재부팅하면 됩니다.

안돼면 달빅캐시와잎 한번 해보세요.

엑다에서는 htc도 된다했으니 g3롤팝도 될듯 싶습니다.

Extra Form
첨부
oat2dex.zip  [File Size:4.14MB/Download:188]
댓글을 남겨야 다운로드가 가능합니다. 감사의 댓글을 달고 오른쪽 확인버튼을 눌러주세요.
다운로드시 일주일에 한개 이상의 게시물 작성이 필요합니다. 지금 자유게시판에 회원님의 하루를 남겨보세요.
추천♡버튼을 잊지 마세요. 추천인과 회원님 모두 포인트가 적립됩니다.
댓글 14
댓글 쓰기 권한이 없습니다.
강좌 정렬 목록 검색 쓰기
등록된 글이 없습니다.
1