View
853
Download
2
Category
Preview:
DESCRIPTION
Karim Yaghmour's "Android Hacks, Variants, Tricks and Resources" talk at ESC India 2012
Citation preview
��
���������ABCD�E���FCD����ABC����
��C���A�C
�����������CF��C���������A����������
����� !"����#B����!"����
��
��������A���BC��DBA��BEB�BF������������A�C�B��C�B�E����DD������BC������������������������������CD����������������BC����C������ ��!!�C�B�E���DD�����C"!�������!F���B!���!
���CF�����C�#�C�D�����B�A�D���$�%&'��'�('�)�
� ������A��D����C�DB��B����������� ��������B����*��A��+�,$��E�C����"����������BC���C��������B�"�-�����A�"�������"����,
� .�������"�C���������C�A���D�����D������B��C������F���/�01C"�B���B�2�.(&�DD�AB�������A�C���B���"�C��B�A�����F���/��� �C"���������/��C��B C� CB���
� 3���BC���C����������������0)��E�C�A�B�A!�C������D4�A�F�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��A�F���9BCD�3B"�D��C
1C"�B���B���///�� �C������D!��DD����!A���
�)��E�C�A�B�A!�C������D4�A�F�
��
�F���
� �����C����
� 7��C�A���A�&��:��CB�������������;;;
� 1C"�B��A��A����B�A�C��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
� �����A�A�E�D�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
C�
��BC�"��1�%�B BC�
� 5�C��
� %�C��
� >�A�
� >��A�
D�
5�C��
� ��B��"��D�A
� (� ��B��
� >7.7
� ��F�C"��B��
E�
��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
;�
���
� >�C�����C����"���
� ��� �!!/����B��"��D�A���D!
� ��� ��!!"���F���D!��B��"��>�A
� 7����A���6���F�:
� �����D�&B�����C�*�)B&B�����C,
� &������������/�B���B�A�D�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����$����
���
�<�
��F�C"��B��
���C����� ��$�������A��FBCC�A���AC�A�FB��A�A��C�
///���F�C"��B����C"
$%�&�&��!��'"�������������"C�!����������(
�@�
B�B�������1�%�A���
�C�
B��C����F�C"��B�����"��"
�D�
A�B��
� ���&��)*���A�E��� D������DD����
� 8����"��������D��
� ���� �����"��/����/�����������+���DB���������1�%
� ����"�CBF���
� �����D4BF���
� >������C��B�
� �F������� C�EA���"������C��
� F��A�C!%�B���CD�7�A� ��A���
�E�
B�B�=�����C�H
� "�F��FB��A�C������BAA����
� &���"
� 0?�BA�������AC�A2
� 6���6�:
�;�
%�C��
� 6�����B���
� .F����������AC�A
� (7>�%�B�F���
� �4��
� �����)B�E�
���
6�����B���
���
���
�4��
� ���
���
(7>�%�B�F���
�<�
�����)B�E��*>�CBA�AC�� ,
�@�
>�A�
� I)��)�E��� �C�
� ���
�C�
%�B���CD�'�BF��A��C���
� &�BC�
� �7
� J�B���DD
�D�
&�BC�
�E�
�;�
���
,�&���!�'�F"�$�&CC�A(�-���.�CFAB
��(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�C�E�����������B�A�����C���A�.�:�7%�
� )� �B��DB�B"�D���
� ��C�B��5��"�C�E���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$�)�FB�$�A�����$����
� 'DF�AA�A�A��C�
� 3����$�6��AC���$�&�76$����
� 6��A�3��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�
� FC��B�4B����!�%BCBEC��B�4B���
� J'>.
� I'8H
�@�
�C�
@��6�������C��A������B�
� 6���6�:�����B��"��>�A
� A��C�BD�C�E�����B"��C"��
� )��=�����/���/������A����
� �����)B�E�����AC�A����>��"�
� ���
�D�
C��.�C����E�A�!�.���BC��A
� 6�A�C��C�D�"�F�
� 7������L�M�)6.��FCA"�
� (����"���AC�A�B ����I
� (����"�I�B ������AC�A
0�����B��C����"����A�$�/����/���A�/�C�����K����BF����B�����AC�A� ������/�������BE�"����D�A������������D�����/BC��B��B��$�/���A�F����� �C��B��I���CE�C��������8)9$����"�B���C�B��5��"�C���C�B���B�����C����/�A�/�
3�������A�A��B�"���C��NI��BCB �C� N���B���B������I��C�B��5��"�C�F��A��A�B�A��B�������/�B��E�C�I�FB��A�B �����/B��$�B�A��BE����B��� �B��������"����C�
��F��D�C��/�C��/���A�F�����K����A��B��D ��D���B�������:�F���B����������� ����B��B�E����AC�A�/�A�/�*� ��"��'�������������,�/������B�����CE�C�������DAA��$�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
�E�
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��'DF�AA�A�&��:�B�C�� B��
� 8��A�����C"B�4��������D ����������A�A�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�A�F��A�AC����C�����C��BC"�����C���� C�K���� ���C��/�������D���A����C������BC"��C������ C������������D�B���������������BC"�����B �� ���C������C��BC"��=�������D�B ��B�����D � ��D �CBC��AB�B�B�A��: �CD���������� ������B��B�A�B�������C�������C�#�C�A����F��A
����/BC����C������BC"���
<��
E����B�C�� B�����E��EBC�����C �
� ��D �����/�C�� B�����C ��*A�E�:,export PROJECT=emblinuxexport PRJROOT=/home/karim/${PROJECT}export TARGET=arm-none-linux-gnueabiexport PATH=${PATH}:[CODESOURCERY_DIR]/bincd $PRJROOT
� �������������C ��
$ .�devex
� %���F���EB�������C�O��(A'��� �(>� BCD����:$�BCD������/�����:�"���BF
� >7%�� D �����:$�D ���������/�����:�"��
� 7�EC� �EC����:$�@EC�"��A�����:����F�
<��
;��6B���C������������D���C����C�
� .�:�5����C����C�A���C�D�������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���������C�B �,� !EBC PM FBCBF���AB�B�"���CB��A�F��AB�D���
<��
� 8���������B��D�������C�AC��
� !��D�$�!D��$�!� �$�!C���
� )� ��A�����F�����BA�C�
� !F���
� ����������A�0������B�2�
� !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�
<C�
������"�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
<D�
� 5�C��BC"��$����A�� ����B���B����BC�A��F�� ����DBK�C�C�E����E�C������DF��������
� ��������A�A��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 ��������
<E�
� >����D �C�B�����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�
<;�
� �� ��"�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����� ���F���FCBC����B�����:���/���"�F���FCBC������BC"��=��!�F�AC����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�������D�B ��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�EA��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��$��AC�BD�$�AD��"$�A��A$�A��A�DB��BD�$�A�����:$�A�$�A�D �DB $�A�D ��B���$�����$��A$��"C� $��K���$���E$���EAC$���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��DD�$�DB�$�DA@��D$�DA�E$�D��"$�D�C���D$�D�AC$�D�A����$�D�����$�D����$�D�����:��$�D����D�:$�D����E�B�$�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�AC$� �/�C���$� �/�C�� $� C����E$� C���$� �$� ��B�$� /A$�CBAB���C��$�CAB��$�CA�E$�C�BAB��BA$�C�BA���$�C�BA C����$�C�B� B��$�C�F���$�C���CDD�$�C�D�E�������$�C����$�C����$�C��4�$�C�E$�CD$�CDAC$�CDD�A$�C����$�C D$�C D�� �$�C��/B��$�C��� BC��$�C����E��$�C���E$�C���EAC$�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��,�������C�OT%(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��M�7���B��B���� C��:�
${PRJROOT}/rootfs
� 6��A�
$ make
� 7���B���
$ make install
@C�
����)�D��
� ����
� �1�%
� 631�"�F��FB��A�C�����
� )�D�����6���6�:
� )�D�������������CE�C�B ��B���"���C��"��������
� "�F�������
� F������CE�C
� )�D�������C C��V
@D�
������)�D������6���6�:
� ����"�C�$�F��A�B�A�0���B��2�6���6�:
� A������� �A�������B��(�>�A���DB"�
� >�A����1�%����
� >B�����C��!�F!W����:����BF��
� %B�����BC��/���0!F�2
� BAF���������6���6�:$���������F�:
@E�
������)�D����X������!��CE�C
@;�
������)�D����X�&���"
� %B������C���
� �C����F��A��������
� >�A����1�%������"����&���"
C��
/ 0
0��A������A8.��BD��FB�����C�C�E��"�����2����BCB����=����#���
?�BA�������AC�A
C��
��AC�A=��A� �B��BC�������C�
C��
?�/����A��B �B�����AC�A
� )�BF���
� ��C�B��5��"�C
� B�A�/>B�B"�C
� BB�� B �C��CE��
� 7� ��>����A>B�B"�C
� �����D.7
� )��=��������C�B��5��"�C��������C������ ���F�A�C������C�B��5��"�C
� 5��A�F�"���EB�����FB����C�D���C�B��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�A�E�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�EA�C�
� 6C�BA�B��(���E�C�
C<�
��B����������
�BCD��B"�D��CY� �C������D�
Y�BCD�B"�D��C
Recommended