본문 바로가기

Dev.Mobile49

TIZEN : Zero-day 공격에 취약하고 최악인 소스 코드 한 이스라엘 보안 전문가에 의해 타이젠 소스 코드가 제로데이 공격에 취약하고 학부생에 의해 작성된듯한 최악의 코드라고 평가해서 각종 매체에서 떠들썩하다. 얼마나 문제가 있길래 최악의 소스코드라고 얘기하는지 궁금한데 전체 코드를 리뷰하기엔 무리여서 타이젠 git repo 중 프로젝트 하나를 살펴보았다. profile/tv/apps/native/filebrowser.git 위키리크스에 삼성 스마트 TV 해킹이슈도 있었고 해서 TV 관련한 repo를 선택. 코드만 봐서는 코딩 가이드라인이나 보안 검수가 없는 것 처럼 보인다. FbContextView.cpp Buffer Overflow에 취약한 strcpy사용. bool CContextView::_get_context_details(CExtNameInfo *p.. 2017. 4. 10.
Android Camera2 API Step By Step : Preview Android Lollipop (API 21) 버전 부터 기존 Camera API는 deprecated 되고 Camera2 API가 적용되었는데, Pipeline Stream 기반으로 기존에 비해 세밀한 세팅이 가능하고 비동기 루틴이 많아 Google의 샘플 소스 android-Camera2Basic을 봐서는 분석이 쉽지 않다. Google I/O 2014 프레젠테이션에서 Camera2 API에 대한 적용 흐름이 잘 설명되어 있어 해당 루틴을 기준으로 분석 및 이해를 목적으로 코드를 작성하였으며 실제 프로젝트에 적용하기에는 적절치 않다. Architecture source: https://source.android.com/devices/camera/index.html#architecture Camera .. 2017. 3. 23.
[FPL] Cross-platform Game 'Pie noon' Android Build on Windows 크로스 플랫폼 게임 개발에 특화된 Google FPL(Fun Propulsion Labs)팀의 Project 중 하나인 Pie noon Game. 안드로이드 빌드를 위한 자바 파일을 제외하고 전부 C++로 작성되었으며, 지원 플랫폼 및 사용된 라이브러리는 다음과 같다. 지원 플랫폼 Nexus Player (Android TV Device) Android Phones/Tablets Linux OS X Windows 사용 라이브러리 SDL (Simple DirectMedia Layer) : Cross-platform Layer CORGI : Entity-component System FlatUI : User Interface FreeType : Font Rendering HarfBuzz : Handling .. 2015. 12. 20.
iPhone 4/5/6/6+, iPad, Nexus 5 Sketch Template 목업 이미지나 스케치 템플릿에 그린 앱 아이디어를 사진으로 찍어 구체화 할 수 있는 앱인 POP - Prototyping On Paper 홈페이지에서 제공하는 스케치 템플릿으로 PDF형식으로 제공되며, 40px[10px] 그리드에 Status Bar, Navigation Bar, Tab Bar영역도 표시되어 있다. Download Link iPhone 4/4s iPhone 5/5s iPhone 6 iPhone 6+ iPad Nexus 5 Source : https://popapp.in/sketchpad/ 2015. 12. 15.
VLC for Android 한글 자막 표시되지 않는 문제 수정 빌드 UPDATE 2016.01.08 현재는 git-1.8.0 소스 버전인데, 이전과 달리 안드로이드 default system font 처리 루틴이 추가되어 tofu현상은 발생하지 않지만 인코딩 설정에 의한 폰트 깨짐 현상이 발생한다. 앱에서 인코딩 설정을 euc-kr 한글 인코딩으로 변경하면 한글자막이 정상적으로 표시된다. 아래 설명된 git-1.1.3 빌드 방법과 동일하게 빌드 가능하나, 한글 자막 표시를 위한 소스코드 수정은 필요치 않다. Dolby AC3 오디오 코덱을 지원하고 광고없는 거의 유일한 무료 동영상 플레이어인 VLC For Android 의 가장 큰 단점은 한글 자막이 제대로 표시되지 않는 것. PC 용 VLC 에서도 한글 자막이 ㅁㅁㅁ 처럼 표시되는데, 이는 자막 글꼴이 디폴트로 영문 .. 2015. 4. 1.
안드로이드 단말 32비트인지 64비트인지 확인 방법 (How to know the android device is 32bit or 64bit) ADB shell을 이용하거나, 앱 내에서는 android.os.Build클래스나 System.getProperty를 이용해 해당 단말의 32/64 비트 여부를 확인할 수 있다. 테스트에는 단말로 ASUS Zenfone 5(Intel Atom Z2560 1.6 GHz Dual-Core CPU) 및 각 타입별 에뮬레이터를 사용. ASUS Zenfone 5 : 4.4.2 KitkatEmulator : 5.0 Lollipop ADB (Android Debug Bridge) Terminal에서 다음 커맨드 수행. adb shell getprop ro.product.cpu.abi adb shell getprop ro.product.cpu.abi2 다음 결과의 x86에서 테스트 단말은 32비트 환경임을 확인할 수 .. 2015. 1. 25.
[Fix]uses-sdk:minSdkVersion 19 cannot be smaller than version L Android Studio 0.8 업데이트 이후 Android L Preview API 20 레벨 추가로 Kitkat(API 19)기준으로 작성된 프로젝트에서, appcompat-v7등의 추가 라이브러리 사용시 다음과 같은 Error가 발생한다면, build.gradle 파일의 dependencies 항목에 추가된 라이브러리들이 최신버전을 사용하게 지정되어 있기 때문이다. uses-sdk:minSdkVersion 19 cannot be smaller than version L declared in library com.android.support:appcompat-v7:21.0.0-rc1 Error:Execution failed for task ':app:processDebugManifest.. 2014. 7. 17.
How to import C++ code into Swift C Library를 포함하여 Objective-C Framework 및 Objective-C 로 작성된 사용자 코드는 Swift에서 직접 import 가능하다. 반면, Apple Document에 기술된 바에 의하면 C++ 코드의 경우는 직접 import가 불가하고 Objective-C 또는 C Wrapper를 생성하여 사용해야 한다. You cannot import C++ code directly into Swift. Instead, create an Objective-C or C wrapper for C++ code. Import Objective-C From Swift Swift는 Header가 없는 단일 파일로 아래 그림에서 보듯이 Framework이 아닌 일반적인 App 프로젝트에서는 bridg.. 2014. 7. 6.
Android L : 64비트, ART 선봉장 2014 Google I/O 의 최대이슈 중 하나인 Android L의 가장 주목할 점은 64비트 지원과 Dalvic 을 뺀 ART(Android RunTime) 기본 적용으로 보인다. Apple 64비트 iOS 의 성공으로 64비트 지원 및 Android의 약점으로 꼽히는 Dalvic을 제외하고 ART를 기본으로 적용하는 것은 이미 예견된 사항이지만, 개발자 입장에서는 Android 디바이스 파편화에 더불어 개발 고려사항이 더 늘었다. Android L Developer Preview 는 이미 공개되어 있고 Nexus 5, Nexus 7 디바이스의 경우 개발자 등록유무 상관없이 해당 ROM을 Flash 해 볼 수 있다. Emulator로 맛보기 해당 단말이 없거나 아직 Preview 버전을 올리기 껄끄.. 2014. 7. 3.
iOS Developer Program (IDP) 없이 아이폰 디바이스에 디버깅 및 배포하기 (How To Deploy/Debug on iPhone Without IDP) UPDATE: Xcode 5 Xcode 6 이후 아래 방법은 더 이상 적용되지 않는다. 대신 Apple ID만 만들면, Free Team Provisioning Profile 을 생성하여 디바이스에 배포 가능하다. Creating Team Provisioning Profile : https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/ConfiguringYourApp/ConfiguringYourApp.html#//apple_ref/doc/uid/TP40012582-CH28-SW7 Xcode에서 실제 아이폰 디바이스에 디버깅 및 배포를 위해서는 99$/1년 비용을 지불하는 iOS Developer Program 에 가입하여야 한.. 2013. 11. 19.