SlideShare a Scribd company logo
1 of 64
Download to read offline
ABCD
E    FCD             ABC
      C              A C
           CF    C       A


                !"
    #B          !"
A    BC DBA BEB BF                             A CB C B E           DD         )   E C A B A! C   D4 AF
  BC                                              CD                    BC          C
       !! C B E          DD            C"!             !F       B! !


  CF                 C # C D       B AD           $ %&'         ' (' )
                 A D      C DB B                                       B        * A + ,$
      E C         "          BC C                  B " -              A "         " ,
  .       " C      CA    D D                                     B C    F          /
  01C " B B 2 .(& DD A B   A C                                  B " C B A           F   /
       C"       / C B C CB
  3         BC     C                   0) E C A B A! C                     D4 AF 2      B
                 C" B
  3         BC 51(67)'8 C D                   "        A B           0 F    2    A B        C
  B


* ,              C"        $1      C
                 A     C B AF      9BC D 3B" D              C
1C " B B ///                   C         D!       DD            !A
F
        C




7 C A            A&   : CB                  ;;;
1C " B A A              B AC B     *   C     !C B   ,
 CB         "$        D ) E$           "$
"      AB
 1 %=    D B
  BC " 1 % B BC
5 C
% C
> A
%B     CD ' BF A C
> A "/      0 B      2&    :   B
? BA        AC A
                                   <
1 %=       D
("A
      AA ED A
5    A    " =         C C "B E
':    A      B
>B               A!     BF A     C 0 BA A E       2
    71B$ A        = B /B         / B              A



                                              @
BC " 1 % B BC
5 C
% C
> A
> A




                      C
5 C
    B   "    D A
(       B
>7.7
    F C" B




                         D
B    "       D A
     C DBC          B A             CD/BC
( # C         C         A
     !!///         B        "   D A      D
 AE C 4 A          B C
 &        C        A        C
 %        A ""
 1      F%8
 7    "           D A
      D                 C
 ) % '# B 4 C
                                                   E
;
> C         C           "
      !!/           B       "    D A       D!
       !!"          F       D!    B    "    > A
 7    A         6       F :
       D &B                 C * )B&B            C,
 &                  / B          B AD A         / C   A   " B 0A 2
(   B
    AC A A   C   B   G 5C    /BC
     !!C     B   !
7    A     5)C A C   /BC B   C
>7.7
5 C /                   .7    B      D       *      A    F            A   C   ,
>B        CB       B
     !!        D         D!
 AE C 4 A              B C
 ? D           C
 )B C
     >
          B
          D
     BD CB
 AB C
 8        A    $5      DB B" C$ CB       D       C$ 6B       $8   $
Android Hacks, Variants, Tricks and Resources ESC India 2012
F C" B
C     $       A FBCC A    AC A FB       AA       C




          ///   F C" B     C"


$% & & ! '"              " C!                (

                                    <
B B   1 %A




             @
B   C   F C" B   "   "




                     C
A B

        & )*        A E          D           DD
8         "              D
                    " /          /            +   DB       1 %
         " CBF
         D 4BF
>              C     B
    F              C EA      "           C
F       A C!% B      CD 7 A          A

                                                       D
B B=     C H

" F FB    AC       BAA
&   "
0? BA          AC A2
6   6 :




                               E
% C
6       B
.F             AC A
(7> % B F
    4
        )B E




                            ;
6   B
Android Hacks, Variants, Tricks and Resources ESC India 2012
4
(7> % B F
)B E   *> C BA AC       ,




                    <
> A
I) ) E   C




                   @
%B   CD ' BF A C
& BC
 7
J B    DD




                          C
& BC




       D
