°³¶ËÀ̳׿¡¼­ ÆÇ¸ÅµÈ "¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ¸®¹ö½º ¿£Áö´Ï¾î¸µ"     Á¤°¡ 30,000¿ø   Æò±ÕÇÒÀΰ¡
Ãß°¡ °Ë»ö Çϱâ
ÃÑ 2°³ÀÇ µµ¼­°¡ ÀÖ½À´Ï´Ù.
µµ¼­À̹ÌÁö µµ¼­¸í »óÅ °¡°Ý ÆǸÅÀÚ

¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ¸®¹ö½º ¿£Áö´Ï¾î¸µ
»õÃ¥ 
27,000¿ø

¹«·á¹è¼Û
»õÃ¥Àü¹®Á¡
ÆǸŵµ¼­(360,129±Ç)

¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ¸®¹ö½º ¿£Áö´Ï¾î¸µ
»õÃ¥ 
27,000¿ø

¹«·á¹è¼Û
Ã¥°¡¹æ
ÆǸŵµ¼­(328,774±Ç)
 

»ó¼¼Á¤º¸

1Àå. ¾Èµå·ÎÀÌµå ±âº» °³³ä
1.1 ¾Èµå·ÎÀ̵å Çʼö ±¸¼º ¿ä¼Ò
1.1.1 ¾×ƼºñƼ
onCreate( )
startActivity( )
startActivityForResult( )
setResult( )
¾×ƼºñƼ »ý¸íÁÖ±â
1.1.2 ¼­ºñ½º
¼­ºñ½º »ý¸íÁÖ±â
1.1.3 ºê·Îµåij½ºÆ® ¼ö½ÅÀÚ
1.1.4 ÄÜÅÙÃ÷ Á¦°øÀÚ

2Àå. ¾Èµå·ÎÀÌµå ¸®¹ö½º ¿£Áö´Ï¾î¸µÀ» À§ÇÑ È¯°æ ±¸Ãà
2.1 µð¹ÙÀ̽º ¼³Á¤
2.1.1 ADB Á¢¼ÓÀ» À§ÇÑ USB µð¹ö±ë È°¼ºÈ­
2.1.2 ·çÆÃ
2.1.3 ´Ù¾çÇÑ ¸í·ÉÀ» »ç¿ëÇϱâ À§ÇÑ BusyBox ¼³Ä¡
2.2 ¾Èµå·ÎÀ̵å SDK, NDK ¼³Ä¡
2.2.1 À©µµ¿ì ȯ°æ¿¡¼­ ¾Èµå·ÎÀ̵å SDK ¼³Ä¡
ÀÚ¹Ù ¹öÀü È®ÀÎ
ÀÚ¹Ù ´Ù¿î·Îµå
ÀÚ¹Ù ¼³Ä¡
2.2.2 ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À¸¦ ÀÌ¿ëÇÑ ¾Èµå·ÎÀ̵å SDK ¼³Ä¡
¾Èµå·ÎÀÌµå ½ºÆ©µð¿À ´Ù¿î·Îµå
¾Èµå·ÎÀ̵å SDK ¼³Ä¡
ȯ°æ º¯¼ö µî·Ï
2.3 ¿ìºÐÅõ ȯ°æ¿¡¼­ ¾Èµå·ÎÀ̵å SDK ¼³Ä¡
2.3.1 ÀÚ¹Ù ¹öÀü È®ÀÎ ¹× ¼³Ä¡
ÀÚ¹Ù ¹öÀü È®ÀÎ
ÀÚ¹Ù ¼³Ä¡
ÀÚ¹Ù ¹öÀü È®ÀÎ
2.3.2 ¾Èµå·ÎÀ̵å SDKÀÇ ´Ù¿î·Îµå¿Í ¼³Ä¡
2.3.3 ¾Èµå·ÎÀ̵å SDK ȯ°æ º¯¼ö ¼³Á¤
2.3.4 ¾Èµå·ÎÀ̵å NDK ´Ù¿î·Îµå ¹× ¼³Ä¡
¾ÐÃà ÇØÁ¦
2.3.5 ¾Èµå·ÎÀ̵å NDK ȯ°æ º¯¼ö µî·Ï

