Profile cover photo
Profile photo
YOUNG HO CHA
790 followers -
Digging android platform
Digging android platform

790 followers
About
Posts

Post has attachment
My nougat devices
Photo
Add a comment...

2008๋…„์— ๊ตฌ์ž…ํ•ด์„œ ์‚ฌ์šฉํ•˜๋˜ Onkyo TX-SR606๊ฐ€ ์ œ๊ธฐ๋Šฅ์„ ์ƒ์‹คํ•œ์ง€ ๋ฐ˜๋…„ ๊ฐ€๊นŒ์ด ๋˜์—ˆ๋Š”๋ฐ, ๋ฒผ๋ฅด๊ณ  ๋ฒผ๋ฅด๋‹ค๊ฐ€ ์ด๋ฒˆ๊ธฐํšŒ์— Yamaha RX-V381 ๋กœ ๊ฐˆ์•„ํƒ”์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ Onkyo์˜ ๊ฒฝ์šฐ์—๋Š” ๊ตฌ์ž…ํ•  ๋‹น์‹œ๋งŒ ํ•ด๋„ ์ค‘๊ฐ„๊ธ‰ ์‚ฌ์–‘์ด์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ๊ตฌ์ž…ํ•œ ์•ผ๋งˆํ•˜ ๋ฆฌ์‹œ๋ฒ„๋Š” ์™„์ „ ์ดˆ๊ธ‰์šฉ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 8๋…„์˜ ์„ธ์›”์ด ํ๋ฅด๋ฉด์„œ ์ค‘๊ฐ„๊ธ‰ ์‚ฌ์–‘์—๋งŒ ๋“ค์–ด๊ฐ”๋˜ ๊ธฐ๋Šฅ๋“ค์ด ์ด์ œ๋Š” ์ดˆ๊ธ‰์šฉ ๋ฆฌ์‹œ๋ฒ„์— ๋ชฝ๋•… ํก์ˆ˜๊ฐ€ ๋˜์–ด๋ฒ„๋ ธ๋„ค์š”.

๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๋ฆฌ์‹œ๋ฒ„์™€ ๊ธฐ๋Šฅ๋ณ„๋กœ ๋‹ค๋ฅธ ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ
* usb mp3 ํ”Œ๋ ˆ์ด ๊ธฐ๋Šฅ ์ถ”๊ฐ€
* bluetooth ์—ฐ๊ฒฐ ๊ธฐ๋Šฅ ์ถ”๊ฐ€
* hdmi 1.3a ๋Œ€์‘ -> hdmi 2.0 ๋Œ€์‘ (4k@60Hz)
* HDMI CEC Remote Control Passthrough ์ง€์› ์ถ”๊ฐ€. (๋ฆฌ์‹œ๋ฒ„์˜ ๋ฆฌ๋ชจ์ฝ˜์œผ๋กœ PS4๋‚˜ Android TV์˜ ์ปจํ…์ธ  ์žฌ์ƒ ์ œ์–ด ๋ฐ ์ปค์„œ ํ‚ค ์ œ์–ด ๊ฐ€๋Šฅ)
* HDMI CEC Device OSD Name Transfer ์ง€์› ์ถ”๊ฐ€. (HDMI๋กœ ์—ฐ๊ฒฐ๋œ ๋ฏธ๋””์–ด ์†Œ์Šค ๊ธฐ๊ธฐ์ด๋ฆ„์ด ์ž๋™์œผ๋กœ ํ‘œ์‹œ๋จ)

๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ
* component ๋ฐ s-video ์ถœ๋ ฅ ์•ˆ๋จ
* 7.1 ์ฑ„๋„ -> 5.1 ์ฑ„๋„ (์–ด์ฐจํ”ผ ์Šคํ”ผ์ปค๋ฅผ 5.1์กฐ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ;; )
* Zone 2 ์ถœ๋ ฅ ๊ธฐ๋Šฅ ์•ˆ๋จ


๊ทธ๋ฆฌ๊ณ  ์ด๋†ˆ๋ณด๋‹ค ๋” ์ข‹์€ ์‚ฌ์–‘์œผ๋กœ ๊ฐ€๋ฉด ์ด๋Ÿฐ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๊ฐ€ ๋˜๋„ค์š”.
* Wifi, Ethernet ์—ฐ๊ฒฐ (์Šค๋งˆํŠธํฐ์„ ์ด์šฉํ•œ ์ œ์–ด๊ธฐ๋Šฅ, Apple AirPlay, Spotify ๋“ฑ๋“ฑ)
* 3D Audio ํฌ๋งท (Dolby Atmos, DTS-X) ์ง€์›
* ํŽŒ์›จ์–ด ์—…๋ฐ์ดํŠธ
* HDMI upscaling

์ด๋Ÿฐ ๊ธฐ๋Šฅ๋“ค์€ ์ €ํ•œํ…Œ๋Š” ์œ ์šฉํ•˜์ง€ ์•Š์„ ๊ฒƒ ๊ฐ™์•„์„œ ๊ตฌ๋งคํ•  ๋•Œ ๊ณ ๋ ค์‚ฌํ•ญ์—์„œ ์ œ์™ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ์— ๊ตฌ์ž…ํ•˜๊ณ  ๋‚˜์„œ ๋งค์šฐ ํฐ ๋งŒ์กฑ๊ฐ์„ ์ค€ ๊ธฐ๋Šฅ์€ HDMI-CEC์ž…๋‹ˆ๋‹ค. ๋•๋ถ„์— ๋ฆฌ์‹œ๋ฒ„์˜ ๋ฆฌ๋ชจ์ฝ˜ ํ•˜๋‚˜๋กœ ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๊ธฐ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋‹จ์ ์€ ์•„์ง Power Off์ปจํŠธ๋กค์„ HDMI-CEC๋กœ๋งŒ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ธ๋ฐ, ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” TV๊ฐ€ ๊ตฌํ˜•์ด๋ผ ์–ด์ฉ”์ˆ˜๊ฐ€ ์—†๋„ค์š”.

์ด์ œ ์ด๋†ˆ ๋•๋ถ„์— ๋‹ค์‹œ ํŽธ์•ˆํ•œ AV๊ฐ์ƒ ๋ฐ ๊ฒŒ์ด๋ฐ ๋ผ์ดํ”„๋ฅผ ์ฆ๊ธธ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๋งŒ์— ์ง€๋ฆ„ ํ›„๊ธฐ์˜€์Šต๋‹ˆ๋‹ค..(..)
Add a comment...

Post has attachment
์–ผ๋งˆ์ „์— Google Camera ์•ฑ์ด 3.1๋กœ ์—…๋ฐ์ดํŠธ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๋กค๋ฆฌํŒ๋ถ€ํ„ฐ ์ง€์›ํ•˜๋˜ Camera 2 api[1](Camera 3.2 Hal[2])๋ฅผ ์ „๋ฉด์ ์œผ๋กœ ์ˆ˜์šฉํ•œ ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š”๋ฐ์š”, ์›๋ž˜ ๋„ฅ์„œ์Šค 5x/6p ์— ํฌํ•จ๋˜์–ด ๋ฐฐํฌ๋˜์—ˆ๋˜ ๊ฒƒ์„ ์ „์ฒด ๋„ฅ์„œ์Šค๊ธฐ๊ธฐ์— ํ™•์žฅ ์ ์šฉ์‹œ์ผฐ๋‚˜๋ด…๋‹ˆ๋‹ค.

์ œ๊ฐ€ ๋งŒ๋“ค๊ณ  ์žˆ๋Š” ์งํ‰ ๋„ฅ์„œ์Šค4 ๋กฌ์—๋„ ์ž˜ ๊ตด๋Ÿฌ๊ฐ€๊ฒ ๊ฑฐ๋‹ˆ ์‹ถ์–ด์„œ ํ›„๋”ฑ ์„ค์น˜ํ•˜๊ณ  ๋Œ๋ ค๋ดค๋Š”๋ฐ, UI๊ฐ€ ๋ฐ”๋€ ๊ฒƒ ๋ง๊ณ ๋Š” ๊ธฐ๋Šฅ ์ž์ฒด๋Š” ํ‹€๋ฆด๊ฒƒ์ด ๋ณด์ด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. (์–ด์ฐจํ”ผ ํ•˜๋“œ์›จ์–ด์—์„œ ์ง€์›ํ•˜๋Š” ๊ธฐ๋Šฅ๋งŒ ์ œ๊ณต๋ ํ…Œ๋‹ˆ, ๋”ด๊ฑด ๋ฐ”๋ผ์ง€ ๋ง์•„์•ผ;; )

