Programing

Smali를 배우는 가장 좋은 방법은 무엇입니까 (그리고 Dalvik VM opcode를 사용하는 방법 / 시점)?

lottogame 2020. 12. 4. 07:45
반응형

Smali를 배우는 가장 좋은 방법은 무엇입니까 (그리고 Dalvik VM opcode를 사용하는 방법 / 시점)?


나는 Java를 알고 C를 배웠지 만 결코 사용하지 않았습니다. 가상 머신이든 실제 머신이든 어떤 형태의 어셈블리도 모릅니다.

Smali를 해킹하는 방법을 배우는 가장 좋은 방법은 무엇입니까?


업데이트 : 어제 약속했듯이 목록에 링크를 더 추가했습니다.

Ufff. 주변에 많은 문서가 없습니다! 최고의 조언? 디 컴파일하고, 읽고, 조정하고, 어떻게되었는지 확인하고,주기를 반복해서 시작하십시오. 하지만 당신은 그 조언을 구하지 않았죠? ;)

이제 약간 도움이 될 몇 군데가 있습니다.

http://androidcracking.blogspot.com/search/label/smali 이것은 최고의 것입니다. 나는 그 남자에게 질문을했고 그는 매우 빨리 대답 했으므로 가서 살펴보십시오.

http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html 매우 포괄적 인 표-좋은 참조!

http://webchat.freenode.net/?channels=smali 시도한 적이 없지만 baksmali 작성자의 Google 코드 페이지에 있습니다 ( http://code.google.com/p/smali/ ).

http://forum.xda-developers.com/showthread.php?t=777707 마지막으로, 이것은 Captivate 카메라에 대한 몇 가지 해킹을 설명하기 위해 얼마 전에 작성한 게시물입니다. 각 .diff 파일이 수행하는 작업에 대해 조금 언급하면서 거기에 diff를 따를 수 있습니다. 좋은 물건은 포스트 # 20에서 시작됩니다.

http://www.slideshare.net/paller/understanding-the-dalvik-bytecode-with-the-dedexer-tool 몇 가지 기본 개념이 포함 된 흥미로운 슬라이드 쇼입니다. 시작하는 좋은 방법입니다.

http://sites.google.com/site/haynesmathew/home/projects/dalvik-notes 일반적인 .smali보다 훨씬 낮은 수준입니다. 나중에 참조 할 수 있지만 좋은 읽기입니다.

http://jasmin.sourceforge.net/guide.html Smali 구문은 Jasmin을 기반으로하므로 좋은 개념을 제공합니다.

http://groups.google.com/group/apktool?pli=1 읽어 볼 가치가있는 토론이 있습니다. 또한 무언가에 갇혀있을 때 검색하기에 좋은 곳입니다.

마지막으로 제가 사용한 가장 유용한 트릭은 자바로 매우 기본적인 클래스와 메서드를 코딩하고 컴파일 한 다음 자신의 코드를 baksmali하는 것입니다. 그것이 무엇을하는지 정확히 알고 있으므로 따라 가기가 훨씬 쉬울 것입니다.

행운을 빕니다!


사람들이 공식 Dalvik 형식 문서를 기본 참조로 사용하지 않는다는 사실에 계속해서 놀랍습니다. 이전 릴리스에서 Dalvik 문서는 dalvik / docs 아래의 Android 소스에 있습니다. 보고 싶은 특정 파일은 dalvik-bytecode.html입니다. 바이트 코드 정의가 몇 개 릴리스되어 android.com 개발자 문서의 일부가되었습니다.

source.android.com의 dalvik-bytecode.html

추가적인 편의를 위해 때때로 이러한 문서를 개인 웹 사이트에 미러링합니다. 이 경우 :

milk.com의 dalvik-bytecode.html


smali 사이트에 몇 가지 정보가있는 몇 개의 위키 페이지가 있습니다.

http://code.google.com/p/smali/wiki/Registers

http://code.google.com/p/smali/wiki/TypesMethodsAndFields

그리고 smali / baksmali에 대한 통합 테스트에서 모든 opcode를 사용하는 smali 코드의 예가 있습니다.

smali 통합 테스트


이 온라인 Java-2-Smali 변환기는 Smali 학습에 도움이 될 것입니다.

https://java2smali.com/

참고 URL : https://stackoverflow.com/questions/5656804/whats-the-best-way-to-learn-smali-and-how-when-to-use-dalvik-vm-opcodes

반응형