3Àå. ¾Èµå·ÎÀÌµå ¾Û ±¸¼º ¹× ÄÚµå ºÐ¼®
3.1 ¾Èµå·ÎÀ̵å APK ±¸¼º
3.2 APK Repackage
3.2.1 Apktool
3.3 ¹«·á µµ±¸¸¦ È°¿ëÇÑ ÄÚµå ºÐ¼®
3.3.1 JD - GUI
½ÇÇà ¹®Á¦ ÇØ°á
3.3.2 JADX
3.3.3 Androguard
3.3.4 ¹ÙÀÌÆ®ÄÚµå ºä¾î
3.4 »ó¿ëµµ±¸¸¦ È°¿ëÇÑ ÄÚµå ºÐ¼®
3.4.1 JEB1
½¬¿î ÇØÅ·´ëȸ ¹®Á¦ Ç®¾îº¸±â
3.4.2 JEB2
UI ¹èÄ¡
¾ÆƼÆÑÆ® Ãß°¡
¾ÖÇø®ÄÉÀÌ¼Ç µ¿Àû µð¹ö±ë
SETPROPEX¸¦ ÀÌ¿ëÇÑ ¼³Á¤°ª º¯°æ
CVE-2016-5195 Ãë¾àÁ¡À» ÀÌ¿ëÇÑ ¼³Á¤°ª º¯°æ
JEB2 µ¿Àû µð¹ö±ë ±â´É »ç¿ë °ü·Ã ¹®Á¦ ÇØ°á
JEB2¸¦ ÀÌ¿ëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç µð¹ö±ë

4Àå. ¾Èµå·ÎÀÌµå ¾Û Á¤Àû ºÐ¼®
4.1 ¾Èµå·ÎÀ̵å APK ÃßÃâ
4.1.1 ADB
4.1.2 ¾Æ½ºÆ®·Î ÆÄÀÏ°ü¸®ÀÚ
4.2 ºÐ¼®¹æÁö ¼Ö·ç¼Ç ¿ìȸ
¿¹Á¦ 1
¿¹Á¦ 2
4.3 ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç Á¤Àû ºÐ¼®
¿¹Á¦ 1
¿¹Á¦ 2
4.4 ³­µ¶È­µÈ ¾ÖÇø®ÄÉÀÌ¼Ç ºÐ¼®
¿¹Á¦ 1.
¿¹Á¦ 2.

5Àå. ¾Èµå·ÎÀÌµå ¾Û µ¿Àû ºÐ¼®
5.1 ¾Èµå·ÎÀ̵å LKMÀ» È°¿ëÇÑ µ¿Àû ºÐ¼®
5.1.1 ¸ð¹ÙÀÏ ±â±â¿¡ ¸Â´Â Ä¿³Î ´Ù¿î·Îµå
5.1.2 ÅøüÀÎ ´Ù¿î·Îµå
5.2 Java API HookingÀ» È°¿ëÇÑ µ¿Àû ºÐ¼®
5.2.1 Cydia Substrate¸¦ ÀÌ¿ëÇÑ ÀÚ¹Ù API ÈÄÅ·
ÁÖÀԱ⠼³Ä¡
ÀÚ¹Ù API ÈÄÅ· ¸ðµâ °³¹ß
ºÐ¼® ¹× ÄÚµù ½ÃÀÛ
Á÷Á¢ ¸¸µé¾îº¸ÀÚ
5.2.2 Xposed¸¦ ÀÌ¿ëÇÑ ÀÚ¹Ù API ÈÄÅ·
°³¹ß ȯ°æ ±¸Ãà
¸ðµâ ¾÷µ¥ÀÌÆ®
ÈÄÅ· ¸ðµâ °³¹ß
5.3 Frida È°¿ëÇÑ µ¿Àû ºÐ¼®
5.3.1 Frida ¼³Ä¡
5.3.2 Frida-trace¸¦ ÀÌ¿ëÇÑ ½Ã½ºÅÛÄÝ ÈÄÅ·
5.3.3 Frida ¸ðµâÀ» ÀÌ¿ëÇÑ ½ºÅ©¸³Æ® ÀÛ¼º
5.3.4 Frida¸¦ ÀÌ¿ëÇÑ ÀÚ¹Ù ÈÄÅ·