E
;
, &      ! ' F" $ & CC A( -     . CF AB
  (B     B
  ( BAF
  B C A 7 BC H
<      :         C B
@ 6         C A     B
C . C      E A!.   BC A
D
E 'DF AA A & : B C      B
; 6B     (    5      D C    C
    & FCBC
   >B          D      B
    ) D
(B                          B
0   AC A                 A8.                          FB A                     C$                D             BA$ B A CB B/B /
       "         2                     C            C D BCB                         =       :


                DB C                           C       B             B       B"         BEB BF
    &      : B F                      BC           A       C             BC
    &      :=            C        B                B F           A E                A
                0&           :2                C            B                BE F               A E        A   C   "       BC
    0% C        "2                AC A                 B /B                    F !A             CBF !C B
     AC A A                   =        C EA                    E C            "
                FB       A$                    D C C                     A
    &      :     E C              C        "           FB            A!       CE C      A
     AC A : F                              D            D             0D /B                 C         " /B 2 A         "
    /           A8. / C A
    " F E            6
( BAF
5                 D
             AC A            5?        D B
         FCBC
     6            E   " F
7        C                  BFC
     7            E   )6.
7%
     6 A CE                         B A      C   A . : 7%
)            B DB B" D
             CB     5 " CE         I
7!1
     5CBD F            C$         F BCA$ D       $A   $
B            C A 7       BC H
     AC A        A
      1 %
0&     :2       A
      CBA        B A C
       .F        $ 5 A CB$ ) F B $ A      $
     'DF AA A A            C
       3        $ 6 AC         $ & 76$
     6 A3           C 1/
           CC          "
<                 :                                C B
      "                 D
  6 A              D        "CB
  6 A D B""C "B
  7DB" C           B B" "
  C       KB
  ?BE B             B       /B 7       EB       " AC " C A    = '&       C   B
  %B           "                                1
  .                56       C B    1        C    E
F C B 4B            ! %BCBE C B 4B
  J'>.
  I'8H

                                                                     <
@
@ 6                 C A         B
6       6 :       B     "    > A
A C BD C E            B" C "
)   =         /   /          A
         )B E         AC A       >   "




                                         C
C . C                   E A!.                     BC A
6 A C C D" F
7        L M )6. FC A"
(         "        AC A B         I
(         "IB                   AC A
    0          B    C   " A $/         /   A/ C    K  BF         B  AC A
    /              BE " D A               D    /BC B B $ /       AF      C B I
        CE C          8)9$   "B        CB 5 " C    CB B           C / A /
    3     AA B"             C   NI BCB     C    N B   B      I CB 5 " C
    F A AB A B                  / B E C I FB   AB         /B $ B A BE B B
        "   C
      F D C / C / AF       K   A B D D B                          : F     B
    B B E     AC A / A / *    " '          ,/                     B        CE C
    D AA $ B A B"B F A       B A   I FB A B                       C          B A
     BE    D     " B   B C    B B                            /          B       A   C
    D A    "    1 2
                                                                        D
D
A8. C           A E       D          B
 "       D       C
 B   B         DF C
 A         C
 "AF!"AF       CE C A F "" C


  FCBC           F $ " F      C" F


                                         E
E 'DF AA A &                       :B C               B
8       A         C"B 4            D                   AA C "
 C               B CD A E         D       B C        B   B
     F      AC      BC"    F      BA C * ,
     F A                   B F A B B" B A             C
     A F "          A F "" "
     A                C K    A    D B
      DB"           F BC DB" C BA            F     A    BC"
        C                C    B AF AAC         C    C BC"   C
       C K               C /        D A        C    BC"
     C              C             DB                BC"
          B              C     C BC" =         DB     B
      D                D CBC AB B B A : C D
                           B B AB          C     C # C A F A
                         /BC    C     BC"

                                                       ;
E        B C         B           E EBC                     C
    D         / C       B        C   *A E :,
export PROJECT=emblinux
export PRJROOT=/home/karim/${PROJECT}
export TARGET=arm-none-linux-gnueabi
export PATH=${PATH}:[CODESOURCERY_DIR]/bin
cd $PRJROOT
                    C
 $ . devex
%        F   EB          CO      (A'
        (>    BCD       :$ BCD           /           :"        BF
    >7%       D         :$ D                 /            :"
    7 EC       EC       :$ @EC "     A           :        F
                                                          <
; 6B        C                         D     C           C
. :5   C   C A             CD          C  D
  D AC   C                       BC   C DF AA A
5     D ? CBC                B ABCA *5? ,
 !F     PM       '      B     C F BC
 !F     PM       6     BA C B A C      DB"
 !A E   PM       ) E
 !      PM             D    " CB
 ! D    PM       . C D AC         C
 ! F    PM       '      B  BC A F B A C      D A
 !D     PM         D CBC D
 !      PM        AA       /BC B B"
 ! F    PM       '      B      D F BC
 !D     PM         D CBC
 ! C    PM             ABC    CBC   *D       CB      ,
 !EBC   PM       FBC BF AB B "    CB A F AB D
                                                 <
8                   B D               CAC
     !    D $ !D $ !       $ !C
)             A     F         BA C
     !F
                    A0               B2
     !F $ !A E$ !       $ ! F$ ! C    $! F $!   C$ ! D $ !EBC
     BC        /    0! 2$ AC A   A
0!            D!    2 C )F     " Q                    B
          B         C /           CBC
     !    C$ !EBC                                     <
B B BC B              F BC          AC     C       CH
    !F       PM   '     B F BC      C    C B A BAD
    ! F      PM   '     B F BC      C BAD
    ! C!F    PM   8         B    C B A BAD F BC
    ! C! F   PM   8         B BAD F BC