๊ทธ๋Ÿฐ๋ฐ ์ด๊ฒƒ์ €๊ฒƒ ์‚ดํŽด๋ณด๋˜ ์ค‘ ์บ ์ฝ”๋” ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๋ฉด ์นด๋ฉ”๋ผ์•ฑ์ด ์นด๋ฉ”๋ผ์— ์—ฐ๊ฒฐํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋Š” ๋‹ค์ด์–ผ๋กœ๊ทธ์™€ ํ•จ๊ป˜ ๊ฐ•์ œ์ข…๋ฃŒ๋˜๋Š” ํ˜„์ƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ๋ฅผ ์œ ์‹ฌํžˆ ์‚ดํŽด๋ณด๋‹ˆ, camera ์•ฑ์—์„œ preview ํ™”๋ฉด์„ ์บ ์ฝ”๋”์˜ ๊ธฐ๋ณธ ํ•ด์ƒ๋„์™€ ๋™์ผํ•œ 1920x1080์„ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋„ฅ์„œ์Šค 4์˜ ํ•ด์ƒ๋„๋Š” 720p ์ˆ˜์ค€์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๊ฒƒ๋ณด๋‹ค ๋” ํฐ preview ํ™”๋ฉด ํ•ด์ƒ๋„๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (ํœด๋Œ€ํฐ์˜ ์นด๋ฉ”๋ผ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋Š” adb ์—ฐ๊ฒฐ ํ›„, "adb shell dumpsys media.camera" ๋ช…๋ น์„ ์ด์šฉํ•˜๋ฉด ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

reddit์˜ ๊ธ€ํƒ€๋ž˜[3]์—์„œ, android 6.0์ด ์ •์‹์œผ๋กœ ์ง€์›๋˜๋Š” Android One ๊ธฐ๊ธฐ์—์„œ๋„ ๋™์ผํ•œ ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ, ํ•ด์ƒ๋„๋ฅผ ์ค„์ด๋ฉด ์ •์ƒ ๋™์ž‘ํ•œ๋‹ค๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ด์„œ๋Š” ์ž‘์€ ํ•ด์ƒ๋„๋ฅผ ๊ฐ€์ง„ ๊ธฐ๊ธฐ์—์„œ๋Š” ๋™์ผํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ์นด๋ฉ”๋ผ ์•ฑ ์ž์ฒด์˜ ๋ฒ„๊ทธ๋กœ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์•„์‰ฝ๊ฒŒ๋„ Camera 3.1 ์—์„œ๋Š” ๋น„๋””์˜ค ๋…นํ™” ๊ธฐ๋Šฅ์„ 720p๋กœ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ๋ฐ–์— ์—†์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ.๋Ÿฐ.๋ฐ, 720p๋กœ ์„ค์ •ํ•œ ํ›„์—๋„ ์—ฌ์ „ํžˆ ์บ ์ฝ”๋” ์ „ํ™˜์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์–ด์„œ ์‚ดํŽด๋ณด๋‹ˆ, ์ด์ „ ๊ฒƒ๊ณผ ๋‹ค๋ฅธ ์˜ค๋ฅ˜ ๋ฉ”์„ธ์ง€๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
Camera Preview ํ™”๋ฉด์„ ๋ Œ๋”๋งํ•  Texture Surface๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋‹ค๋ผ๊ณ  ๋‚˜์˜ค๋Š”๋ฐ์š”. ๊ทธ๋ƒฅ ์ €๋ ‡๊ฒŒ ๋‚˜์˜ค๋Š” ๋ฉ”์„ธ์ง€ ๋งŒ์œผ๋กœ๋Š” ์›์ธ ๋ถ„์„์ด ํž˜๋“ค์–ด ๋ณด์ž…๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ์นด๋ฉ”๋ผ ๊ด€๋ จ ๋””๋ฒ„๊น… ๋ฉ”์„ธ์ง€๋ฅผ ๋ชจ๋‘ ์ผœ๋ดค๋Š”๋ฐ์š”. ์นด๋ฉ”๋ผ ๊ด€๋ จ api์˜ ์†Œ์Šค์— ์ •์˜๋œ DEBUG[4] ๋ผ๋Š” ์ƒ์ˆ˜๋“ค์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ›„ ๋กฌ์„ ๋นŒ๋“œํ•˜๋ฉด ์˜จ๊ฐ– ์ž์ž˜ํ•œ ๋””๋ฒ„๊น… ๋ฉ”์„ธ์ง€๊ฐ€ ๊ฐ™์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋””๋ฒ„๊น… ๋ฉ”์„ธ์ง€๋ฅผ ์ผœ๋†“๊ณ  ์‚ดํŽด๋ณธ ๊ฒฐ๊ณผ, ํ•ด๋‹น ๋ฌธ์ œ๋Š” camera ์—์„œ camcoder ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•  ๋•Œ camera preview ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” texture surface ๋„ ๊ต์ฒดํ•˜๋ฉด์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์˜€์Šต๋‹ˆ๋‹ค.

์นด๋ฉ”๋ผ ์•ฑ ์•ˆ์—์„œ ์บ ์ฝ”๋” ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•˜๋ ค๋ฉด ๋ฌด์กฐ๊ฑด ์นด๋ฉ”๋ผ ๋ชจ๋“œ ์ „ํ™˜์ด ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์นด๋ฉ”๋ผ ์•ฑ์„ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒํ•˜๊ณ , am ๋ช…๋ น[5]์„ ์ด์šฉํ•ด ๋ฐ”๋กœ ์บ ์ฝ”๋” ๋ชจ๋“œ๋กœ ์ง„์ž…ํ•˜๋„๋ก ํ•ด๋ดค์Šต๋‹ˆ๋‹ค.
์—ญ์‹œ ์˜ˆ์ธก๋Œ€๋กœ ์บ ์ฝ”๋” ๋ชจ๋“œ๋กœ ์˜ค๋ฅ˜์—†์ด ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฆ‰ ๋ฌธ์ œ๋Š” camera ๋ชจ๋“œ์—์„œ camcoder ๋ชจ๋“œ๋กœ ์ „ํ™˜ํ•˜๋ฉด์„œ, texture surface ๋ฅผ ๊ต์ฒดํ•˜๋Š” ํƒ€์ด๋ฐ ์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ๋ž˜์„œ ๋ชจ๋“œ ์ „ํ™˜์— ํ•„์š”ํ•œ camera api(capture ์ค‘์ง€ ์š”์ฒญ)๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์ค‘๊ฐ„์— ์‚ด์ง ์‰ฌ๊ฒŒ(sleep ํ˜ธ์ถœ)ํ•ด์ฃผ๋‹ˆ ์•„๋ฌด ์˜ค๋ฅ˜์—†์ด ๋ฉ€์ฉกํ•˜๊ฒŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์‹ค ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์„ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๋ ค๋ฉด camera์˜ ํ•˜๋“œ์›จ์–ด ์ถ”์ƒ ๊ณ„์ธต(hal)์—์„œ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค๋งŒ, ์—ฌ๊ธฐ๊นŒ์ง€ ์•Œ์•„๋‚ด๋Š”๋ฐ ๊ฑฐ์˜ 6์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ด์„œ (๋นŒ๋“œ - ๋ถ€ํŒ… - ํ™•์ธ - ๋ฆฌ๋นŒ๋“œ ์˜ ์—ฐ์†) ๋” ์ด์ƒ ์ง„ํ–‰ํ•˜๊ธฐ ํž˜๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ๋•œ๋นต์œผ๋กœ;; ๋งˆ๋ฌด๋ฆฌ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์บ ์ฝ”๋” ๋ชจ๋“œ์—์„œ ํ™”๋ฉด์˜ ๋ฐฉํ–ฅ์ด ์—‰๋šฑํ•˜๊ฒŒ ์„ค์ •๋˜๋Š” ํ˜„์ƒ๋„ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๊ฑธ ์žก๋Š” ๊ฒƒ์€ ๋‹ค์Œ ์ฃผ๋กœ ๋ฏธ๋ค„์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค. (์ผ๋‹จ camera service์—์„œ ํ™”๋ฉด ๋Œ๋ฆฌ๋Š” api๋Š” ์ˆ˜ํ–‰์„ ํ–ˆ๋Š”๋ฐ, surface flinger์—์„œ๋Š” ํ•ด๋‹น texture surface์— rotation์ด ์ ์šฉ๋˜์ง€ ์•Š์€ ๊ฒƒ ๊นŒ์ง€ ํ™•์ธ)

์ผ๋‹จ ์œ„ ํ˜„์ƒ์— ๋Œ€ํ•œ ๋•œ๋นต ์ˆ˜์ •๊ณผ ํ•จ๊ป˜ ์ด๊ฒƒ ์ €๊ฒƒ ์—…๋ฐ์ดํŠธ ํ•œ ์งํ‰ ๋„ฅ์„œ์Šค 4์šฉ ๋กฌ์€ xda developers ์˜ thread ์— ์˜ฌ๋ ค๋‘์—ˆ์Šต๋‹ˆ๋‹ค.[6]

#ghackfair #์‚ฝ์งˆ์˜์ข…๋ง์€์–ธ์ œ๋‚˜ํ—ˆ๋ฌดํ•˜๋‹ค #์œผ์–ด๋‚ด์ฃผ๋ง

[1]: https://d.android.com/reference/android/hardware/camera2/package-summary.html
[2]: http://s.android.com/devices/camera/camera3.html
[3]: https://www.reddit.com/r/Android/comments/3tbcoh/google_camera_31021_242880830_arm_android_60/cx4qw05https://www.reddit.com/r/Android/comments/3tbcoh/google_camera_31021_242880830_arm_android_60/cx4qw05
[4]: https://github.com/android/platform_frameworks_base/blob/master/core/java/android/hardware/camera2/impl/CameraCaptureSessionImpl.java#L42
[5]: https://developer.android.com/tools/help/shell.html#am
[6]: http://forum.xda-developers.com/nexus-4/development/fake-nexus-rom-nexus-4-t3230268
Add a comment...

์ง€๋‚œ ํฌ์ŠคํŒ…[1]์—์„œ Stub์•ฑ์— ๋Œ€ํ•ด์„œ ๊ฐ„๋žตํ•˜๊ฒŒ ์ด์•ผ๊ธฐํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ์ž์ฒด๋Š” ์•„์ฃผ ๊ฐ„๋‹จํ•œ๋ฐ์š”. ์ง€๋‚œ ํฌ์ŠคํŠธ๋ฅผ ์ธ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

* ์•ฑ์˜ ์•„์ด์ฝ˜
* ๋Ÿฐ์ณ์—์„œ ํ‘œ์‹œํ•  ์•ฑ์˜ ์ด๋ฆ„
* ์•„์ฃผ ์ž‘์€ dalvik bytecode (์‹œ์ž‘๋˜๋ฉด Play Store๋กœ ์ „๋‹ฌํ•ด์คŒ)

๊ทธ๋ฆฌ๊ณ  ๋นผ๋จน์€๊ฒŒ ์žˆ์—ˆ๋Š”๋ฐ, ๋ฐ”๋กœ ์•ฑ์ด ์–ด๋– ํ•œ ๋™์ž‘์— ๋Œ€ํ•ด์„œ ๊ตฌ๋™๋˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜๋Š” Intent filter ์ธ๋ฐ์š”.

Android์—์„œ ์•ฑ ๋™์ž‘์€ Intent[1] ์— ์˜ํ•ด์„œ ์ •์˜๊ฐ€ ๋˜๊ณ , ์•ฑ์—์„œ๋Š” Intent Filter ๋ฅผ ๊ตฌ์„ฑํ•ด์„œ, ์ž๊ธฐ๊ฐ€ ์–ด๋–ค ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ OS์—๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

๋ณดํ†ต์€ ๊ธฐ๋ณธ ๋™์ž‘์ž„์„ ์•Œ๋ฆฌ๋Š” ACTION_MAIN ๊ณผ ๋Ÿฐ์ณ์—์„œ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” CATEGORY_LAUNCHER ์˜ ์กฐํ•ฉ์ด ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ธด ํ•ฉ๋‹ˆ๋‹ค๋งŒ, ์ด ์™ธ์—๋„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋™์ž‘์— ๋Œ€ํ•ด ์ •์˜๋ฅผ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด, ย ACTION_SEND[2] ๊ฐ™์€ Intent๋ฅผ ์ด์šฉํ•ด ๊ณต์œ  ๋™์ž‘์„ ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Stub ์•ฑ์˜ ๊ฒฝ์šฐ, ๋™์ž‘ ์ž์ฒด๋Š” Play Store๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋๋‚ด๋Š” ๊ฐ„๋‹จํ•œ ์•ฑ์ด์ง€๋งŒ, ์›๋ž˜ ์•ฑ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋˜ Intent Filter๋ฅผ ๋ชจ๋‘ ๋“ฑ๋กํ•˜๋ฉด, ์•„์ง ์‹ค์ œ ์•ฑ์ด ์„ค์น˜๊ฐ€ ๋˜์–ด์žˆ์ง€ ์•Š๋”๋ผ๋„ ๋™์ผํ•œ ๋™์ž‘์— ๋Œ€ํ•ด ํ•ด๋‹น ์•ฑ์„ ์ถ”๊ฐ€์ ์œผ๋กœ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ์œ ๋„ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์œ ์šฉํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋งŒ๋“ค์–ด์•ผํ•  ์•ฑ ๊ฐœ์ˆ˜๋„ ์ƒ๋‹นํžˆ ๋งŽ๊ณ , ์•ฑ์— ํฌํ•จ๋œ intent filter ๋„ ์•„์ฃผ ๋‹ค์–‘ํ•ด์„œ ์ผ์ผ์ด ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์€ ๊ทธ๋ ‡๊ฒŒ ๊ดœ์ฐฎ์€ ๋ฐฉ๋ฒ•์ด ์•„๋‹ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.
๋”๊ตฐ๋‹ค๋‚˜ ์•ฑ์˜ ์•„์ด์ฝ˜๊ณผ ๋Ÿฐ์ณ์— ํ‘œ์‹œ๋˜๋Š” ์•ฑ์˜ ์ด๋ฆ„๋„ ์–ธ์–ด๋ณ„๋กœ ์ผ์ผ์ด ๋งŒ๋“ค์–ด ์ค˜์•ผ ํ•˜๋Š” ๊ฒƒ๋„ ย ๋”๋”์šฑ ํฐ์ผ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ Stub ์•ฑ ์ž‘์„ฑ์„ ์ง์ ‘ ํ•˜์ง€์•Š๊ณ , AndroidManfiest ๋ฐ resource๋ฅผ ๊ธฐ์กด์˜ apk๋ฅผ ๋ถ„์„ํ•ด ์ƒ์„ฑ(generation)ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด๊ธฐ๋กœ ํ–‡์Šต๋‹ˆ๋‹ค.

apk ๋ถ„์„ ๋„๊ตฌ ์ค‘์—์„œ ์œ ๋ช…ํ•œ ๊ฒƒ์€ apktool[4]๊ณผ androguard[5]๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ ์ค‘ , ์ €ํ•œํ…Œ ์ต์ˆ™ํ•œ python ๊ธฐ๋ฐ˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ androguard๋ฅผ ์ด์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
(๊ทธ๋ฆฌ๊ณ  apktool์€ ์•„์ง marshmallow์šฉ์œผ๋กœ ๋นŒ๋“œํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ๋Œ€ํ•ด์„œ ์ •์ƒ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.)

androguard๋ฅผ ์ด์šฉํ•˜๋ฉด, apk์— ํฌํ•จ๋œ AndroidManifest.xml ์„ python ํ‘œ์ค€ dom ์œผ๋กœ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
์ด๋ฅผ ์ด์šฉํ•ด ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ–ˆ์Šต๋‹ˆ๋‹ค.

* package ์ด๋ฆ„
* ํ•ด๋‹น Application ๋ฐ Activity์˜ ํ‘œ์‹œ ์ด๋ฆ„๊ณผ ์•„์ด์ฝ˜
* ํฌํ•จ๋œ Activity ๋ชฉ๋ก
* ํ•ด๋‹น Activity๋ฅผ ๊ตฌ๋™ํ•  Intent Filter

๊ทธ๋ฆฌ๊ณ  ์œ„ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” dom element๋ฅผ ์ด์šฉํ•ด, ย ๋ชจ๋“  Activity์— ๋Œ€ํ•ด Play Store๋กœ ๋Œ๋ฆฌ๋Š” ์—ญํ• ์„ ํ•˜๋Š” Activity์™€ alias ๋ฅผ ๊ฑธ์–ด์ฃผ๋Š” AndroidManifest.xml ์„ ๊ตฌ์„ฑํ•˜๋Š” python ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰ ์›๋ž˜ apk ์— ํฌํ•จ๋œ AndroidManifest์˜ activity element๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜๊ฐ€ ๋˜์–ด์žˆ์œผ๋ฉด...

<activity android:name="MusicBrowserActivity" >
ย  ย  <intent-filter>
ย  ย  ย  ย  ย  ย  ย  ย  <action android:name="android.intent.action.MAIN" />
ย  ย  ย  ย  ย  ย  ย  ย  <category android:name="android.intent.category.DEFAULT" />
ย  ย  ย  ย  ย  ย  ย  ย  <category android:name="android.intent.category.LAUNCHER" />
ย  ย  ย </intent-filter>
</activity>

dom ์„ ๊ฐ€๊ณตํ•ด ์•„๋ž˜์™€ ๊ฐ™์ด AndroidManifest ์„ ์ƒ์„ฑํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

<activity ย  android:launchMode="singleTask"
ย  ย  ย  ย  ย  ย  android:name="com.google.android.stub.PlayStoreRedirectActivity"
ย  ย  ย  ย  ย  ย  android:noHistory="true"
ย  ย  ย  ย  ย  ย  android:theme="@android:style/Theme.NoDisplay"/>

<activity-alias android:name="MusicBrowserActivity"
ย  android:targetActivity="com.google.android.stub.PlayStoreRedirectActivity" >
ย  ย  <intent-filter>
ย  ย  ย  ย  ย  ย  ย  ย  <action android:name="android.intent.action.MAIN" />
ย  ย  ย  ย  ย  ย  ย  ย  <category android:name="android.intent.category.DEFAULT" />
ย  ย  ย  ย  ย  ย  ย  ย  <category android:name="android.intent.category.LAUNCHER" />
ย  ย  ย </intent-filter>
</activity>

Activity์˜ ํ‘œ์‹œ ์ด๋ฆ„๊ณผ ์•„์ด์ฝ˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ resource๋ฅผ ์ฐธ์กฐํ•˜๋„๋ก ํ•˜๋Š”๋ฐ, ๋ฐ”์ด๋„ˆ๋ฆฌ ๋‚ด์—์„œ๋Š” ์ปดํŒŒ์ผ๋˜์–ด์„œ resource id๊ฐ’์œผ๋กœ ํ•ด์„์ด ๋œ ์ฑ„๋กœ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ resource id๋ฅผ ์ด์šฉํ•ด ์›๋ž˜ resource ์ด๋ฆ„ (string/app_name๋˜๋Š” drawable/ic_launcher ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ)๋ฅผ ์ฐพ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์œ„ ์ž‘์—…๊ณผ ํ•จ๊ป˜ Stub์„ ํ˜„์žฌ Android Platform ์˜ ๋นŒ๋“œํ™˜๊ฒฝ์„ ์ด์šฉํ•ด apk๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก Android.mk ํŒŒ์ผ๋„ ์ƒ์„ฑ[6]ํ•œ ํ›„, ๊ณง๋ฐ”๋กœ apk๋ฅผ ๋นŒ๋“œ[7]ํ•˜๊ณ , ์›๋ž˜ ์•ฑ apk ํŒŒ์ผ์˜ public certificate key๋ฅผ ์ถ”์ถœํ•ด ๊ต์ฒด[8]ํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ Stub App ์ž‘์„ฑ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•ด 10๊ฐœ์˜ stub app์„ ์ž‘์„ฑํ•˜์—ฌ, ย ์•ฝ 150mb ๊ฐ€๋Ÿ‰์˜ ๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

#ghackfair #์ด๋ ‡๊ฒŒ์ž‘์—…์€์‚ฐ์œผ๋กœ๊ฐ€๊ณ 

[1]: https://plus.google.com/+YoungHoCha/posts/YdnoGbVX3X3
[2]: https://developer.android.com/guide/components/intents-filters.html
[3]: https://developer.android.com/reference/android/content/Intent.html#ACTION_SEND
[4]: https://ibotpeaches.github.io/Apktool/
[5]: https://github.com/androguard/androguard
[6]: https://goo.gl/OOPkSL
[7]: https://goo.gl/riH0yj
[8]: https://goo.gl/FwzIYL
Add a comment...

๋„ฅ์„œ์Šค์šฉ ๋กฌ์„ ๋งŒ๋“ค๋ฉด์„œ ์ œ์ผ ์–ด๋ ค์› ๋˜ ๋ถ€๋ถ„์€ ๋กฌ์˜ ํฌ๊ธฐ ๊ด€๋ฆฌ์˜€์Šต๋‹ˆ๋‹ค.
๋„ฅ์„œ์Šค4์˜ OS์šฉ๋Ÿ‰์œผ๋กœ ๋ฐฐ์ •๋œ ํฌ๊ธฐ๋Š” 840Mb ์ธ๋ฐ, ๊ตฌ๊ธ€์˜ ๋ชจ๋“  ์„œ๋น„์Šค๋ฅผ ํฌํ•จํ•˜๊ธฐ์—๋Š” ๋„ˆ๋ฌด๋‚˜๋„ ์ž‘์•˜์Šต๋‹ˆ๋‹ค.

์ตœ๊ทผ ์ถœ์‹œ๋œ ๋„ฅ์„œ์Šค5x/6p์˜ ๊ฒฝ์šฐ OS์— ํ• ๋‹น๋œ 3Gb ์ €์žฅ์†Œ ์ค‘ 2Gb๊ฐ€๋Ÿ‰์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  64bit ํ™˜๊ฒฝ์œผ๋กœ ๋ฐ”๋€Œ๋ฉด์„œ, 32bit ๋ฐ 64bit ์šฉ ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ ๋ชจ๋‘ ํฌํ•จ๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฉ๋Ÿ‰์ด ์ปค์ง„ ๊ฒƒ๋„ ์žˆ์Šต๋‹ˆ๋‹ค๋งŒ, ๊ตฌ๊ธ€์˜ ๋ชจ๋ฐ”์ผ์šฉ ์•ฑ์˜ ์ข…๋ฅ˜์™€ ํฌ๊ธฐ๋„ ๊ทธ๋งŒํผ ์ปค์ ธ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ตฌ๊ธ€์—์„œ ๋ฐฐํฌํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋ณธ ๋ชจ๋ฐ”์ผ์šฉ ์•ฑ๋“ค์˜ ํฌ๊ธฐ๋ฅผ ๋ชจ๋‘ ํ•ฉํ•˜๋ฉด 700M๊ฐ€ ๋„˜์–ด๊ฐ€๋ฉฐ, ์ฆ‰ ๊ธฐ๋ณธ์•ฑ์€ ์•„์ฃผ ์ผ๋ถ€๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๊ธฐ๋ณธํƒ‘์žฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์€ ๋„ฅ์„œ์Šค4 ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ย ๋„ฅ์„œ์Šค5๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ๋„ฅ์„œ์Šค5์—์„œ OS์— ๋ฐฐ์ •๋œ ์ €์žฅ์žฅ์†Œ ์šฉ๋Ÿ‰์€ ย 1Gb ์ด๋ฉฐ, Nexus4 ๋ณด๋‹ค ์—ฌ์œ ๊ฐ€ ์žˆ๋Š” ํŽธ์ด๊ธฐ๋Š” ํ•ฉ๋‹ˆ๋‹ค๋งŒ, ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด๋ฒˆ์— Android 6.0์— ์ •์‹์œผ๋กœ ์ง€์›ํ•˜๋Š” Nexus 5์˜ ๊ฒฝ์šฐ์—๋Š” ์šฉ๋Ÿ‰๋ถ€์กฑ์„ ํ•ด๊ฒฐํ•ด์„œ ์ถœ์‹œ๋ฅผ ํ•ด๋ฒ„๋ ธ๊ณ , ๊ทธ ํ‰๋‚ด๋ฅผ ๋‚ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.

Nexus 5์˜ ํŒฉํ† ๋ฆฌ ๋กฌ์—๋Š” PrebuiltKeepStub.apk ์ด๋ผ๋Š” ์ด๋ฆ„์˜ ์•ฑ์ด ๋ฏธ๋ฆฌ ํƒ‘์žฌ ๋˜์–ด์žˆ๋Š”๋ฐ, ย ์ด๋ฆ„์„ ๋ณด๋ฉด ๋ˆˆ์น˜์ฑ˜๊ฒ ์ง€๋งŒ Google Keep ์•ฑ์˜ ๊ป๋ฐ๊ธฐ(?)์ž…๋‹ˆ๋‹ค.

Google Keep์˜ ๊ฒฝ์šฐ 12mb ๊ฐ€๋Ÿ‰ ๋ฉ๋‹ˆ๋‹ค๋งŒ, Nexus 5์— ํฌํ•จ๋œ ๋…€์„์€ 40kb ๋ฐ–์— ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. aapt ๋กœ ํ™•์ธํ•ด๋ณด๋ฉด apk ๋‚ด๋ถ€์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๋งŒ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

* ์•ฑ์˜ ์•„์ด์ฝ˜
* ๋Ÿฐ์ณ์—์„œ ํ‘œ์‹œํ•  ์•ฑ์˜ ์ด๋ฆ„
* ์•„์ฃผ ์ž‘์€ dalvik bytecode

dexdump๋ผ๊ณ ํ•˜๋Š” dalvik bytecode ํ•ด์„๊ธฐ๋ฅผ ํ†ตํ•ด์„œ ํฌํ•จ๋œ bytecode๋ฅผ ํ‘œ์‹œํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

https://gist.github.com/ganadist/28f676079e1fe40ee49b

dalvik์˜ ํ‘œํ˜„๋ฐฉ์‹์ด๋ผ์„œ ์•ฝ๊ฐ„ ์ƒ์†Œํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋™์ผํ•œ ๋ถ€๋ถ„์„ ์ž๋ฐ” ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. (ํด๋ž˜์Šค ์ด๋ฆ„์€ ์ž„์˜๋กœ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.)

https://github.com/ganadist/gms_addon/blob/android-6.0.0_r1/src/stubs/src/com/google/android/stub/PlayStoreRedirectActivity.java

ํ•ด๋‹น ์•ฑ์ด ์‹œ์ž‘๋˜๋ฉด, Play Store์— ์žˆ๋Š” ์•ฑ์˜ ์•ˆ๋‚ดํŽ˜์ด์ง€๋กœ ๋Œ๋ ค๋ฒ„๋ฆฌ๊ณ  ์ข…๋ฃŒํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ Play Store์˜ ์ž๋™์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•ด, ย ์ตœ์‹  ์•ฑ์œผ๋กœ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Nexus 5์˜ ๊ฒฝ์šฐ, Keep๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Google Doc, Sheet, Slide, Messenger, Newsstand ๋“ฑ์˜ ์•ฑ์ด ์‹ค์ œ ์•ฑ ๋Œ€์‹  ํฌ๊ธฐ๊ฐ€ ์ž‘์€ Stub ์•ฑ์œผ๋กœ ๊ต์ฒด๋˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด Nexus5 ๋ณด๋‹ค ์—ฌ์œ ๊ณต๊ฐ„์ด ์ ์€ Nexus 4์˜ ๊ฒฝ์šฐ์—๋Š” ๋” ๋งŽ์€ ์•ฑ๋“ค์— ๋Œ€ํ•ด์„œ Stubํ˜•์‹์œผ๋กœ ๊ต์ฒดํ•˜๋ฉด ์šฉ๋Ÿ‰๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์— ํฐ ์žฅ๋ฒฝ์ด ์žˆ๋Š”๋ฐ, Stub ์•ฑ์€ ํ•ด๋‹น ์•ฑ์˜ ์ œ์ž‘์‚ฌ๋งŒ์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ถœ์‹œ๋˜๋Š” ์•ฑ์—๋Š” ์ œ์ž‘์‚ฌ๊ฐ€ ์ž๊ธฐ๊ฐ€ ๋งŒ๋“ค์—ˆ๋‹ค๊ณ  ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” public certificate key ์™€ apk์— ํฌํ•จ๋œ ํŒŒ์ผ์— ๋Œ€ํ•œ ๋ณ€์กฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” sign์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”๋ฐ, ย ๋ช…๋ฐฑํ•˜๊ฒŒ ํƒ€์ธ์ธ ์ €๋กœ์„œ๋Š” ๊ทธ๋Ÿฌํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” apk๋ฅผ ๋งŒ๋“ค ์ˆ˜๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์œ„ ๊ธฐ๋Šฅ๋„ ์–ด์ฐจํ”ผ OS์—์„œ ์ œ๊ณต์„ ํ•˜๋‹ˆ, ย OS์—์„œ ์ž„์˜๋กœ ๋™์ž‘ํ˜•์‹์„ ๋ฐ”๊พธ๋ฉด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ˆ˜์ •ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

OS์—์„œ๋Š” ๋จผ์ € ํฌํ•จ๋œ ํŒŒ์ผ์˜ sign์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•œ ํ›„, ์ฒ˜์Œ ์„ค์น˜์‹œ์—๋Š” certificate key๋ฅผ os์—์„œ ์ €์žฅํ•˜๊ณ , ์—…๊ทธ๋ ˆ์ด๋“œ ๋  ๋•Œ์—๋Š” ์ด์ „์— ์„ค์น˜๋˜์—ˆ๋˜ ย ์ €์žฅํ–ˆ๋˜ key์™€ ์ƒˆ๋กœ ์„ค์น˜๋œ apk๋‚ด์˜ key๊ฐ€ ๋™์ผํ•œ์ง€ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

์ฆ‰ ์˜ˆ์ „์—(๋˜๋Š” OS์— ๋ฏธ๋ฆฌ) ์„ค์น˜๋œ ์•ฑ์˜ ๊ฒฝ์šฐ public certificate key๋งŒ ๋ณ€์กฐ๋˜์ง€ ์•Š์•˜๋‹ค๊ณ  ์ฐฉ๊ฐํ•˜๊ฒŒ ๋งŒ๋“ค๋ฉด ์ƒ๊ด€์ด ์—†์–ด์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Android์—์„œ๋Š” PackageParser ๋ผ๋Š” class์˜ collectCertificates๋ผ๋Š” ๋ฉ”์†Œ๋“œ[1]์—์„œ StrictJarFile ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ sign์ด ์˜ฌ๋ฐ”๋ฅธ์ง€ ํ™•์ธํ•˜๊ณ , ๊ทธ ํ›„ certificate key๋ฅผ ์ถ”์ถœ ๋ฐ ๋น„๊ต๋ฅผ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ๋ถ€๋ถ„์—์„œ sign ๊ฒ€์ฆํ•˜๋Š” ๋ถ€๋ถ„์„ ์ œ์™ธ์‹œ์ผœ ๋ฒ„๋ฆฌ๊ณ , certificate key๋งŒ ์ถ”์ถœํ•ด ๊ฐ•์ œ๋กœ ์ ์šฉ๋˜๋„๋ก ์ž„์˜๋กœ ๋ณ€๊ฒฝ[2]ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ž„์˜๋กœ ์ € ๊ธฐ๋Šฅ์„ ๊ณ„์† ํ™œ์„ฑํ™” ์‹œ์ผœ๋‘๋ฉด, ๋ณด์•ˆ์— ์น˜๋ช…์ ์ธ ์•ฝ์ ์ด ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ•ด๋‹น ๋™์ž‘์€ OS์— ๋ฏธ๋ฆฌ ์„ค์น˜๋œ ์•ฑ(apk์˜ ๊ฒฝ๋กœ๊ฐ€ /system ์œผ๋กœ ์‹œ์ž‘)์— ํ•œํ•ด์„œ๋งŒ ์ ์šฉ๋˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ž„์˜์˜ Stub์•ฑ์„ ์ž‘์„ฑํ•œ ํ›„, ย ์›๋ž˜ ์•ฑ์—์„œ ์ถ”์ถœํ•œ public certificate key(apkํŒŒ์ผ์•ˆ์— META-INF/CERT.RSA ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์กด์žฌ)๋ฅผ StubApp์— ํฌํ•จํ•˜๊ฒŒ ํ•˜๋ฉด, ์›๋ž˜ ๊ตฌ๊ธ€์—์„œ ๋ฐฐํฌํ•œ ์•ฑ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด ๊ธฐ๋Šฅ์„ ์ ์šฉํ•˜๋ฉด์„œ ๋œปํ•˜์ง€ ์•Š๊ฒŒ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ž‡์ ์ด ์ƒ๊ฒผ๋Š”๋ฐ์š”.

๋ฐ”๋กœ ๊ตฌ๊ธ€์—์„œ ๋ฐฐํฌํ•˜๋Š” OS์—์„œ *์ง์ ‘ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๊ฐ€๋Šฅ*ํ•ด์กŒ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ์ปค์Šคํ…€ ๋กฌ์„ ์„ค์น˜ํ•  ๋•Œ์—๋Š” factory reset์„ ํ•ด์•ผ๋งŒ ์ •์ƒ์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
Android์—์„œ๋Š” ์•ฑ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ OS์—๋„ ๋™์ผํ•˜๊ฒŒ public certificate key๋ฅผ ๋น„๊ตํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋ฏธ OS์— ํฌํ•จ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ค์น˜ ์‹คํŒจ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค๋งŒ, ํ•ด๋‹น ์•ฑ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ชจ๋“  permission์ด ๋ฌดํšจํ™” ๋˜๊ธฐ ๋•Œ๋ฌธ์— OS๊ฐ€ ์˜ค๋™์ž‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ OS์— ๋‚ด์žฅ๋œ ๋ชจ๋“  apk์— ๋Œ€ํ•ด์„œ ์ธ์ฆ์„œ๋งŒ ์ˆ˜์ง‘ํ•ด์„œ ๊ฐ•์ œ๋กœ ์ ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ย ์œ„์™€ ๊ฐ™์€ ํ˜„์ƒ์ด ๋ฐœ์ƒ๋˜๋Š” ๊ฒƒ์„ ํ”ผํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

#ghackfair #์—…๊ทธ๋ ˆ์ด๋“œ๋„๋˜๋Š”์‹ ๊ธฐ๋ฐฉ๊ธฐํ•œ๋†ˆ

[1]: https://goo.gl/vbA9KA
[2]: https://goo.gl/8AdsOM
Add a comment...

Post has attachment
11์›” 3์ผ์— android 11์›” ๋ณด์•ˆํŒจ์น˜์™€ ํ•จ๊ป˜ ์˜ฌํ•ด ์ถœ์‹œํ•œ nexus 5x/6p ์šฉ ์†Œ์Šค๋„ ํ•จ๊ป˜ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ๊ธฐ์กด์˜ ์•ˆ๋“œ๋กœ์ด๋“œ ๊ธฐ๊ธฐ์˜ ์†Œ์Šค(marshmallow-release)์™€ ๋‹ค๋ฅด๊ฒŒ ์˜ฌํ•ด ๋‚˜์˜จ ๊ธฐ๊ธฐ๋ฅผ ์œ„ํ•œ ๋ณ„๋„์˜ ๋ธŒ๋žœ์น˜(marshmallow-dr-release)๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
(๊ฐœ๋ฐœ๋ฒ„์ ผ์ธ master ๋Š”ย marshmallow-dr-release ๊ฐ€ merge[1] ๋˜์—ˆ์œผ๋ฏ€๋กœ, ํ•ด๋‹น ๋ธŒ๋žœ์น˜๊ฐ€ ์•ž์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ OS๊ฐœ๋ฐœ์˜ ๊ธฐ์ค€์ ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.)

๊ธฐ์กด์˜ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ๋ฅผ ์œ„ํ•œ ๋ธŒ๋žœ์น˜์™€ ๋‹ค๋ฅธ๊ฒŒ ๋ญ๊ฐ€ ์žˆ์„๊นŒ ์‹ถ์–ด์„œ ์‚ด์ง ๋’ค๋ฒผ๋ดค๋Š”๋ฐ, ๋ณ„๋กœ ๋ฐ”๋€๊ฒŒ ์—†๋Š” ๋“ฏ ํ•˜๋ฉด์„œ ์€๊ทผํžˆ ์—ฌ๊ธฐ์ €๊ธฐ๊ฐ€ ์ˆ˜์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. (๋ฉ”๋ชจ๋ฆฌ ๋ฆญ ์ˆ˜์ •, ์ธํ„ฐ๋„ท ์ „ํ™”๊ธฐ๋Šฅ ๋ณด๊ฐ•, ๊ธฐํƒ€ ๋“ฑ๋“ฑ)

ํ•˜์ง€๋งŒ, ํ•˜๋“œ์›จ์–ด์™€ ์—ฐ๊ณ„๋˜๋Š” ๋ถ€๋ถ„์ธ HAL(Hardware Abstraction Layer, [2], [3])์€ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„์ด ๊ฑฐ์˜ ์—†์œผ๋ฏ€๋กœ, ๋‹ค๋ฅธ ๊ธฐ๊ธฐ(์ด ๊ฒฝ์šฐ์—๋Š” ๋„ฅ์„œ์Šค4)์—์„œ๋„ ์—ญ์‹œ Nexus 5x/6p ์šฉ OS๋ฅผ ๋ฌธ์ œ์—†์ด ๊ตฌ๋™ ์‹œํ‚ฌ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ ์•„๋ฌด ์ƒ๊ฐ์—†์ด ์†Œ์Šค๋ฅผ ๋ฐ›๊ณ , ๊ธฐ์กด์˜ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ด์šฉํ•ด ๋นŒ๋“œ ํ›„ ๋ถ€ํŒ…์„ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
๊ฒ‰ ๋ณด๊ธฐ์—๋Š” ๋ฉ€์ฉกํ•˜๊ฒŒ ๋ณด์˜€๋Š”๋ฐ, ์ „ํ™” ๊ด€๋ จ๋œ ๊ธฐ๋Šฅ๋“ค์ด ์กฐ๊ธˆ์”ฉ ์˜ค๋™์ž‘์„ ํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ dialer ์•„์ด์ฝ˜์ด ์‚ฌ๋ผ์ ธ์„œ ์ „ํ™”๋ฅผ ๊ฑธ ์ˆ˜ ์—†๋Š” ํœด๋Œ€ํฐ์ด ๋˜์–ด๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋‹ˆ ๋ฌธ์ž์•ฑ ๋“ฑ์— ์žˆ๋Š” ์ „ํ™” ์•„์ด์ฝ˜์œผ๋กœ ์ „ํ™”๋ฅผ ๊ฑธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฆ‰ ๋Ÿฐ์ณ์—์„œ๋งŒ ์‚ฌ๋ผ์ ธ์žˆ๊ณ  ์ „ํ™”๋ฅผ ๊ฑฐ๋Š” ๊ธฐ๋Šฅ์€ ์‚ด์•„์žˆ๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ android์—์„œ๋Š” ๊ฐ์ข… ์ปดํฌ๋„ŒํŠธ(activity, service, provider, broadcast receiver, application)๋“ฑ์€ package manager[4]๋ฅผ ํ†ตํ•˜๊ฑฐ๋‚˜ AndroidManifest.xml์—์„œ ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ ์ •์˜ ๋‚ด์— android:enabled ์†์„ฑ์„ ์ด์šฉํ•ด์„œ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๋„๋ก ์„ค์ •์„ ํ•  ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ™•์ธํ•ด๋ณด๋‹ˆ, ์ „ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋œปํ•˜๋Š” ์ƒ์ˆ˜์ธย bool/config_voice_capable[5]์˜ ๊ฐ’์„ ์ด์šฉํ•ด dialer ํ™œ์„ฑํ™”๋ฅผ ๊ฒฐ์ •ํ•˜๋Š”๋ฐ, marshmallow-dr-release ์†Œ์Šค์—์„œ๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด์„œ ํ•ด๋‹น ๊ฐ’์˜ resource id ๊ฐ€ ๋ฐ€๋ ค์„œ ์—‰๋šฑํ•œ ๊ฐ’์„ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์—ˆ๊ณ , ๊ทธ ์—‰๋šฑํ•œ ๊ฐ’์„ AndroidManifest.xml์—์„œ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ package manager์˜ api ๋ฅผ ์ด์šฉํ•ด ๊ฐ•์ œ๋กœ enable ํ•˜๋„๋ก ํ•ด์„œ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค. [6]

๊ทธ๋ฆฌ๊ณ  ์ „ํ™” ํ†ตํ™”๋ฅผ ์‹œ์ž‘ํ•˜๋ฉด ์Œ์„ฑํ†ตํ™” ์†Œ๋ฆฌ๊ฐ€ ๋“ค๋ฆฌ์ง€ ์•Š๋Š” ๋ฒ„๊ทธ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
๋กœ๊ทธ๋ฅผ ์—ด์–ด์„œ ์‚ดํŽด๋ณด๋‹ˆ android์˜ audio, camera, ๋ฐ media๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” mediaserver ๊ฐ€ ๊ณ„์†ํ•ด์„œ crash ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
์—ด์‹ฌํžˆ ๋””๋ฒ„๊น… ํ•ด๋ณด๋‹ˆ, ํ€„์ปด์˜ audio hal ์„ ์ˆ˜์ •[7]ํ•˜๋ฉด์„œ, ์˜ˆ์ „ ๊ธฐ๊ธฐ(n4, n5, n7)์— ๋Œ€ํ•ด์„œ๋Š” ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•˜์ง€ ์•Š์•„์„œ, ์˜ค๋””์˜ค ์žฅ์น˜์˜ ์ดˆ๊ธฐํ™”๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋˜์ง€ ์•Š๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ผ๋‹จ n4์— ๋Œ€ํ•ด์„œ ์ƒ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋„๋ก[8] ํ•˜๋‹ˆ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•ด์„œ Nexus 4์— Nexus 5x/6p ์˜ OS๋ฅผ ์šฐ์—ฌ๊ณก์ ˆ๋์— ๊ตฌ๋™์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.

#ghackfair ย  #์ด๋ฏธ๋„ฅ์„œ์Šค5x๋ฅผ์“ฐ๋Š”๋Š๋‚Œ ย 

[1]:ย https://goo.gl/hvujVK (์†Œ์Šค ๋ฆด๋ฆฌ์ฆˆ ๊ณต์ง€)
[2]:ย https://goo.gl/LPZgLN (HAL ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ •์˜๋œ c header๋“ค)
[3]:ย http://s.android.com/devices/index.html (๊ตฌ๊ธ€์—์„œ ์ œ๊ณตํ•˜๋Š” android hal ๊ธฐ์ˆ  ๋ฌธ์„œ)
[4]:ย https://goo.gl/g8e68F (Package Manager์—์„œ ์ปดํฌ๋„ŒํŠธ์˜ ์ด์šฉ ๊ฐ€๋Šฅ ์ƒํƒœ๋ฅผ ์ œ์–ดํ•˜๋Š” api)
[5]:ย https://goo.gl/rOuu0t
[6]:ย https://goo.gl/ASysdh (dialer๋ฅผ ๊ฐ•์ œ๋กœ enableํ•˜๋Š” ๋•œ๋นต์ฝ”๋“œ)
[7]:ย https://goo.gl/cGHB7v
[8]:ย https://android-review.googlesource.com/181076
Add a comment...

Post has attachment
์–ด์ œ(11์›” 3์ผ) ์•ˆ๋“œ๋กœ์ด๋“œ6.0์— ๋Œ€ํ•œ 11์›” ๋ณด์•ˆํŒจ์น˜ ๋ฒ„์ ผ์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์•„์นจ์— ํ™”์žฅ์‹ค์—์„œ ๋‰ด์Šค์‚ฌ์ดํŠธ๋ฅผ ๋’ค๋ฒผ๋ณด๋‹ค๊ฐ€ ์†Œ์Šค๊ฐ€ ์˜ฌ๋ผ์˜จ ๊ฑธ ํ™•์ธํ•œ ํ›„, 5๋ถ„๋งŒ์— ์†Œ์Šค๋ฅผ ๋‚ด๋ ค๋ฐ›๊ณ  10๋ถ„๋งŒ์— ๋„ฅ์„œ์Šค4์šฉ ์—…๋ฐ์ดํŠธ ๋นŒ๋“œ๋ฅผ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋„ฅ์„œ์Šค4 ๊ด€๋ จ ์ปค์Šคํ…€๋กฌ ์ค‘์—์„œ๋Š” ์œ ์ผํ•˜๊ฒŒ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฅผ ์™„๋ฃŒํ•ด๋ฒ„๋ ธ๋„ค์š”. (๊ทธ๋งŒํผ ์“ฐ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์—†๋‹ค๋Š”๊ฒŒ ํ•จ์ •1, ์‹ค์ œ ์žฅ์น˜์—์„œ ์—…๋ฐ์ดํŠธ ํ•˜๋Š”๋ฐ๋Š” cpu๊ฐ€ ๋Š๋ ค์„œ 30๋ถ„ ๊ฐ€๋Ÿ‰ ๊ฑธ๋ ธ๋‹ค๋Š”๊ฒŒ ํ•จ์ •2)

์ผ๋‹จ 11์›” ๋ณด์•ˆํŒจ์น˜ ๋ฒ„์ ผ์— ๋งž๊ฒŒ ๋ธŒ๋žœ์น˜(๋ฆด๋ฆฌ์ฆˆ ์ •์ฑ…์ด aosp ์—…์ŠคํŠธ๋ฆผ๊ณผ ์ข€ ๋‹ฌ๋ผ์„œ tag์ด๋ฆ„์„ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , ๊ณ„์† ์ฐ”๋”์ฐ”๋” ์ˆ˜์ •ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.)๋ฅผ ๋”ฐ์„œ ์ˆ˜์ •ํ•œ ๋‚ด์—ญ์„ ์˜ฌ๋ ค๋†จ์Šต๋‹ˆ๋‹ค.

#ghackfair ย #๋„ฅ์„œ์Šค4๋กœ๋„ฅ์„œ์Šค5x๋ฅผ๋งŒ๋“œ๋Š”์—ฐ๊ธˆ์ˆ ย 

http://forum.xda-developers.com/nexus-4/development/fake-nexus-rom-nexus-4-t3230268
Add a comment...

Post has attachment
MRA58V[1] (Nov Security patch, android-6.0.0_r5 for flo: Nexus 7 2013) is released on AOSP (but manifest.xml is not released yet.)
And I am preparing to apply my rom.
Stay tune.

#ghackfair #โ€Ž๋„ฅ์„œ์Šค4๋กœ๋„ฅ์„œ์Šค5x๋ฅผ๊ตฌํ•ด๋ณด์ž

[1]:ย https://android.googlesource.com/platform/build/+/android-6.0.0_r5
Add a comment...

Post has attachment
์š”์ƒˆ ์ทจ๋ฏธ์ƒํ™œ(?)๋กœ ๋„ฅ์„œ์Šค 4์šฉ ๋กฌ[1]์„ ๊นŽ๊ณ  ์žˆ๋Š”๋ฐ.
์ด๊ฑธ๋กœ ํ•ตํŽ˜์–ด[2] ์‹ ์ฒญ์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค.

GDG Android Korea์—์„œ ์ฐ[3]๋„ ํ•œ๋ฒˆ ํ’€์—ˆ๊ณ , ์–ด๋ ค์šธ ๊บผ๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๋กฌ ์‚ฌ์šฉ๋Ÿ‰ ์ค„์ด๊ธฐ๋„ ์ €๋ฒˆ ์ฃผ[4]์— ๋๋‚ด๋ฒ„๋ฆฌ์„œ, ์ œ ๋งˆ์Œ๋Œ€๋กœ์˜ milestone(์ด์ „ ๋ฒ„์ ผ์— ํฌํ•จ๋˜์—ˆ๋˜ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ํฌํ•จํ•˜๋ฉด์„œ, OS๋ฒ„์ ผ ์—…๋ฐ์ดํŠธ ํ•˜๊ธฐ)๊นŒ์ง€๋Š” ๋„๋‹ฌํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ํ•ตํŽ˜์–ด๊ฐ€ ์—ด๋ฆฌ๊ธฐ ์ „๊นŒ์ง€ ๋‚จ์•„์žˆ๋Š” ์ผ์„ ์ •๋ฆฌํ•˜์ž๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


1. 11์›”์— ์˜ฌ๋ผ์˜ฌ ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๊ธฐ๋ฐ˜์˜ ์ƒˆ๋กœ์šด ๋กฌ ๋ฆด๋ฆฌ์ฆˆ ๋ฐ ์—…๋ฐ์ดํŠธ ๋Œ€์‘ ๋กฌ ์ œ์ž‘์‹œ ๋ถˆํŽธํ•œ ์  ๊ฐœ์„ ํ•˜๊ธฐ

2. ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ๋ฐœ๊ฒฌํ•˜๋Š” ์ž์ž˜ํ•œ ๋ฒ„๊ทธ๋“ค ์ˆ˜์ • ๋ฐ, ๊ฐ€๋Šฅํ•˜๋ฉด upstream์— ์˜ฌ๋ฆฌ๊ธฐ. (๊ทธ๋Ÿฐ๋ฐ ์˜์™ธ๋กœ ๋ฒ„๊ทธ๊ฐ€ ์•ˆ๋ณด์ด๋„ค์š”. OTL )

3.ย ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด forkํ•ด์„œ ์‰ฝ๊ฒŒ ์ž๊ธฐ๋งŒ์˜ ๋กฌ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ๋ฌธ์„œ ์ž‘์„ฑ๋ฐ (์ผ์ผ์ด ๋ฌธ์„œํ™” ํ•˜๊ธฐ ๊ท€์ฐฎ์œผ๋‹ˆ) ๋นŒ๋“œ์— ๋„์›€์ด ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ •๋ฆฌ

4. ํŒฉํ† ๋ฆฌ ์ด๋ฏธ์ง€์—์„œ ๋นŒ๋ ค์˜จ(?) ๋ฐ”์ด๋„ˆ๋ฆฌ๋“ค์— ๋Œ€ํ•œ copyright ๋ช…์‹œ;;;;

ย ๋‚จ์€ ์ œ์ผ ํฐ ๋‚œ์ œ๋Š” ํ”„๋กœ์ ํŠธ ๋ฐ๋ชจ(ํ™๋ณด?) ์˜์ƒ์„ ๋งŒ๋“œ๋Š” ๊ฑด๋ฐ.. ๋„์ €ํžˆ ๊ฐ์ด ์žกํžˆ์ง€ ์•Š๋„ค์š”. OTL
๊ทธ๋ƒฅ ๊ตฌ๊ธ€ ํฌํ†  ์–ด์‹œ์Šคํ„ดํŠธ๊ฐ€ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ฑธ ์˜ฌ๋ ค๋ฒ„๋ฆด๊นŒ;;

#ghackfairย #โ€Ž๋„ฅ์„œ์Šค4๋กœ๋„ฅ์„œ์Šค5x๋ฅผ๊ตฌํ•ด๋ณด์žโ€ฌ

[1]:ย http://forum.xda-developers.com/nexus-4/development/fake-nexus-rom-nexus-4-t3230268
[2]:ย http://googledevkr.blogspot.kr/2015/10/hack.html
[3]:ย https://goo.gl/4c5O1c
[4]:ย https://goo.gl/dIvjjp
Add a comment...

Post has shared content
๊ตฌ๊ธ€์˜ ๋„ฅ์„œ์Šค ํŒ€์—์„œ AMA(Ask Me Anything: ๋ฌด์—‡์ด๋“  ๋ฌผ์–ด๋ณด์„ธ์š”)๋ฅผ ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.
์žฌ๋ฏธ์žˆ์–ด ๋ณด์ด๋Š” ์งˆ๋‹ต์„ ์š”์•ฝํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Q: 5X์™€ 6P๋Š” ๋ญ˜ ๋œปํ•˜๋‚˜์š”?
A: neXus ์˜ X(์ •์ค‘์•™.. ๋˜๋Š” ํ•ต์‹ฌ์ž„์„ ๊ฐ•์กฐ)์™€ Premium์˜ P ์ž…๋‹ˆ๋‹ค.

Q: 5X์™€ 6P์˜ ์นด๋ฉ”๋ผ๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”?
A: 6P๋Š” 240fps์ง€์›(5X๋Š” 120fps)ํ•˜๊ณ , 6P์—์„œ๋งŒ smartbust์™€ EIS(Image Stablization)์ด ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค. 5X์— ํฌํ•จ๋œ Snapdragon 808์—์„œ๋Š” ํ•ด๋‹น๊ธฐ๋Šฅ์„ ๋™์ž‘ํ•˜๊ธฐ์— cpu์™€ gpu๊ฐ€ ๋”ธ๋ฆฝ๋‹ˆ๋‹ค.

Q: 6P์˜ AMOLED๋Š” ์–ด๋–ค ๋ฌผ๊ฑด์ธ๊ฐ€์š”?
A: ์ตœ์‹ (latest gen) ์‚ผ์„ฑ AMOLED์ž…๋‹ˆ๋‹ค. (๋ฏธ์‚ฌ์—ฌ๊ตฌ ์ž”๋œฉ)

Q: ์ง€๋ฌธ์ •๋ณด๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ์•”ํ˜ธํ™” ๋˜๋‚˜์š”? ๊ทธ๋ฆฌ๊ณ  ์–ด๋””์— ์ €์žฅ์ด ๋˜๋‚˜์š”?
A: ์ง€๋ฌธ ์ •๋ณด๋Š” TrustZone(OS์™€ ๋ณ„๊ฐœ์˜ ์˜์—ญ)์— ์ €์žฅ๋˜๊ณ , ๊ธฐ๊ธฐ์—๋งŒ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ตฌ๊ธ€๊ณผ ๊ณต์œ ๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

Q: QI(๋ฌด์„ ์ถฉ์ „)๊ธฐ๋Šฅ์€ ์™œ ๋น ์กŒ๋‚˜์š”?
A: ์• ์ดˆ์— ๋ฌด์„ ์ถฉ์ „์„ ๋„ฃ์—ˆ๋˜ ์ด์œ ๋Š” ์ถฉ์ „์ด ๋ถˆํŽธํ•ด์„œ ์ž…๋‹ˆ๋‹ค.(usb2 ํฌํŠธ ๋ฐ ๊ธด ์ถฉ์ „์‹œ๊ฐ„) ์ด์ œ๋Š” usb3 c type์„ ์ง€์›ํ•˜๊ณ  ํ›จ์”ฌ ์งง์•„์ง„ ์ถฉ์ „์‹œ๊ฐ„ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฌํ•œ ๋ถˆํŽธํ•จ์ด ์—†์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ QI๋ฅผ ๋นผ๋ฉด ๋” ์–‡์•„์ง‘๋‹ˆ๋‹ค.

Q: Nexus 5X๋Š” usb 3.1์„ ์ง€์›ํ•˜๋‚˜์š”?
A: 5X์™€ 6P๋Š” ๋ชจ๋‘ usb 2.0์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Q: 6P์˜ ๋‚ด์žฅ ์ €์žฅ ๋ฉ”๋ชจ๋ฆฌ๋Š” UFS 2.0์„ ์‚ฌ์šฉํ•˜๋‚˜์š”?
A: 5X์™€ 6P๋Š” ๋ชจ๋‘ EMMC 5.0์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
(UFS 2.0๊ณผ EMMC 5.0์˜ ์†๋„์ฐจ์ด๋Š” http://www.androidauthority.com/samsung-memory-comparison-โ€ฆ/ ๋ฅผ ์ฐธ๊ณ )

Q: 5X์™€ 6P๋Š” HDMI์ถœ๋ ฅ์ด ์ง€์›๋˜๋‚˜์š”?
A: ์•„๋‡จ. ์™ธ๋ถ€์ถœ๋ ฅ์„ ์“ฐ๋ ค๋ฉด ์–ด์ œ ์ƒˆ๋กœ ๋‚˜์˜จ ChromeCast๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š” :P
Wait while more posts are being loaded