6Àå. ¾Èµå·ÎÀÌµå ¾Û(APK) µð¹ö±ë
6.1 GDB¸¦ ÀÌ¿ëÇÑ Android Remote Debugging
6.1.1 ADB¸¦ ÀÌ¿ëÇÑ ¾Èµå·ÎÀÌµå ±â±â Á¢¼Ó
6.2 IDA Pro¸¦ ÀÌ¿ëÇÑ APK µð¹ö±ë
6.2.1 ȯ°æ º¯¼ö ¼³Á¤
6.2.2 ¾Û ¼³Ä¡
6.2.3 µð¹ö±ë ½ÃÀÛ
6.2.4 ¹®Á¦ ÇØ°á
6.3 IDA ÇÁ·Î¸¦ ÀÌ¿ëÇÑ classes.dex & °øÀ¯ ¶óÀ̺귯¸® µð¹ö±ë
6.3.1 ȯ°æ º¯¼ö µî·ÏÈ®ÀÎ
6.3.2 Android NDK ¼³Ä¡
6.3.3 ȯ°æ º¯¼ö µî·Ï
6.3.4 ÄÄÆÄÀÏ
6.3.5 customrules.xml ¼öÁ¤
6.3.6 µÎ °³ÀÇ IDA ÀνºÅϽº »ý¼º
6.4 IDA Pro¸¦ ÀÌ¿ëÇÑ JNI °øÀ¯ ¶óÀ̺귯¸® µð¹ö±ë ¹æ¹ý 1
6.4.1 ȯ°æ ±¸Ãà
6.4.2 Linker º¹»ç
6.4.3 °øÀ¯ ¶óÀ̺귯¸® º¹»ç
6.4.4 µµ±¸ °³¹ß
6.4.5 Android.mk ÆÄÀÏ ÀÛ¼º
6.4.6 Makefile ÀÛ¼º
6.4.7 ÄÄÆÄÀÏ
6.4.8 ¾Èµå·ÎÀÌµå ±â±â ÀÛ¾÷
6.4.9 ADB Æ÷Æ® Æ÷¿öµù
6.4.10 IDA Pro ¼³Á¤
6.4.11 ºê·¹ÀÌÅ© Æ÷ÀÎÆ® ¼³Á¤
6.4.12 µð¹ö±× ¼³Á¤
6.4.13 ¾Èµå·ÎÀÌµå ±â±â ÀÛ¾÷
6.4.14 Æ÷Æ® Æ÷¿öµù
6.5 IDA Pro¸¦ ÀÌ¿ëÇÑ JNI °øÀ¯ ¶óÀ̺귯¸® µð¹ö±ë ¹æ¹ý 2
6.6 IDA Pro¸¦ ÀÌ¿ëÇÑ JNI °øÀ¯ ¶óÀ̺귯¸® µð¹ö±ë ¹æ¹ý 3
6.6.1 STEP 1 ´Þºò ·±Å¸ÀÓ ÈÄÅ·
6.6.2 STEP 2 SDK¿¡ Æ÷ÇÔµÈ ddms ½ÇÇà
6.6.3 STEP 3 ¾Èµå·ÎÀÌµå ¼­¹ö Àü¼Û ¹× ½ÇÇà
6.6.4 STEP 4 adb forward
6.6.5 STEP 5 ¾ÖÇø®ÄÉÀÌ¼Ç ¼³Ä¡ ¹× ½ÇÇà
6.6.6 STEP 6 IDA ½ÇÇà ¹× µð¹ö°Å ¿¬°á
6.7 ¸¶Ä¡¸ç

ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë

- ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ºÐ¼® ȯ°æ ¼³Á¤
- ¹«·á µµ±¸¸¦ ÀÌ¿ëÇÑ Á¤Àû ºÐ¼® ¹æ¹ý
- »ó¿ë µµ±¸¸¦ ÀÌ¿ëÇÑ ³­µ¶È­ ¾ÖÇø®ÄÉÀÌ¼Ç ºÐ¼® ¹æ¹ý
- ºÐ¼® ¹æÁö ¼Ö·ç¼ÇÀÌ Àû¿ëµÈ ¾ÖÇø®ÄÉÀÌ¼Ç ºÐ¼® ¹æ¹ý
- °øÀ¯ ¶óÀ̺귯¸® µ¿Àû µð¹ö±ë ¹æ¹ý
- ÇØÅ· ´ëȸ ¹®Á¦¸¦ ÅëÇÑ ½ÇÀü ÀÀ¿ë
- °³¹ßÀ» ÅëÇÑ APK ÈÄÅ· ¹æ¹ý

ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ

- ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾ÈÀ» óÀ½ Á¢Çϰųª ÀÌÁ¦ ¸· ½ÃÀÛÇÏ·Á´Â µ¶ÀÚ
- °³¹ßÀÚ ¹× ½ÃÅ¥¸®Æ® ÆÄÆ®¿¡¼­ º¸¾È Á¡°ËÀ» ´ã´çÇÏ´Â µ¶ÀÚ
- ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç Ãë¾àÁ¡ Á¡°Ë ¸ðÀÇÇØÅ· ÄÁ¼³ÅÏÆ®
- ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ¸®¹ö½º ¿£Áö´Ï¾î¸µ¿¡ °ü½ÉÀÌ ¸¹Àº µ¶ÀÚ

ÀÌ Ã¥ÀÇ ±¸¼º