B B BC B              FCBC          AC     C       CH
    ! F    PM     '     B         D FCBC
    ! C! F PM     8             B FCBC
        C  A                C       5    B   &B
0    E C B 2 B"C                *       5? ,


                                               <
BC / C     "    C
$ cd ${PRJROOT}/rootfs
C B      C C       AC        C
$ mkdir bin lib sbin usr var
C B        !   C   CBC
$ mkdir usr/{bin,lib,sbin}
C B        !EBC    CBC
$ mkdir var/{lib,lock,log,run,tmp}
$ chmod 1777 var/tmp




                                     <<
& FCBC
" F
      F




                   <@
" F
" F           D
          B       BC A FCBC
      5 CDB         F&76R8 >' A&76 RF'(
      ':BD            FD       $ F
  >BK C C E             E C        DF
      5 CDB         F&76R8 >'   > Q1(R('FRF'(
      ':BD            FA    $ F   C
  F C              A     A         DF            DBK C
  C E             E C         DF
      5 CDB         F&76R8 >'
      ':BD            FA   $ FD
      B       FCBC BC         E
      5 CDB         F&76R8 >' B
      ':BD            FA B$ FD B
                                            <C
5 C BC" $       A
     B B      BC A F
     DBK C C E     E C           DF
         AA    BD           C
     B        C A A&76 RF'(
    DF                C
    :EC$ (>$ ?$ DCE       PM A   :  > Q1(R('FRF'(
    >7% $ %%              PM A   > Q1(R('FRF'(
>  A CD             :B     FCBC       D        C # C A
6'& BF C                 B     D


                                          <D
>        D        CB       D
    A        PM        A    BD             C
     F       PM             FCBC
     FD PM             DB       FCBC
     FA PM                 BC A FK             DB   B        FCBC
>        A        CD       :B      A           A              C
B        B
8B E ldd                    C          B       CD B BF
 B            readelf C uclibc-ldd
                                                        <E
"B     FCBC
$ cp -d [CODESOURCERY_DIR]/arm-none-linux-gnueabi/libc/lib/* 
> ${PRJROOT}/rootfs/lib


 C      " B BC"         FCBC         C    B
$ arm-none-linux-gnueabi-strip ${PRJROOT}/rootfs/lib/*.so*




                                                <;
F
 BD BD "              E          B " F
7D D   D                      " F   D
    A$ F $ F C     $ FA $ FD$ F         C BA$ FC       E$ F
     FFCBC     B     :            /         " F    FCBC
BC" = ! F A C    C
     "B       F    D
$ cd ${PREFIX}/uclibc/lib
$ cp *-*.so ${PRJROOT}/rootfs/lib
$ cp -d *.so.[*0-9] ${PRJROOT}/rootfs/lib

8        A     C   F           FCBC     $         BC      C   A
F            F F A C

                                                  @
>B                  DB      B
. :             D C        B   DD              DDB A
 B ABCA A        C    BE        F BC   C       DDB A
>B    D    B          C EB    DDB A   F
  C   B B"            B C E A DB    DDB A
B   " F BC
 6        F :
 )    C




                                           @
6                    6 :
>B              B          B"                        A  DF AA A & :                                                                 C EA
 C                          . :                      DDB A F   F :
 S$ SS$ B A$ BAA           $ BAA"C          $ BAA     C$ BAK D :$ BC $ BC "$ B $ B/ $ FB C<$ FB                 BD $ F        $ F A$ F        A E$
 F         BC A$ FC $ F 4 $ F4 B $ F4 $ B $ B $ B E$ B $ B C$ "C $ D A$                                     / $      B /A$            $ C $ C$
     E$        D$      BC$ D $ DD$ $                   $ C A$ C BF$ C             /$        B $      $ AB $ A $ AA$ A B E $ A "C               $A        C$
 A D A$ A ED D$ A $ A                  C B $ A $ A C BD $ AD "$ A A$ A A DB BD $ A                             :$ A $ A D DB $ A D B                   $
        $ A$ "C $ K $ E$ EA C$ E A" A$                             C /B $ : B A$ : C$ B A A$ B $ F $ F B $ A                                    $ A CDB $
  A $ "               $ "C $ A$ A $                   $ A$ C $ C CBDA $                  $      D :$         $ A$ " $               $       C$ "      $
 "      $ "C $ " 4 $ "4 $ B $ A$ A BCD$ BA$ :A D $                                 A$          BD $      A$      $ /         $ A$          "$ A / $
         BE $       "A$      $        A$      $   D A$        B $       $     B $ $ BAAC$         B $     CD$      $        $ C       $ C $                 $
   FARD A $ $ B $ B @$                        "A$ B $        " $     $      : $      :C<$       :C $ $ BA        $ BA DB $ "" C$ " $
    " BD $ "C BA$                    $ A$ #$ C$ $ B C$ D A$                    $     F$ 4 B $ 4DB$ 4 $ 4          B $ DB A E $ DB D D $ DB $
 DA@ D$ DA E$ D "$ D C                      D$ D A C$ D A         $D         $D      $D         : $D      D :$ D         EB$D         A$ D B /A$
 D /B $ D D $ D A                     $D A C F $D C $D               $D            $ D B $ D $ DE$ BD $ FA                     $ $          B$      $
   D C$             $              $     A$ A$          E $ B /A$ B $ "C $ A $                    "$    "C$      R C "C       $ E RC $             $ DB $
       DB A C$ / C $ / C $ C                         E$ C $ $           B $ /A$ CB AB C $ CAB $ CA E$ C BAB BA$ C BA $ C BA C                             $
 C B B $ C F $ C CD D $ C D E                             $C      $C     $ C 4 $ C E$ CD$ CDA C$ CDD A$ C           $ C D$ C D           $ C /B $ C
   BC $ C       E $C       E$ C       EA C$ C:$ C $ C C B $ A$                   ADB $ #$          BC $                $         $            A $
        "      $       A$         A" A$ $ B             D$ B @C D$ B@                 D$        / $ B B $               $ D D B $            D $ C$
       $ BC           AB D $ B $ C " $                   $ $       " $ D$ E$ E "A$ /B                 $ /B     $ /        RC $         $         $       "A$
  B $ B $ BC$          EA$      $         $       A$       $    $    A$ D $ D          $     $       $ C$ CB C       $ CB C        C$ C $ $             4 $
         $ A       $ A       A$ A EA$ D                $ BD $          : B A$     #$       : A $       4DB$    4 $ :4$ 4 $                  D $           $
     A     A $            A $E          "$ E $ E     $ E BD $ /B $ /B $ /B A "$ / $ /" $ /                      $ / $ / BD $ :BC" $ :4$ :4 B $
       $4 B$4

                                                                                                                  @
) / BA 6            6 :* E ,      CO
T%(Q(11 U!          B   AC   C B A : CB      C
> E            AC       C    C      C
$ cd ${PRJROOT}/sysapps/busybox-1.18.3

      " CB          6       6 :=
$ make menuconfig




                                         @
@<
06            F :       " 2
     06 A 1             2 M C        D     C C       :
               ${TARGET}-
     07       B B   1         2 M7   B B         C       :
               ${PRJROOT}/rootfs

6         A
    $ make

7         B
    $ make install

                                                         @@
) D

     1 %
 631 " F FB          AC
) D        6      6 :
) D                       CE C B   B   "   C        "
 " F
 F         CE C
) D            C C    V

                                               @C
) D              6     6 :
         " C $F       AB A0   B 26       6 :
A             A           B ( >A         DB"
> A        1 %
    >B      C ! F!W       :   BF
    %B     BC /       0!F 2
    BAF           6    6 :$        F :




                                           @D
) D   X   !   CE C




              @E
) D       X&   "
%B        C
 C    F       A
> A       1 %      "    &   "




                                 @;
? BA            AC A




             /                   0

0   A     A8. BD FB   CC E   "   2
    BCB    = #
                                     C
AC A= A   B BC       C




                 C
? /                           A            B       B          AC A
) BF
            CB       5        " C
    B A />B B" C
    BB B                 C        CE
    7        >               A>B B" C
                 D.7
)       =                    CB        5 " C          C             F A C   CB   5 " C
5       AF "                  EB          FB    C D       CB    5 " C
) BF             # D A * D B C BC                     B ,
/ B                      C B F A BF "                       B
    7            E            B        KBEB
             BC ? D                E &    A*,
                             BC    "B A /*,
    /D A                      B > A *,
    /D                   D( BA *,
    /D C             BD            CB    > D C &      A*,

                                                                                         C
B B=                           C H
>            E C          "         AC A " E
    1 23
    5              "CB A '              7)'
        )9!8)9
        )6
    5B F
    % F            A$ /             / $B AE C C                %7
        BC" B A "C / " A E                        C     DD
        A      /          B                   B
        A8.           B $6           6 :$   F         $" F $
    BE B       0          E    2            " C/ C
3        BE
        CE
               %C E A C
    6C BA B (                 E C
                                                                          C
B

BC D B" D   CY    C       D

    Y BC D B" D       C




                          C<

More Related Content

Viewers also liked

Viewers also liked (15)

Spirax saco
Spirax sacoSpirax saco
Spirax saco
 
Break Through
Break ThroughBreak Through
Break Through
 
Guj engdictionary
Guj engdictionaryGuj engdictionary
Guj engdictionary
 
Homebase preparation -pump
Homebase preparation -pump Homebase preparation -pump
Homebase preparation -pump
 
Kkpi
KkpiKkpi
Kkpi
 
A Little Pumpkin Likes Reading Books
A Little Pumpkin Likes Reading BooksA Little Pumpkin Likes Reading Books
A Little Pumpkin Likes Reading Books
 
Li &amp; fung ltd
Li &amp; fung ltdLi &amp; fung ltd
Li &amp; fung ltd
 
Gutell 091.imb.2004.13.495
Gutell 091.imb.2004.13.495Gutell 091.imb.2004.13.495
Gutell 091.imb.2004.13.495
 
YV BKI CH10 The Melancholy of Rama
YV BKI CH10 The Melancholy of RamaYV BKI CH10 The Melancholy of Rama
YV BKI CH10 The Melancholy of Rama
 
Pk std
Pk stdPk std
Pk std
 
Comm skills1
Comm skills1Comm skills1
Comm skills1
 
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)
 
Never alone ppt slide
Never alone ppt slideNever alone ppt slide
Never alone ppt slide
 
The Potato Story 一袋土豆
The Potato Story 一袋土豆The Potato Story 一袋土豆
The Potato Story 一袋土豆
 
Importance of history
Importance of historyImportance of history
Importance of history
 

More from Opersys inc.

Android Automotive
Android AutomotiveAndroid Automotive
Android AutomotiveOpersys inc.
 
Android 10 Internals Update
Android 10 Internals UpdateAndroid 10 Internals Update
Android 10 Internals UpdateOpersys inc.
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security InternalsOpersys inc.
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALOpersys inc.
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Opersys inc.
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with OreoOpersys inc.
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in AndroidOpersys inc.
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things InternalsOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Android Things: Android for IoT
Android Things: Android for IoTAndroid Things: Android for IoT
Android Things: Android for IoTOpersys inc.
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things InternalsOpersys inc.
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in AndroidOpersys inc.
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave InternalsOpersys inc.
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and DevelopmentOpersys inc.
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in AndroidOpersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave InternalsOpersys inc.
 

More from Opersys inc. (20)

Android Automotive
Android AutomotiveAndroid Automotive
Android Automotive
 
Android 10 Internals Update
Android 10 Internals UpdateAndroid 10 Internals Update
Android 10 Internals Update
 
Android Security Internals
Android Security InternalsAndroid Security Internals
Android Security Internals
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Android's HIDL: Treble in the HAL
Android's HIDL: Treble in the HALAndroid's HIDL: Treble in the HAL
Android's HIDL: Treble in the HAL
 
Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?Android Treble: Blessing or Trouble?
Android Treble: Blessing or Trouble?
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with Oreo
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Android Things: Android for IoT
Android Things: Android for IoTAndroid Things: Android for IoT
Android Things: Android for IoT
 
Android Things Internals
Android Things InternalsAndroid Things Internals
Android Things Internals
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave Internals
 
Android Platform Debugging and Development
Android Platform Debugging and DevelopmentAndroid Platform Debugging and Development
Android Platform Debugging and Development
 
Memory Management in Android
Memory Management in AndroidMemory Management in Android
Memory Management in Android
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Brillo / Weave Internals
Brillo / Weave InternalsBrillo / Weave Internals
Brillo / Weave Internals
 

Android Hacks, Variants, Tricks and Resources ESC India 2012

  • 1. ABCD E FCD ABC C A C CF C A !" #B !"
  • 2. A BC DBA BEB BF A CB C B E DD ) E C A B A! C D4 AF BC CD BC C !! C B E DD C"! !F B! ! CF C # C D B AD $ %&' ' (' ) A D C DB B B * A + ,$ E C " BC C B " - A " " , . " C CA D D B C F / 01C " B B 2 .(& DD A B A C B " C B A F / C" / C B C CB 3 BC C 0) E C A B A! C D4 AF 2 B C" B 3 BC 51(67)'8 C D " A B 0 F 2 A B C B * , C" $1 C A C B AF 9BC D 3B" D C 1C " B B /// C D! DD !A
  • 3. F C 7 C A A& : CB ;;; 1C " B A A B AC B * C !C B , CB "$ D ) E$ "$
  • 4. " AB 1 %= D B BC " 1 % B BC 5 C % C > A %B CD ' BF A C > A "/ 0 B 2& : B ? BA AC A <
  • 5. 1 %= D ("A AA ED A 5 A " = C C "B E ': A B >B A! BF A C 0 BA A E 2 71B$ A = B /B / B A @
  • 6. BC " 1 % B BC 5 C % C > A > A C
  • 7. 5 C B " D A ( B >7.7 F C" B D
  • 8. B " D A C DBC B A CD/BC ( # C C A !!/// B " D A D AE C 4 A B C & C A C % A "" 1 F%8 7 " D A D C ) % '# B 4 C E
  • 9. ;
  • 10. > C C " !!/ B " D A D! !!" F D! B " > A 7 A 6 F : D &B C * )B&B C, & / B B AD A / C A " B 0A 2
  • 11. ( B AC A A C B G 5C /BC !!C B ! 7 A 5)C A C /BC B C
  • 12. >7.7 5 C / .7 B D * A F A C , >B CB B !! D D! AE C 4 A B C ? D C )B C > B D BD CB AB C 8 A $5 DB B" C$ CB D C$ 6B $8 $
  • 14. F C" B C $ A FBCC A AC A FB AA C /// F C" B C" $% & & ! '" " C! ( <
  • 15. B B 1 %A @
  • 16. B C F C" B " " C
  • 17. A B & )* A E D DD 8 " D " / / + DB 1 % " CBF D 4BF > C B F C EA " C F A C!% B CD 7 A A D
  • 18. B B= C H " F FB AC BAA & " 0? BA AC A2 6 6 : E
  • 19. % C 6 B .F AC A (7> % B F 4 )B E ;
  • 20. 6 B
  • 22. 4
  • 23. (7> % B F
  • 24. )B E *> C BA AC , <
  • 25. > A I) ) E C @
  • 26. %B CD ' BF A C & BC 7 J B DD C
  • 27. & BC D
  • 28. E
  • 29. ;
  • 30. , & ! ' F" $ & CC A( - . CF AB (B B ( BAF B C A 7 BC H < : C B @ 6 C A B C . C E A!. BC A D E 'DF AA A & : B C B ; 6B ( 5 D C C & FCBC >B D B ) D
  • 31. (B B 0 AC A A8. FB A C$ D BA$ B A CB B/B / " 2 C C D BCB = : DB C C B B B" BEB BF & : B F BC A C BC & := C B B F A E A 0& :2 C B BE F A E A C " BC 0% C "2 AC A B /B F !A CBF !C B AC A A = C EA E C " FB A$ D C C A & : E C C " FB A! CE C A AC A : F D D 0D /B C " /B 2 A " / A8. / C A " F E 6
  • 32. ( BAF 5 D AC A 5? D B FCBC 6 E " F 7 C BFC 7 E )6. 7% 6 A CE B A C A . : 7% ) B DB B" D CB 5 " CE I 7!1 5CBD F C$ F BCA$ D $A $
  • 33. B C A 7 BC H AC A A 1 % 0& :2 A CBA B A C .F $ 5 A CB$ ) F B $ A $ 'DF AA A A C 3 $ 6 AC $ & 76$ 6 A3 C 1/ CC "
  • 34. < : C B " D 6 A D "CB 6 A D B""C "B 7DB" C B B" " C KB ?BE B B /B 7 EB " AC " C A = '& C B %B " 1 . 56 C B 1 C E F C B 4B ! %BCBE C B 4B J'>. I'8H <
  • 35. @
  • 36. @ 6 C A B 6 6 : B " > A A C BD C E B" C " ) = / / A )B E AC A > " C
  • 37. C . C E A!. BC A 6 A C C D" F 7 L M )6. FC A" ( " AC A B I ( "IB AC A 0 B C " A $/ / A/ C K BF B AC A / BE " D A D /BC B B $ / AF C B I CE C 8)9$ "B CB 5 " C CB B C / A / 3 AA B" C NI BCB C N B B I CB 5 " C F A AB A B / B E C I FB AB /B $ B A BE B B " C F D C / C / AF K A B D D B : F B B B E AC A / A / * " ' ,/ B CE C D AA $ B A B"B F A B A I FB A B C B A BE D " B B C B B / B A C D A " 1 2 D
  • 38. D A8. C A E D B " D C B B DF C A C "AF!"AF CE C A F "" C FCBC F $ " F C" F E
  • 39. E 'DF AA A & :B C B 8 A C"B 4 D AA C " C B CD A E D B C B B F AC BC" F BA C * , F A B F A B B" B A C A F " A F "" " A C K A D B DB" F BC DB" C BA F A BC" C C B AF AAC C C BC" C C K C / D A C BC" C C DB BC" B C C BC" = DB B D D CBC AB B B A : C D B B AB C C # C A F A /BC C BC" ;
  • 40. E B C B E EBC C D / C B C *A E :, export PROJECT=emblinux export PRJROOT=/home/karim/${PROJECT} export TARGET=arm-none-linux-gnueabi export PATH=${PATH}:[CODESOURCERY_DIR]/bin cd $PRJROOT C $ . devex % F EB CO (A' (> BCD :$ BCD / :" BF >7% D :$ D / :" 7 EC EC :$ @EC " A : F <
  • 41. ; 6B C D C C . :5 C C A CD C D D AC C BC C DF AA A 5 D ? CBC B ABCA *5? , !F PM ' B C F BC !F PM 6 BA C B A C DB" !A E PM ) E ! PM D " CB ! D PM . C D AC C ! F PM ' B BC A F B A C D A !D PM D CBC D ! PM AA /BC B B" ! F PM ' B D F BC !D PM D CBC ! C PM ABC CBC *D CB , !EBC PM FBC BF AB B " CB A F AB D <
  • 42. 8 B D CAC ! D $ !D $ ! $ !C ) A F BA C !F A0 B2 !F $ !A E$ ! $ ! F$ ! C $! F $! C$ ! D $ !EBC BC / 0! 2$ AC A A 0! D! 2 C )F " Q B B C / CBC ! C$ !EBC <
  • 43. B B BC B F BC AC C CH !F PM ' B F BC C C B A BAD ! F PM ' B F BC C BAD ! C!F PM 8 B C B A BAD F BC ! C! F PM 8 B BAD F BC B B BC B FCBC AC C CH ! F PM ' B D FCBC ! C! F PM 8 B FCBC C A C 5 B &B 0 E C B 2 B"C * 5? , <
  • 44. BC / C " C $ cd ${PRJROOT}/rootfs C B C C AC C $ mkdir bin lib sbin usr var C B ! C CBC $ mkdir usr/{bin,lib,sbin} C B !EBC CBC $ mkdir var/{lib,lock,log,run,tmp} $ chmod 1777 var/tmp <<
  • 45. & FCBC " F F <@
  • 46. " F " F D B BC A FCBC 5 CDB F&76R8 >' A&76 RF'( ':BD FD $ F >BK C C E E C DF 5 CDB F&76R8 >' > Q1(R('FRF'( ':BD FA $ F C F C A A DF DBK C C E E C DF 5 CDB F&76R8 >' ':BD FA $ FD B FCBC BC E 5 CDB F&76R8 >' B ':BD FA B$ FD B <C
  • 47. 5 C BC" $ A B B BC A F DBK C C E E C DF AA BD C B C A A&76 RF'( DF C :EC$ (>$ ?$ DCE PM A : > Q1(R('FRF'( >7% $ %% PM A > Q1(R('FRF'( > A CD :B FCBC D C # C A 6'& BF C B D <D
  • 48. > D CB D A PM A BD C F PM FCBC FD PM DB FCBC FA PM BC A FK DB B FCBC > A CD :B A A C B B 8B E ldd C B CD B BF B readelf C uclibc-ldd <E
  • 49. "B FCBC $ cp -d [CODESOURCERY_DIR]/arm-none-linux-gnueabi/libc/lib/* > ${PRJROOT}/rootfs/lib C " B BC" FCBC C B $ arm-none-linux-gnueabi-strip ${PRJROOT}/rootfs/lib/*.so* <;
  • 50. F BD BD " E B " F 7D D D " F D A$ F $ F C $ FA $ FD$ F C BA$ FC E$ F FFCBC B : / " F FCBC BC" = ! F A C C "B F D $ cd ${PREFIX}/uclibc/lib $ cp *-*.so ${PRJROOT}/rootfs/lib $ cp -d *.so.[*0-9] ${PRJROOT}/rootfs/lib 8 A C F FCBC $ BC C A F F F A C @
  • 51. >B DB B . : D C B DD DDB A B ABCA A C BE F BC C DDB A >B D B C EB DDB A F C B B" B C E A DB DDB A B " F BC 6 F : ) C @
  • 52. 6 6 : >B B B" A DF AA A & : C EA C . : DDB A F F : S$ SS$ B A$ BAA $ BAA"C $ BAA C$ BAK D :$ BC $ BC "$ B $ B/ $ FB C<$ FB BD $ F $ F A$ F A E$ F BC A$ FC $ F 4 $ F4 B $ F4 $ B $ B $ B E$ B $ B C$ "C $ D A$ / $ B /A$ $ C $ C$ E$ D$ BC$ D $ DD$ $ $ C A$ C BF$ C /$ B $ $ AB $ A $ AA$ A B E $ A "C $A C$ A D A$ A ED D$ A $ A C B $ A $ A C BD $ AD "$ A A$ A A DB BD $ A :$ A $ A D DB $ A D B $ $ A$ "C $ K $ E$ EA C$ E A" A$ C /B $ : B A$ : C$ B A A$ B $ F $ F B $ A $ A CDB $ A $ " $ "C $ A$ A $ $ A$ C $ C CBDA $ $ D :$ $ A$ " $ $ C$ " $ " $ "C $ " 4 $ "4 $ B $ A$ A BCD$ BA$ :A D $ A$ BD $ A$ $ / $ A$ "$ A / $ BE $ "A$ $ A$ $ D A$ B $ $ B $ $ BAAC$ B $ CD$ $ $ C $ C $ $ FARD A $ $ B $ B @$ "A$ B $ " $ $ : $ :C<$ :C $ $ BA $ BA DB $ "" C$ " $ " BD $ "C BA$ $ A$ #$ C$ $ B C$ D A$ $ F$ 4 B $ 4DB$ 4 $ 4 B $ DB A E $ DB D D $ DB $ DA@ D$ DA E$ D "$ D C D$ D A C$ D A $D $D $D : $D D :$ D EB$D A$ D B /A$ D /B $ D D $ D A $D A C F $D C $D $D $ D B $ D $ DE$ BD $ FA $ $ B$ $ D C$ $ $ A$ A$ E $ B /A$ B $ "C $ A $ "$ "C$ R C "C $ E RC $ $ DB $ DB A C$ / C $ / C $ C E$ C $ $ B $ /A$ CB AB C $ CAB $ CA E$ C BAB BA$ C BA $ C BA C $ C B B $ C F $ C CD D $ C D E $C $C $ C 4 $ C E$ CD$ CDA C$ CDD A$ C $ C D$ C D $ C /B $ C BC $ C E $C E$ C EA C$ C:$ C $ C C B $ A$ ADB $ #$ BC $ $ $ A $ " $ A$ A" A$ $ B D$ B @C D$ B@ D$ / $ B B $ $ D D B $ D $ C$ $ BC AB D $ B $ C " $ $ $ " $ D$ E$ E "A$ /B $ /B $ / RC $ $ $ "A$ B $ B $ BC$ EA$ $ $ A$ $ $ A$ D $ D $ $ $ C$ CB C $ CB C C$ C $ $ 4 $ $ A $ A A$ A EA$ D $ BD $ : B A$ #$ : A $ 4DB$ 4 $ :4$ 4 $ D $ $ A A $ A $E "$ E $ E $ E BD $ /B $ /B $ /B A "$ / $ /" $ / $ / $ / BD $ :BC" $ :4$ :4 B $ $4 B$4 @
  • 53. ) / BA 6 6 :* E , CO T%(Q(11 U! B AC C B A : CB C > E AC C C C $ cd ${PRJROOT}/sysapps/busybox-1.18.3 " CB 6 6 := $ make menuconfig @
  • 54. @<
  • 55. 06 F : " 2 06 A 1 2 M C D C C : ${TARGET}- 07 B B 1 2 M7 B B C : ${PRJROOT}/rootfs 6 A $ make 7 B $ make install @@
  • 56. ) D 1 % 631 " F FB AC ) D 6 6 : ) D CE C B B " C " " F F CE C ) D C C V @C
  • 57. ) D 6 6 : " C $F AB A0 B 26 6 : A A B ( >A DB" > A 1 % >B C ! F!W : BF %B BC / 0!F 2 BAF 6 6 :$ F : @D
  • 58. ) D X ! CE C @E
  • 59. ) D X& " %B C C F A > A 1 % " & " @;
  • 60. ? BA AC A / 0 0 A A8. BD FB CC E " 2 BCB = # C
  • 61. AC A= A B BC C C
  • 62. ? / A B B AC A ) BF CB 5 " C B A />B B" C BB B C CE 7 > A>B B" C D.7 ) = CB 5 " C C F A C CB 5 " C 5 AF " EB FB C D CB 5 " C ) BF # D A * D B C BC B , / B C B F A BF " B 7 E B KBEB BC ? D E & A*, BC "B A /*, /D A B > A *, /D D( BA *, /D C BD CB > D C & A*, C
  • 63. B B= C H > E C " AC A " E 1 23 5 "CB A ' 7)' )9!8)9 )6 5B F % F A$ / / $B AE C C %7 BC" B A "C / " A E C DD A / B B A8. B $6 6 :$ F $" F $ BE B 0 E 2 " C/ C 3 BE CE %C E A C 6C BA B ( E C C
  • 64. B BC D B" D CY C D Y BC D B" D C C<