Technical Docs (35) 썸네일형 리스트형 Smali 코드로 Toast 생성하기 해당 앱이 무결성 탐지를 하는지 또는 디버깅을 하기 위해 Smali 코드에 Toast 메시지 띄우는 부분을 추가하는 방법을 알아보자 Samli Code ? 이미 알겠지만 어플리케이션(apk)파일을 보면 Classes.dex 라는 파일이 있다. 이 파일이 달빅머신에 올라가는 바이트 코드인데 이걸 디컴파일 하면 그나마 사람이 대충 읽을 수 있는 Smali 코드라는걸로 변환된다. Android Toast message ? 토스트메시지는 설명보다 그냥 사진으로 보는게 빠르다. 아래와 같이 메시지를 아래 띄워주는게 토스트 메시지다 alert dialog를 띄우는게 빠르지 않을까 나도 처음에는 생각해봤는데, alertdialog 는 현재 엑티비티의 인자도 가져와야하고 그냥 인자 값으로 넣어줘야 하는게 상당히 귀찮기.. 뚜봄뚜봄 2021. 12. 17. 21:18 Android Native C++ string Frida로 출력 Frida 를 사용하다 보면 심심치 않게 Native Method를 후킹해야할 때가 많다. 그러다 보면 각 argu에 따라서 캐스팅을 해줘야 정상적으로 출력이 가능하다. 그 중에 한가지 C++ 에서 사용하는 Std::String 자료형을 Frida에서 문자열로 출력하고 싶을 때 아래의 방법을 사용한다. function readStdString (str) { const isTiny = (str.readU8() & 1) === 0; if (isTiny) { return str.add(1).readUtf8String(); } return str.add(2 * Process.pointerSize).readPointer().readUtf8String(); } readU8 &1 을 통해 해당 문자열이 long St.. 뚜봄뚜봄 2021. 12. 17. 10:17 NDK Jstring to string (char *) 문자열 변경 JString to C++ string NDK 를 사용할 때 Java에서 Argu를 통해 String 형식을 보내줘야 할 때가 있음 그러면 해당 string을 받는쪽에서 다른 변수(int ...) 같은 경우에는 jint 형으로 받아서 처리가 가능함 그런데 String 같은 경우에는 C++ 에서 재사용하는 경우 Jstring 에서 C++ String 형으로 변환을 해줘야 정상적으로 사용이 가능함 Java에서 사용하는 String은 16비트의 Unicode 문자세트를 사용하고, C, C++ 에서는 일반적으로 8bit 의 문자열을 표현하기 때문에 이것을 변환시키기 위해서 UTF-8 포맷으로 변경을 해주는 작업이 필요 위와같이 함수의 선언에서 받을 때는 JString으로 정상적으로 받지만, 실제로 C++에서 사.. 뚜봄뚜봄 2021. 12. 8. 20:38 이전 1 2 3 4 5 다음