본문 바로가기

전체 글

(46)
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
[Azure] NSG(Network Security Group)? Azure NSG(Network Security Group) Azure 리소스와 주고 받는 네트워크 트래픽을 제어할 수 있는 기능이다. 외부망와 내부망을 논리적으로 구분할 수 있으며, 인/아웃바운드 규칙으로 주요 서비스 접근을 제어할 수 중요한 서비스 이다. network security group(NSG)는 다음과 같은 특징을 가지고 있다. 1. 기본 규칙 ㅇ virtual network(VNet)은 기본적으로 허용 상태 ㅇ 기본 규칙은 삭제할 수 없으며, 우선 순위를 통해 네트워크 트래픽 제어 ㅇ 인바운드 액세스는 거부, 아웃바운드 액세스를 허용 외부에서 내부 접근을 기본적으로 제한하고 있다. 2. 우선 순위 ㅇ 규칙은 우선 순위로 처리되며, 100에서 4096 사이 지정할 수 있음 ㅇ 규칙 관리 편.. 뚜봄뚜봄  2021. 12. 14. 21:57
[INFO] Stateful / Stateless Stateful / Stateless Stateful은 Client에서 요청한 정보가 세션이 종료되기 전까지 Server에 저장하고, Stateless는 Client에서 요청한 정보가 Server에 저장되지 않는다. 우리는 Stateful과 Stateless이 적용된 서비스를 Cloud 네트워크 접근제어 설정할때 확인할 수 있다. AWS에는 network access control list(NACL), Security Group이 있고, Azure에는 network security group(NSG)이 있다. Security Group과 NSG는 인바운드되는 네트워크 정보를 저장하고 있기 때문에 아웃바운드 정책을 적용하지 않아도 네트워크 접근제어가 가능한 Stateful 이고, NACL은 인바운드되는 네.. 뚜봄뚜봄  2021. 12. 14. 21:56
Azure 기본 개념 - 리소스, 리소스 그룹, 구독, 관리 그룹 Azure 서비스 사용 시 액세스 제어, 리소스 관리 등을 위해 알고 있어야 하는 기본 개념은 아래와 같다. Azure는 위 4가지 수준의 범위로 구분되며, 하위 수준은 상위 수준에서의 설정을 상속받는다. 1. 리소스 (Resource) - 리소스란, Azure에서 관리하는 엔터티(Entity)로 가상 머신(VM), 가상 네트워크, 스토리지 계정 등이 리소스에 해당한다. - 리소스 단위에서의 액세스 제어(IAM)가 가능하며, 상위 "구독", "리소스 그룹" 단위에서의 액세스 제어(IAM)를 상속받는다. 2. 리소스 그룹 (Resource Group) - 각 리소스는 하나의 리소스 그룹에 속해야 하며, 리소스 그룹은 여러 리소스를 그룹화하여 수명주기, 보안 설정, 액세스 제어 등 관리할 수 있는 논리적 단.. ziyeon  2021. 12. 14. 13:03
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