1Àå, '¾Èµå·ÎÀÌµå ±âº» °³³ä'¿¡¼­´Â ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ºÐ¼®¿¡ ¾Õ¼­ ºÐ¼®À» ¾î´À ºÎºÐºÎÅÍ ÇØ¾ß ÇÏ´ÂÁö ¸ð¸£´Â µ¶Àڵ鿡°Ô ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÇ ³× °¡Áö ±¸¼º¿ä¼Ò¿¡ ´ëÇÑ °³³ä ¼³¸íÀ¸·Î ¾î´À ºÎºÐºÎÅÍ ºÐ¼®À» ½ÃÀÛÇØ¾ß ¸ð¸£´Â µ¶ÀÚµéÀÌ °³³äÀ» ¹ÙÅÁÀ¸·Î °ü·Ã Äڵ带 ½±°Ô ºÐ¼®ÇØ ³ª°¥ ¼ö ÀÖµµ·Ï ¾×ƼºñƼ(Activity), ¼­ºñ½º(Service), ºê·ÎµåÄɽºÆ® ¼ö½ÅÀÚ(Broadcast Receiver), ÄÜÅÙÃ÷ Á¦°øÀÚ(Contents Provider)¿¡ °üÇØ ¼³¸íÇÑ´Ù.
2Àå, '¾Èµå·ÎÀÌµå ¸®¹ö½º ¿£Áö´Ï¾î¸µÀ» À§ÇÑ È¯°æ ±¸Ãà'¿¡¼­´Â ºÐ¼®¿¡ ¾Õ¼­ µð¹ÙÀ̽º¿¡ Á¢¼ÓÇϱâ À§ÇØ ADB Á¢¼ÓÀ» À§ÇÑ USBµð¹ö±ë È°¼ºÈ­ÇÏ´Â ¹æ¹ý, ÇÊ¿äÇÑ ¸í·É¾î µîÀ» »ç¿ëÇϱâ À§ÇØ Busybox µîÀ» ¼³Ä¡ÇÏ´Â ¹æ¹ý ¹× À©µµ¿ì, ¿ìºÐÅõ ȯ°æ¿¡ ¸Â°Ô ÀÚ¹Ù ¹öÀü È®ÀÎ ¹× ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À(Android Studio)¸¦ ÀÌ¿ëÇØ SDK¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ½ÃÀÛÇÏ´Â »ç¶÷µéÀ» ±âºÐÀ¸·Î ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
3Àå, '¾Èµå·ÎÀÌµå ¾Û ±¸¼º ¹× ÄÚµå ºÐ¼®'¿¡¼­´Â ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸¼º, ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç »ý¼º °úÁ¤°ú apktoolÀ» ÀÌ¿ëÇÑ ±âº»ÀûÀÎ APK Repackage °úÁ¤À» ¼³¸íÇÏ°í ¹«·á·Î ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Â JD-GUI, JADX, Androguard, ByteCodeViewer¸¦ ÀÌ¿ëÇØ ºÐ¼®ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ¶ÇÇÑ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ºÐ¼® ¿ëµµ·Î ¸¹ÀÌ »ç¿ëµÇ°í ÀÖ´Â JEB, JEB2¸¦ ÀÌ¿ëÇÑ ÀÚ¼¼ÇÑ ºÐ¼® ¹æ¹ý°ú JEB2¿¡¼­ Á¦°øÇÏ´Â µ¿Àû µð¹ö±ëÀ» ÇÒ ¼ö ÀÖ´Â ¹æ¹ý¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
4Àå, '¾Èµå·ÎÀÌµå ¾Û Á¤Àû ºÐ¼®'¿¡¼­´Â ºÐ¼®À» À§ÇØ ¼³Ä¡µÈ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç ÃßÃâºÎÅÍ ºÐ¼®¹æÁö ¼Ö·ç¼ÇÀÌ Àû¿ëµÈ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ½ÇÇàÄÚµå ÃßÃâ ¹æ¹ý ¹× À¯¿ëÇÑ ÆÁÀ» ¿¹Á¦¸¦ ¹ÙÅÁÀ¸·Î ¼³¸íÇÏ°í, ·¹º§ Å×½ºÆ® ¿ëµµ·Î Á¦ÀÛµÈ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÇ Á¤Àû ºÐ¼® ¹æ¹ý¿¡ ´ëÇØ ¾Èµå·ÎÀÌµå ±âº» °³³äºÎÅÍ, ÄÚµå È°¿ë±îÁö Â÷±ÙÂ÷±Ù ¼³¸íÇÑ´Ù.
5Àå, '¾Èµå·ÎÀÌµå ¾Û µ¿Àû ºÐ¼®'¿¡¼­´Â ÀÌÀåÀÇ ³»¿ëÀº ´ëºÎºÐ °í±Þ°úÁ¤¿¡ ¼ÓÇÏ¸ç °³¹ß¿¡ ´ëÇÑ »çÀüÁö½ÄÀÌ ÇÊ¿äÇÏ´Ù. µû¶ó¼­ ¾ÛÀ» Á÷Á¢ ºÐ¼®ÇÏÁö ¾Ê°í µ¿Àû ȯ°æÀ» ±¸¼ºÇØ ¾î¶² À̺¥Æ®°¡ ¹ß»ýÇÏ´ÂÁö È®ÀÎÇϱâ À§ÇØ ¾Èµå·ÎÀ̵å LKM(Loadable Kernel Module), ´ëÇ¥ÀûÀÎ ÇÁ·¹ÀÓ¿öÅ©¸¦ È°¿ëÇÑ ÀÚ¹Ù API ÈÄÅ·À» ÅëÇØ ºÐ¼®Çسª°¡´Â ¹æ¹ý, API ÈÄÅ·À» ÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
6Àå, '¾Èµå·ÎÀÌµå ¾Û(APK) µð¹ö±ë'¿¡¼­´Â GDB, IDA, JEB2¸¦ ÅëÇؼ­ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀÌ¼Ç Äڵ忡 ´ëÇÑ µ¿Àû µð¹ö±ë ȯ°æ ±¸Ãà ¹× µ¿Àû µð¹ö±ë ¹æ¹ý, JNI ¶óÀ̺귯¸® µð¹ö±ë ¹æ¹ý¿¡ ´ëÇؼ­ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù.
 

¼­Æòº¸±â

´ÜÇົ BEST µµ¼­

³ªÀǼîÇÎ

  • Ä«µå³»¿ªÁ¶È¸
  • ¸¸Á·µµº¸±â
  • ÆǸÅÀÚº¸±â

ÃÖ±Ùº»»óÇ°

Àå¹Ù±¸´Ï

TOP