본문 바로가기

JAVA

(8)
안드로이드 VPN Service를 이용해서 HTTPS(SSL) MITM 해보자 TL;DR : 매우 제한적이다. 앱에 따라 적용 가능 여부가 다르다. 로컬에서 작동하는 VPN Service를 통해 HTTPS Proxy로 포워딩하여 MITM! 대충 그려보자면 위 그림과 같은데 VPN으로 하려는 이유. 첫째 프록시 적용을 일부 앱에서 하고 싶다, 둘째 하지만 해당 앱이 별도의 프록시 설정을 지원하지 않아... 셋째 기존 안드로이드에서 제공하는 방식의 프록시 설정은 매우 불편하고 시스템-와이드로 적용 되기 때문에 프록시가 불필요한 대상을 포워딩하여 오버헤드가 발생한다는 점이다. 만들어보자... 우선 Vpn Service를 만들어주고, 해당 서비스에 연결되는 TUN 인터페이스를 만들고 HTTP CONNECT로 프록시 서버에 넘겨주면 된다. 말은 쉽다.. 하지만 언제나 그렇듯, 이미 다른 유..
안드로이드 MediaProjection 에 ImageReader로 버퍼 읽을시 검은 화면 우선 5.0(API 21) 이상에서는 대부분~ 잘된다. 하지만 특정 환경(대부분 예뮬레이터들)에서 MediaProjection을 ImageReader로 통해서 Surface를 읽다 보면 아무 데이터가 없거나 NULL일 수 있다. 이는 실기기 안드로이드든, 예뮬레이터 환경에서 (물론 5.0도 이상일 수 있다!) openGLES 호환(EGL_RECORDABLE_ANDROID 값이 없는 등.. )이 좋지 않아서 발생하는 문제이다. 그래서, 우리는 다른 방법으로 처리해야한다. 바로 구글의 비공식 테스트 앱 (grafika)를 살펴보고 구현하면 된다. 우선 grafika의 gles 을 모드 임포트 해준다. 그리고 VirtualDisplay가 사용할 수 있는 Surface를 만들어 준다. eglCore = EglC..
[JAVA/Kotlin] Polygon(도형)의 내각 구하기 for (step in 0 until dimens) { val p0 = cords[step] val p1 = cords[(step+1) % dimens] val p2 = cords[(step+2) % dimens] val a = (p1.x - p0.x).pow(2.0) + (p1.y - p0.y).pow(2.0) val b = (p1.x - p2.x).pow(2.0) + (p1.y - p2.y).pow(2.0) val c = (p2.x - p0.x).pow(2.0) + (p2.y - p0.y).pow(2.0) val angle = acos(( a + b - c) / sqrt(4 * a * b)) * 180.0 / Math.PI } dimens는 면의 개수 cords는 dimens 개의 Coordinate..
OpenCV UI 오브젝트 검출 개발 환경은 아래와 같다. OpenCV 4.2 (Built for Android with NONFREE) Android 10 내가 검출하고자 하는 데이터는 실제(Real Object)가 아니고 안드로이드의 Display에서 특정 UI 컴포넌트를 검출하는 작업이 필요했다. 먼저 시도한 방법은 OpenCV의 TemplateMatching. 하지만 여러 디바이스 환경에서의 UI 컴포넌트의 사이즈와 변형(반응형 디자인)으로 인해 TemplateMatching의 특성상 검출하려는 오브젝트의 크기가 검출 대상 소스에서의 크기는 같아야 하고 Multi-scaling의 방식이나 MatPyramid 등 다양한 scale-case 를 반영해도 변형된 데이터에서는 검출이 힘들었다. 그래서 시도해본 것은 SURF, SIFT ..
Eclipse 테마 관련 플러그인 * http://eclipsecolorthemes.org/ 소스코드 수정창(Editor)의 색상(Syntax Color)을 프리셋으로 쉽게 저장, 공유, 불러오기 가능. Eclipse Market Place에서 Eclipse Color Theme 다운로드 후,위 사이트에서 XML을 받아 Import하면 된다. 혹은 Eclipse 설정가서, General -> Apperance -> Color Thjeme에서 개발자가 제공하는 테마를 다운로드할 수 있다. * 기본 Theme. 한국분이 만드신 크롬테마를 추천한다. Eclipse Market Place에서, Eclipse 4 Chrome Theme를 다운로드해 설치하면 된다. 혹은 외부에서 JAR파일을 다운로드받아, Eclipse폴더의 dropin 폴더에 넣..
간단한 JSON 노드 체계 확인 (JSON viewer) Online JSON Viewer를 통해 보면 됩니다.. 예를들어 { "title":"TEST", "title_img":"title.png", "buttons":[ { "id":"home01", "title":"테스트버튼", "icon_img":"test_btn.png", "text_img":"text_img.png" }, { "id":"home02", "title":"테스트버튼2", "icon_img":"test_btn2.png", "text_img":"text_img2.png" } ] } 와 같은 내용의 노드를 확인하면 위와같이 깔끔하게 나옵니다.. URL로 통해 불러오는것도 가능합니다. 링크 : http://jsonviewer.stack.hu/
devnote 110320 Ryulib에서 andengine으로 변경을 시작함. 아무래도 이게 최고의 방법인듯하다 아오 뻐킹 SVN을 이용해서 andengine 소스를 checkout함 (처음해봐서 해맴ㅋ)
dev-note1 - bms - *---------------------- HEADER FIELD 해드필더. *---------------------- MAIN DATA FIELD 매인 데이타 필드이다. bmse로 bms를 간단히만듬. ========================================================================================= #00001:ZZ #00012:020100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 #00101:00 #00101:ZZ #00112:02 #00114:ZZ #00201:ZZ ==============================..