본문 바로가기
반응형

분류 전체보기235

[안드로이드] 앱 위변조 방지 (루팅, 탈옥, 패킷탈취, 디버깅툴 탐지 등) 회사에서 상반기 하반기를 나누어 사내 보안팀이 '모의해킹' 팀을 고용하여 회사 내 자체 서비스 App을 모의해킹 한다. 그에 맞춰 이번에 작성하게 될 주제가 선정되었다. 사실 아래에 여러가지 방법들을 소개해줄 예정이지만, 가장 좋은 건 보안업체 SDK 를 사용하여 보안취약점 대응을 하는게 좋다. (우리 회사는 당연히 외부 라이브러리 보안 SDK 사용 중) 우리 회사에서 사용하고 있는 보안 관련 SDK 업체는 라온시큐어, 시큐센, 스틸리언 이 있다. 그 외에 다른 회사들도 있으니 보안은 보안업체에 맞겨 대응을 하고 우리 안드로이드 개발자는 고객을 위한 서비스에 집중을 하면 된다. 위와 같은 보안 관련 SDK 없이 어떤 방법으로 앱 보안 취약점에 대응할 수 있을지 몇 가지 소개하겠다. 사실 아래 방법들은 검.. 2024. 4. 15.
[안드로이드] AlarmManager 디버깅 알람을 등록하고 제대로 디바이스에 등록이 됐는지 확인하고 싶지 않는가? 등록은 했지만, 울리지 않는 경우가 있는데 왜 안 울릴까? 정확하게 내가 원하는 시간에 등록이 됐는가? 라는 궁금증에 디버깅하는 방법을 알아보았다. 디버깅은 adb shell 을 이용하여, 등록된 알람, 만료된 알람 등 정보들을 확인해볼 수 있다. adb 란 무엇인가? adb 는 Android Debug Bridge 약자이다. 안드로이드 장치와 통신하여 디버깅 등의 작업을 진행할 수 있는 command line tool 이라고 생각하면 된다. shell 명령어를 통해 시스템 로그 등 다양한 정보를 확인할 수 있다. https://developer.android.com/tools/adb?hl=ko#directingcommands And.. 2024. 4. 11.
[깃허브] Git Clone 한 레포를 내 Github 에 올리기 (master main 병합) 어떤 상황인가? - 다른 원작자가 만든 Repository 에 원하는 Branch 를 Clone 하여, 내 Github 으로 올리기. - Github 에 연동하지 않은 내 프로젝트 폴더 Github 에 올리기 - remote master 와 remote main 이 두 개나 있는데, 하나로 합치려면? 위와 같은 상황일 경우, 아래 설명한대로 command line tool 명령어를 작성하면 분명 될 것이다.  Git Clone 한 Repository 내 Github 에 올리는 방법 1) 우선 Github 사이트 특정 레포로 들어가 초록색 Code 를 클릭해보면, 해당 레포 주소로 Clone 할 수 있게 주소 url 을 알려준다. 해당 url 을 복사해두자. 2) 내가 원하는 위치 로컬 디렉토리에서 터미.. 2024. 4. 11.
[안드로이드] networkOperatorName 3사 알뜰폰(MVNO)은 어떤 값이 들어올까? IOS 와는 달리 AOS 즉, 안드로이드는 SIM 정보를 읽어올 수 있다. https://developer.android.com/reference/android/telephony/TelephonyManager TelephonyManager | Android Developers developer.android.com 위 링크에 있는 TelephonyManager 객체를 이용하여 SIM 정보를 가져올 수 있고, 다양한 정보를 확인할 수 있다. 그 중에 망사업자 정보에 대해서 이야기를 하고싶었다. 이번 개발 과제는 통신사를 뽑아서 전달을 해야했다. 일단 3사 망 사업자 데이터는 어떻게 들어올까? 3사(MNO) 망사업자 추출 값 SKT > SKTelecom KT > KT LG > LG U+ networkOper.. 2024. 4. 3.
[안드로이드] SMS Retriever API 내부앱공유에서 안되는 이유 (Debug Hash 값, Release Hash 값) SMS Retriever API 를 이용하여 본인인증 인증번호를 App 에서 Callback 받는 로직을 만든 적이 있다. https://devnuts.tistory.com/253 [안드로이드] SMS Retriever API 자동입력하는 방법은? (*Android Hash Key 가져오기 *KMC 등 본인확인 기관 SMS Retriever API 를 이용하여 본인인증 인증번호를 App 에서 문자로 받은 인증번호를 Callback 받아 화면에 바로 노출시킬 수 있다. 아래 링크에 사용 방법이 잘 설명되어 있으니, 보면 좋을 것 같다. ht devnuts.tistory.com 위와 같이 만들었고, 테스트를 하려고 했는데 이상하게 내부 앱공유에서 수신문자 Text 가 콜백이 들어오질 않는다. 어? 왜그럴까?.. 2024. 4. 3.
[안드로이드] SMS Retriever API 자동입력하는 방법은? (*Android Hash Key 가져오기 *KMC 등 본인확인 기관 문의 ) SMS Retriever API 를 이용하여 본인인증 인증번호를 App 에서 문자로 받은 인증번호를 Callback 받아 화면에 바로 노출시킬 수 있다. 아래 링크에 사용 방법이 잘 설명되어 있으니, 보면 좋을 것 같다. https://developers.google.com/identity/sms-retriever/overview?hl=ko SMS Retriever API를 사용한 자동 SMS 인증 | Credential Verification | Google for Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 SMS Retriever API를 사용한 자동 SMS 인증 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세.. 2024. 3. 17.
[안드로이드] release 해서 앱 실행하면 왜 crash 가 발생할까? (ProGuard leads to NullPointerException) 겪은 이슈 WebView 를 이용하여 하이브리드 App 을 개발하고, release 로 .apk 를 말아 사업팀에 전달하다 발생한 이슈였다. 발생한 에러는 아래와 같다. 자꾸 WebViewClient 쪽에서 url 이 Null 이 발생하여 NullPointerException 이 발생하는 Error 만 발생했다. WebViewClient.class 83 줄에는 아래와 같은 코드가 있다. @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { return super.shouldOverrideUrlLoading(view, request); } 저 부분에서 왜 Null 이 발생했던 걸까?? Why?.. 2024. 2. 25.
[안드로이드] java. lang. IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time. (Room Update) 흔한 이슈 위와 같은 에러를 자주 만난 적이 있을 것이다. 위 Error 를 해석하면 무엇일까? UI 가 장시간 Lock 이 될 수 있기 때문에 기본 스레드에서 데이터베이스에 허용시킬 수 없습니다. 라는 뜻. 무슨 말일까? UI 변경이 이루어지는 작업일 경우, UI(main) 스레드를 사용하지말라는 이야기다. 장시간 UI 가 멈추는 상황일 때, ANR이 발생해 앱이 죽을 수 있다. 따라서 다른 스레드를 이용해야 한다. 겪은 이슈 Room 을 이용하여 데이터를 저장했고, 저장한 데이터를 Update 하여 사용자 화면(UI)에 보이는 데이터가 바뀌어야 했다. CRUD 중, Update와 Delete 하는 부분에서 위와 같은 에러가 발생하였다. 이슈가 발생한 코드는 아래와 같다. fun updateCoupo.. 2024. 2. 13.
반응형