
Google рдХреЛ рдИрд╕реНрдЯрд░ рдЕрдВрдбреЗ рдкрд╕рдВрдж рд╣реИрдВред рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЙрдирдХреЗ рд▓рдЧрднрдЧ рд╣рд░ рдЙрддреНрдкрд╛рдж рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред Android рдИрд╕реНрдЯрд░ рдЕрдВрдбреЗ рдХреА рдкрд░рдВрдкрд░рд╛ рдУрдПрд╕ рдХреЗ рдмрд╣реБрдд рд╢реБрд░реБрдЖрддреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╢реБрд░реВ рд╣реБрдИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреБрдЫ рдмрд╛рд░ рдЯреИрдк рдХрд░рддреЗ рд╣реИрдВ) рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдЖрдк рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдПрдХ рдИрд╕реНрдЯрд░ рдЕрдВрдбреЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╢рд╣рд░реА рдХрд┐рдВрд╡рджрдВрддреА рд╣реИ рдХрд┐ рдПрдХ рджрд┐рди, рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЧреВрдЧрд▓реЗрдб "рдореНрдпреВрдЯреЗрдХреНрд╕ рд▓реЙрдХ" рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрдЬрд╛рдп foo.bar рдкрд░ рдЙрддрд░рд╛, рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдФрд░ Google рдкрд░ рдиреМрдХрд░реА рдЙрддрд╛рд░реАред
рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдПрдХ рд╣реА рдмрд╛рдд (рд╕реБрдЦрдж рдЕрдВрдд рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдореЗрд░реЗ рд╕рд╛рде рд╣реБрдИред рдЫрд┐рдкреЗ рд╣реБрдП рд╕рдВрджреЗрд╢ рдЬрд╣рд╛рдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рднреА рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд╛рд╡рд╛ рдХреЛрдб рдФрд░ рдЙрд╕рдХреЗ рдореВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ, рдПрдХ рдЧреБрдкреНрдд рд╡реАрдПрдо, рдПрдХ Google рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ - рдЬреЛ рдХрд┐ рд╕рднреА рдиреАрдЪреЗ рд╣реИрдВ, рдЙрд▓рдЯред
DroidGuard
рдПрдХ рдЙрдмрд╛рдК рд░рд╛рдд рдореИрдВ рдЕрдкрдиреЗ рдлреЛрди рдХреЛ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рддрд╛рдЬрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рдЗрдВрд╕реНрдЯреЙрд▓ рдиреЗ рдореБрдЭреЗ Google рдЦрд╛рддреЗ рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдФрд░ рдореИрдВрдиреЗ рд╕реЛрдЪрд╛: рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рднреА рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ? рдФрд░ рд░рд╛рдд рдЕрдЪрд╛рдирдХ рдЙрдмрд╛рдК рд╣реЛ рдЧрдИред
рдореИрдВ рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдФрд░ рдПрдирд╛рд▓рд┐рд╕рд┐рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд░реНрдЯрд╕реНрд╡рд┐рдЧрд░реНрд╕ рдмрд░реНрдк рд╕реВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдХреНрдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рд╣рдорд╛рд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред Https рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреЛрд░реНрдЯрд╕реНрд╡рд┐рдЧрд░ рдХрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкрд░реАрдХреНрд╖рдг рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВрдиреЗ рдПрдВрдбреНрд░реЙрдЗрдб 4.4 рдХреЗ рд╕рд╛рде рдПрдХ 8 рд╡рд░реНрд╖реАрдп рд╕реИрдорд╕рдВрдЧ рдЧреИрд▓реЗрдХреНрд╕реА рдПрд╕ рдЙрдард╛рдпрд╛ред рдЗрд╕рд╕реЗ рдХреБрдЫ рднреА рдирдпрд╛ рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдкрд┐рдирд┐рдВрдЧ рдФрд░ рд╕рд╛рдорд╛рди рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред
рд╕рднреА рдИрдорд╛рдирджрд╛рд░реА рдореЗрдВ, Google API рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдЕрдкрдиреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ ... рдПрдХрдорд╛рддреНрд░ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдХрджрдо рджреБрд░реБрдкрдпреЛрдЧ рд╡рд┐рд░реЛрдзреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ POST рдЕрдиреБрд░реЛрдз рд╣реИред

рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдИ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдПрдХ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ
droidguard_result ред рдпрд╣ рдмрд╣реБрдд рд▓рдВрдмрд╛ рдмреЗрд╕ 64 рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ:

DroidGuard рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдмреЙрдЯ рдФрд░ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП Google рдХрд╛ рддрдВрддреНрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрдлреНрдЯреАрдиреЗрдЯ рднреА DroidGuard рдХреЗ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред Google рдХреЗ рдкрд╛рд╕ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рди рдЪреАрдЬ рд╣реИ, рднреА - рдмреЛрдЯрдЧрд╛рд░реНрдбред
рд▓реЗрдХрд┐рди рд╡рд╣ рдбреЗрдЯрд╛ рдХреНрдпрд╛ рд╣реИ? рдЖрдЗрдП рдЬрд╛рдиреЗрдВред
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдлрд╝рд░реНрд╕
рд╡рд╣ рд▓рд┐рдВрдХ рдХреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (
www.googleapis.com/androidantiabuse/v1/x/create?alt=PROTO&key=AIzaSyBofcZsgLSS7BOnBjZPEk4rYwzOIz-lTI ) рдФрд░ рдХреНрдпрд╛ Android рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдВрджрд░ рдХрд░рддрд╛ рд╣реИ? рдПрдХ рдЫреЛрдЯреА рдЬрд╛рдВрдЪ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд▓рд┐рдВрдХ, рдЗрд╕ рд╕рдЯреАрдХ рд░реВрдк рдореЗрдВ, Google Play Services рдХреА рдмрд╛рдзрд┐рдд рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╣реИ:
public bdd(Context var1, bdh var2) { this(var1, "https://www.googleapis.com/androidantiabuse/v1/x/create?alt=PROTO&key=AIzaSyBofcZsgLSS7BOnBjZPEkk4rYwzOIz-lTI", var2); }
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдмрд░реНрдк рдореЗрдВ рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ, рдЗрд╕ рд▓рд┐рдВрдХ рдкрд░ POST рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдореЗрдВ
рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ -
рдПрдкреНрд▓рд┐рдХреЗрд╢рди / x-protobuf (Google рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдлрд╝рд░реНрд╕, рдмрд╛рдЗрдирд░реА рдХреНрд░рдорд╛рдВрдХрди рдХреЗ рд▓рд┐рдП Google рдХрд╛ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЬреМрди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рднреЗрдЬрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдмрдлрд╝рд░реНрд╕ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ:
- рдкрд╣рд▓реЗ рд╣рдо рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрджреЗрд╢ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ .proto рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ;
- рдлрд┐рд░ рд╣рдо .proto рдлрд╝рд╛рдЗрд▓ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░реЛрдЯреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рдЪреБрдиреЗ рд╣реБрдП рднрд╛рд╖рд╛ рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (Android рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдЬрд╛рд╡рд╛ рд╣реИ);
- рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдкреНрд░реЛрдЯреЛрдмреБрдлрд╝ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдбрд┐рдХреЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рдПрдХ рдкреНрд░реЛрдЯреЛрдмреЙрдлрд╝ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ .proto рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдореВрд▓ рд╡рд┐рд╡рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╣реИред рджреВрд╕рд░рд╛ рд╣реИ, Google Play Services рд╕реЗ рдкреНрд░реЛрдЯреЛ-рдЬрдирд░реЗрдЯ рдХреА рдЧрдИ рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЪреАрд░ рджреЗрдирд╛, рдЬреЛ рдореИрдВрдиреЗ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╣рдо Google Play Services рдХреА .apk рдлрд╝рд╛рдЗрд▓ рдЙрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХреА рд▓реЗрддреЗ рд╣реИрдВ рдЬреЛ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ (рдпрд╛, рдпрджрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рд░реВрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдмрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡рд╣рд╛рдВ рд╕реЗ рд╕реАрдзреЗ рд▓реЗ рдЬрд╛рдПрдВ)ред Dex2jar рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо .dex рдлрд╝рд╛рдЗрд▓ рдХреЛ .jar рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ рдФрд░ рдкрд╕рдВрдж рдХреЗ рдбрд┐рдХрдореНрдкреЙрдЗрд▓рд░ рдореЗрдВ рдЦреЛрд▓рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЬреЗрдЯрдмреНрд░реЗрди рдХреЗ рдлрд░реНрдирдлреНрд▓рд╛рд╡рд░ рдкрд╕рдВрдж рд╣реИрдВред рдпрд╣ рдЗрдВрдЯреЗрд▓реАрдЬ рдЖрдИрдбреАрдИрдП (рдпрд╛ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ) рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдмрд╕ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдЬрд┐рд╕ рд▓рд┐рдВрдХ рдХрд╛ рд╣рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдЧрд░ рдкреНрд░реЛрдЧрд╛рд░реНрдб рдмрд╣реБрдд рдХрдард┐рди рдкреНрд░рдпрд╛рд╕ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛, рддреЛ рдкреНрд░реЛрдЯреЙрдл рд╕рдВрджреЗрд╢ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдШрдЯрд┐рдд рдЬрд╛рд╡рд╛ рдХреЛрдб рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд┐рдШрдЯрд┐рдд рдХреЛрдб рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдмрд┐рд▓реНрдбред * рд╕реНрдерд┐рд░рд╛рдВрдХ рд╕рдВрджреЗрд╢ рдХреЗ рдЕрдВрджрд░ рднреЗрдЬреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред (рдареАрдХ рд╣реИ, рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдмрд╣реБрдд рдХрдард┐рди рдирд╣реАрдВ рдерд╛)ред
... var3.a("4.0.33 (910055-30)"); a(var3, "BOARD", Build.BOARD); a(var3, "BOOTLOADER", Build.BOOTLOADER); a(var3, "BRAND", Build.BRAND); a(var3, "CPU_ABI", Build.CPU_ABI); a(var3, "CPU_ABI2", Build.CPU_ABI2); a(var3, "DEVICE", Build.DEVICE); ...
рд▓реЗрдХрд┐рди рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рд╕рд░реНрд╡рд░ рдХреЗ рдЙрддреНрддрд░ рдореЗрдВ рд╕рднреА рдкреНрд░реЛрдЯреЛрдмреЙрдлрд╝ рдлрд╝реАрд▓реНрдб рдСрдмрд╕реНрдкреЗрд╢реЗрд╢рди рдХреЗ рдмрд╛рдж рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╕реВрдк рдореЗрдВ рдмрджрд▓ рдЧрдПред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
if (!var7.d()) { throw new bdf("byteCode"); } if (!var7.f()) { throw new bdf("vmUrl"); } if (!var7.h()) { throw new bdf("vmChecksum"); } if (!var7.j()) { throw new bdf("expiryTimeSecs"); }
рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ рд╣реИ рдХрд┐ рдЦреЗрддреЛрдВ рдХреЛ
рдУрдлрд╝реНрдлрд╝рдХреЗрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рдХреИрд╕реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рдерд╛:
рдмрд╛рдЗрдЯрдХреЛрдб ,
vmUrl ,
vmChecksum рдФрд░
expiryTimeSecs ред рдпрд╣ рдирд╛рдордХрд░рдг рдпреЛрдЬрдирд╛ рд╣рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рджреЗ рд░рд╣реА рд╣реИред
рд╣рдо Google Play Services рд╕реЗ рд╕рднреА рд╡рд┐рдШрдЯрд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓рддреЗ рд╣реИрдВ, рдЯреЗрд╕реНрдЯ рдмрд┐рд▓реНрдб рдмрдирд╛рддреЗ рд╣реИрдВред * рдХрдорд╛рдВрдб рдФрд░ рд▓реЙрдиреНрдЪ (рдХрд┐рд╕реА рднреА рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдирдХрд▓ рдХрд░рдирд╛ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ)ред рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдЦреБрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ
рдореЗрд░реЗ GitHub рдХрд╛ рд▓рд┐рдВрдХ рд╣реИ ред
рдпрджрд┐ рдЕрдиреБрд░реЛрдз рд╕рд╣реА рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдпрд╣ рд▓реМрдЯрд╛рддрд╛ рд╣реИ:
режреж: режрем: реирем.Oремрез [рдореБрдЦреНрдп] тАЛтАЛрдЬрд╛рдирдХрд╛рд░реА daresponse.AntiabuseResponse - рдмрд╛рдЗрдЯрдХреЛрдб рдХрд╛ рдЖрдХрд╛рд░: рейрекрекрекрем
режреж: режрем: реирем.Oремрез [рдореБрдЦреНрдп] тАЛтАЛрдЗрдиреНрдлреЛ рдбрд╛рд░реНрд╕реНрдкреЛрдВрд╕ред рдПрдЯрд┐рдЖрдмреНрдпреВрдЬрд░рд┐рд╕реНрдкреЙрдиреНрд╕ - vmChecksum: C15E93CCFD9EF178293A2334A1C9F9B0BF115993
00: 06: 26.761 [рдореБрдЦреНрдп] тАЛтАЛINFO daresponse.AntiabuseResponse - vmUrl: www.gstatic.com/droidguard/C15E93CCFD9EF178293A2334AC9F9B08F115993
режреж: режрем: реирем.Oремрез [рдореБрдЦреНрдп] тАЛтАЛрдЬрд╛рдирдХрд╛рд░реА daresponse.AntiabuseResponse - expiryTimeSecs: резреж
рдЪрд░рдг 1 рдкреВрд░рд╛ рдХрд░реЗрдВред рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐
vmUrl рд▓рд┐рдВрдХ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдЫрд┐рдкрд╛ рд╣реИред
рдЧреБрдкреНрдд APK
рд▓рд┐рдВрдХ рд╣рдореЗрдВ рд╕реАрдзреЗ рдПрдХ .apk рдлрд╝рд╛рдЗрд▓ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ SHA-1 рд╣реИрд╢ рдХреЗ рдирд╛рдо рдкрд░ рд╣реИред рдпрд╣ рдмрд▓реНрдХрд┐ рдЫреЛрдЯрд╛ рд╣реИ - рдХреЗрд╡рд▓ 150KBред рдФрд░ рдпрд╣ рдХрд╛рдлреА рдиреНрдпрд╛рдпрд╕рдВрдЧрдд рд╣реИ: рдпрджрд┐ рдЗрд╕реЗ 2 рдмрд┐рд▓рд┐рдпрди Android рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рд╣рд░ рдПрдХ рдиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдпрд╣ Google рдХреА рд╕реЗрд╡рд╛рдУрдВ рдкрд░ 270TB рдХрд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╣реИред

DroidGuardService
рд╡рд░реНрдЧ, Google Play Services рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЙрд╕реЗ рдЕрдирдкреИрдХ рдХрд░рддрд╛ рд╣реИ, .dex рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ
com.google.ccc.abuse.droidguard.DroidGuard
рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реИ, рддреЛ
DroidGuardService
рд╕реЗ рд╡рд╛рдкрд╕ Droidguasso рдореЗрдВ рдЬрд╛рддреА рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИред
рдореВрд▓ рд░реВрдк рд╕реЗ,
DroidGuard
рд╡рд░реНрдЧ рджреЗрд╢реА .so рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг
DroidGuard
рдЖрд╡рд░рдг рд╣реИред рджреЗрд╢реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ ABI рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рд╣рдордиреЗ protobuf рдЕрдиреБрд░реЛрдз рдореЗрдВ
CPU_ABI
рдлрд╝реАрд▓реНрдб рдореЗрдВ рднреЗрдЬрд╛ рд╣реИ: рд╣рдо armeabi, x86 рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ MIPS рдХреЗ рд▓рд┐рдП рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред
DroidGuardService
рд╕реЗрд╡рд╛ рдореЗрдВ рд╣реА
DroidGuard
рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдк рддрд░реНрдХ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд╕
DroidGuard
рдХрд╛ рдПрдХ рдирдпрд╛ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ
рдкреНрд░реЛрдЯреЛрдлреНрдпреВ рд╕рдВрджреЗрд╢ рд╕реЗ
рдмрд╛рдЗрдЯрдХреЛрдб рднреЗрдЬрддрд╛ рд╣реИ, рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдзрд┐ рдХрд╣рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдмрд╛рдЗрдЯ рд╕рд░рдгреА рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╕рд░рдгреА рддрдм
droidguard_result рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЕрдВрджрд░ рд╕рд░реНрд╡рд░ рдкрд░ рднреЗрдЬреА
рдЬрд╛рддреА рд╣реИред
DroidGuard
рдЕрдВрджрд░ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЗрд╕рдХрд╛ рдПрдХ рдореЛрдЯрд╛ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдо
DroidGuard
рдХреЗ рддрд░реНрдХ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ (рд▓реЗрдХрд┐рди .apk рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ)ред рд╣рдо рдЧреБрдкреНрдд рдПрдкреАрдХреЗ рд╕реЗ рдПрдХ .dex рдлрд╝рд╛рдЗрд▓ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ .jar рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХрдорд╛рддреНрд░ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреИрд╕реЗ
DroidGuard
рд╡рд░реНрдЧ рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рд╕реНрдереИрддрд┐рдХ рдЖрд░рдВрднреАрдХрд░рдг рдмреНрд▓реЙрдХ
loadDroidGuardLibrary()
рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ:
static { try { loadDroidGuardLibrary(); } catch (Exception ex) { throw new RuntimeException(ex); } }
рдЙрд╕рдХреЗ рдмрд╛рдж
loadDroidGuardLibrary()
рд╡рд┐рдзрд┐
loadDroidGuardLibrary()
рдореЗрдВ
loadDroidGuardLibrary()
ред
loadDroidGuardLibrary()
.apk рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдЯ рдореЗрдВ рд╕реНрдерд┐рдд) рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЙрд╕ рдирд╛рдо рд╕реЗ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐
System.load(String filename)
рдХреЙрд▓ред рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рд╕реЗ .apk рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдмрд╣реБрдд рд╣реА рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рд▓рд┐рдм рдлрд╛рдЗрд▓ рдореЗрдВ .so рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рдЦреЗрдВ рдФрд░
System.loadLibrary(String libname)
рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░реЗрдВред
рдпрд╣ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рд╣рдо
.dx рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП
smali / baksmali - рдХреЛрдбрд╛рдВрддрд░рдХ / disassembler рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, classes.dex .smali рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред
com.google.ccc.abuse.droidguard.DroidGuard
рд╡рд░реНрдЧ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рд╕реНрдЯреЗрдЯрд┐рдХ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдмреНрд▓реЙрдХ
System.loadLibrary("droidguard")
рдмрдЬрд╛рдп
System.loadLibrary("droidguard")
рд╡рд┐рдзрд┐ рдХреЛ
loadDroidGuardLibrary()
ред Smali рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ, рдирдпрд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдмреНрд▓реЙрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
.method static constructor <clinit>()V .locals 1 const-string v0, "droidguard" invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V return-void .end method
рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ рд╡рд╛рдкрд╕ .dex рдореЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП backsmali рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ .jar рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ рд╣рдореЗрдВ .jar рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ -
рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ , рд╡реИрд╕реЗред
рд╕рдВрдкреВрд░реНрдг DroidGuard- рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрднрд╛рдЧ рд▓рдВрдмреЗ рддрд╛рд░ рдХрд╛ рдПрдХ рдЬреЛрдбрд╝рд╛ рд╣реИред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рдПрдВрдЯреА-
DroidGuard
рд╕реЗрд╡рд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдмрд╛рдЗрдЯ рд╕рд░рдгреА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рдФрд░ рдЗрд╕реЗ
DroidGuard
рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ
DroidGuard
:
private fun runDroidguard() { var byteCode: ByteArray? = loadBytecode("bytecode.base64"); byteCode?.let { val droidguard = DroidGuard(applicationContext, "addAccount", it) val params = mapOf("dg_email" to "test@gmail.com", "dg_gmsCoreVersion" to "910055-30", "dg_package" to "com.google.android.gms", "dg_androidId" to UUID.randomUUID().toString()) droidguard.init() val result = droidguard.ss(params) droidguard.close() } }
рдЕрдм рд╣рдо Android Studio рдХреЗ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ DroidGuard рдХреЗ рдХрд╛рд░реНрдп рдХреЗ рджреМрд░рд╛рди рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ:

InitNative () рдореВрд▓ рд╡рд┐рдзрд┐ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рддреА рд╣реИ рдФрд░ рдЬрд╛рд╡рд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рддреА рд╣реИ
hasSystemFeature(), getMemoryInfo(), getPackageInfo()
... рдпрд╣ рдХреБрдЫ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рдХреЛрдИ рдареЛрд╕ рддрд░реНрдХ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИред рдЦреИрд░, рдЬреЛ рдХреБрдЫ рднреА рд╢реЗрд╖ рд╣реИ рд╡рд╣ .so рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реИред
libdroidguard.so
рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдореВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЕрдзрд┐рдХ рдХрдард┐рди рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд╕реЗ .dex рдФрд░ .jar рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рдореЗрдВ Hex-Rays IDA рдХреЗ рд╕рдорд╛рди рдРрдк рдФрд░ x86 рдпрд╛ ARM рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдХреЗ рдХреБрдЫ рдЬреНрдЮрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореИрдВрдиреЗ рдПрдЖрд░рдПрдо рдХреЛ рдЪреБрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╣рд┐рдд рдЙрдкрдХрд░рдг рдерд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдПрдХ рдПрдо 86 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ x86 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдбрд┐рдмрдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рд╣реЗрдХреНрд╕-рдХрд┐рд░рдгреЛрдВ рдХреЗ рд╕рдорд╛рди рдПрдХ рдРрдк рдЖрдИрдбреАрдП рдмрд╛рдЗрдирд░реА рдХреЛ рд╕реА рдХреЛрдб рд╕реЗ рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо
Java_com_google_ccc_abuse_droidguard_DroidGuard_ssNative
рддрд░реАрдХрд╛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦреЗрдВрдЧреЗ:
__int64 __fastcall Java_com_google_ccc_abuse_droidguard_DroidGuard_initNative(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9) ... v14 = (*(_DWORD *)v9 + 684))(v9, a5); v15 = (*(_DWORD *)v9 + 736))(v9, a5, 0); ...
рдмрд╣реБрдд рдЖрд╢рд╛рдЬрдирдХ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧреА рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдгреЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдбреАрдХреЛрдореНрдкрд╛рдЗрд▓рд░ рдЬреЗрдПрдирдЖрдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдВрдбреНрд░реЙрдЗрдб рдПрдирдбреАрдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ jni.h рдлрд╝рд╛рдЗрд▓ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ,
JNIEnv*
рдкрджреНрдзрддрд┐ рдХреЗ рдкрд╣рд▓реЗ рджреЛ рдкреИрд░рд╛рдореАрдЯрд░
JNIEnv*
рдФрд░
jobject (this)
ред рд╣рдо DroidGuard рдХреЗ рдЬрд╛рд╡рд╛ рдХреЛрдб рд╕реЗ рдЕрдиреНрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╣реА рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрд░реНрдерд╣реАрди рдСрдлрд╝рд╕реЗрдЯ JNI рдореЗрдердб рдХреЙрд▓ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ:
__int64 __fastcall Java_com_google_ccc_abuse_droidguard_DroidGuard_initNative(_JNIEnv *env, jobject thiz, jobject context, jstring flow, jbyteArray byteCode, jobject runtimeApi, jobject extras, jint loggingFd, int runningInAppSide) { ... programLength = _env->functions->GetArrayLength)(_env, byteCode); programBytes = (jbyte *)_env->functions->GetByteArrayElements)(_env, byteCode, 0); ...
рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдВрдЯреА-рдПрдмреНрдпреВрдЬ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдмрд╛рдЗрдЯ рдПрд░реЗ рдХреЛ рдЯреНрд░реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдзреИрд░реНрдп рд╣реИ, рддреЛ рд╣рдо ... рдирд┐рд░рд╛рд╢ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, "рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?" рдХрд╛ рдХреЛрдИ рд╕рд░рд▓ рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╢реБрджреНрдз, рдЖрд╕реБрдд рдмрд╛рдЗрдЯ рдХреЛрдб рд╣реИ, рдФрд░ рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рд╣реИред рдХреБрдЫ рдПрдИрдПрд╕ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╢реАрд░реНрд╖ рдкрд░ рдЫрд┐рдбрд╝рдХрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╡реАрдПрдо рдмрд╛рдЗрдЯ рдХреЛрдб, рдмрд╛рдЗрдЯ рдХреЛ рдмрд╛рдЗрдЯ рдФрд░ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд░ рдмрд╛рдЗрдЯ рдПрдХ рдХрдорд╛рдВрдб рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдСрдкрд░реЗрдВрдб рд╣реЛрддреЗ рд╣реИрдВред рдХрдИ рдХрдорд╛рдВрдб рдирд╣реАрдВ рд╣реИрдВ, рдХреЗрд╡рд▓ 70 рдХреЗ рдЖрд╕рдкрд╛рд╕: int рдкрдврд╝реЗрдВ, рдмрд╛рдЗрдЯ рдкрдврд╝реЗрдВ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрдврд╝реЗрдВ, рдЬрд╛рд╡рд╛ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдЧреБрдгрд╛ рдХрд░реЗрдВ, рдЕрдЧрд░-рдЧреЗрдЯ рдХрд┐рдП рдЧрдП рдЖрджрд┐ред
рдЬрд╛рдЧреЛ рдирд╡
рдореИрдВрдиреЗ рдЖрдЧреЗ рднреА рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕ рд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯ рдХреЛрдб рдХреА рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИ: рдХрднреА-рдХрднреА (рдкреНрд░рддреНрдпреЗрдХ рдпреБрдЧрд▓ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ) рдПрдХ рдмрд╛рд░ рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдмрд╛рдЗрдЯ-рдХрдорд╛рдВрдб рдЬреЛрдбрд╝реЗ рддрд▓реЗ рд╣реБрдП рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдиреЗ рдореБрдЭреЗ рд░реЛрдХрд╛ рдирд╣реАрдВ рдФрд░ рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдПрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдмрд╛рдЗрдЯ рдХреЛрдб рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдкрд░ рд╕рднреА рдирд┐рдпрдорд┐рдд рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдкрддрд╛ dlsym рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рд╡реАрдПрдо рдХреЗ рдореЗрд░реЗ рдЬрд╛рд╡рд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ 5 рдпрд╛ рддреЛ рддрд░реАрдХреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдФрд░ рджреБрд░реБрдкрдпреЛрдЧ рд╡рд┐рд░реЛрдзреА рд╕реЗрд╡рд╛ рдХреЗ рдмрд╛рдЗрдЯ рдХреЛрдб рдХреЗ рдкрд╣рд▓реЗ 25 рдЖрджреЗрд╢реЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рд╕реАрдЦрд╛ред 26 рд╡реЗрдВ рдЖрджреЗрд╢ рдкрд░ VM рдиреЗ рдмрд╛рдЗрдЯ рдХреЛрдб рд╕реЗ рдПрдХ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкрдврд╝рд╛ред рдпрд╣ рдЕрдЪрд╛рдирдХ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд┐рдзрд┐ рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рд╣реИред рджреВрд░ рд╣реИред
рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрдорд╛рдВрдб # 26
рд╡рд┐рдзрд┐ рдордВрдЧрд▓рд╛рдЪрд░рдг vm-> vm_method_table [2 * 0x77]
рд╡рд┐рдзрд┐ vmMethod_readString
рд╕реВрдЪрдХрд╛рдВрдХ 0x9d рд╣реИ
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд▓рдВрдмрд╛рдИ 0x0066 рд╣реИ
(рдирдИ рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ)
рдПрдиреНрдХреЛрдбреЗрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрд╛рдЗрдЯреНрд╕ EB 4E E6 DC 34 13 13 35 4A DD 55 B3 91 33 05 61 04 C0 54 FD 95 2F 18 72 04 C1 55 E1 92 28 11 66 04 DD 4F B3 94 33 35 0 0 C1 4E B2 DB 12 17 79 4F 92 55 рдПрдлрд╕реА DB 33 05 35 45 C6 01 F7 89 29 1F 71 43 C7 40 E1 9F 6B 1E 70 48 DE 4E B8 CD 75 44 23 23 14 14 A7 C2 7F 40 26 26 84 17 A2 BB 21 19 7A 43 рдбреАрдИ 44 рдмреАрдбреА 98 29 1 рдмреА
рдбрд┐рдХреЛрдбреНрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрд╛рдЗрдЯреНрд╕ 59 6F 75 27 72 65 20 6E 6F 74 20 6A 75 73 74 20 72 75 6E 6E 69 6E 67 20 73 74 72 69 69E 6 20 20F 6E 75 6F 75E 20 6E 21 20F 54 20F 54 6 рд╕реА 6 рдмреА 20 74 6 рдПрдл 20 75 73 20 61 74 20 64 72 72 6 рдПрдл 69 64 67 67 61 64 64 2 рдбреА 68 65 6 рд╕реА 6 рдПрдл 6 рдмреА 2 рдмреА 36 33 36 36 35 37 39 39 36 36 66 66 36 36 31 31 6 67 6 рдПрдл 67 6 рд╕реА 65 2 рдИ 63 6 рдПрдл 6 рдбреА
рдбрд┐рдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рд╣реИ ( рдЖрдк рд╣рдорд╛рд░реЗ .so рдкрд░ рдХреЗрд╡рд▓ рддрд╛рд░ рдирд╣реАрдВ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ! droidguard@google.com рдкрд░ рд╣рдорд╕реЗ рдмрд╛рдд рдХрд░реЗрдВ )
рдпрд╣ рдЕрдЬреАрдм рд╣реИред рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдиреЗ рдореБрдЭрд╕реЗ рдкрд╣рд▓реЗ рдХрднреА рдмрд╛рдд рдирд╣реАрдВ рдХреАред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧреБрдкреНрдд рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧреЗ, рддреЛ рдЖрдк рдкрд╛рдЧрд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рдЕрднреА рднреА рд╕рдордЭрджрд╛рд░ рдерд╛, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡реАрдПрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рджреБрд░реБрдкрдпреЛрдЧ-рд╡рд┐рд░реЛрдзреА рд╕реЗрд╡рд╛ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрддреНрддрд░реЛрдВ рдХреЗ рд╕реМ рдЬреЛрдбрд╝реЗ рдЪрд▓рд╛рдПред рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рд╣рд░ 25-30 рдХрдорд╛рдВрдб рдореЗрдВ рдмрд╛рдЗрдЯ рдХреЛрдб рдХреЗ рднреАрддрд░ рдПрдХ рд╕рдВрджреЗрд╢ рдЫрд┐рдкрд╛ рд╣реЛрддрд╛ рд╣реИред рд╡реЗ рдЕрдХреНрд╕рд░ рджреЛрд╣рд░рд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдиреАрдЪреЗ рдХреБрдЫ рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВред рдореИрдВрдиреЗ рдИрдореЗрд▓ рдкрддреЗ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐: рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдкрддрд╛ рдерд╛, "droidguard+tag@google.com" рдЬреИрд╕рд╛ рдХреБрдЫ, рдЯреИрдЧ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рдеред
droidguard@google.com: рдЕрдЬрдирдмреА рдордд рдмрдиреЛ!
рдЖрдк рдЕрдВрджрд░ рдкрд╣реБрдВрдЪ рдЧрдП! рд╣рдорд╕реЗ droidguard@google.com рдкрд░ рдмрд╛рдд рдХрд░реЗрдВ
рдпрд╛рддреНрд░реА рд╕реЗ droidguard@google.com рдХрд╛ рдЕрднрд┐рд╡рд╛рджрди! рдмреЛрд▓реЛ рд╣рд╛рдп!
рдХреНрдпрд╛ рдпрд╣ рдЦреЛрдЬрдирд╛ рдЖрд╕рд╛рди рдерд╛? droidguard@google.com рдЬрд╛рдирдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ
Droidguard@google.com рдкрд░ рд▓реЛрдЧ рдЖрдкрд╕реЗ рд╕реБрдирдиреЗ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ!
рдпрд╣ рд╕рдм рдХреНрдпрд╛ рд╣реИ? Droidguard@google.com рд╕реЗ рдкреВрдЫреЗрдВ ... рдЙрдиреНрд╣реЗрдВ рдкрддрд╛ рд╣реЛрдЧрд╛!
рдЕрд░реЗ! рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рджреЗрдЦрдХрд░ рдлреИрдВрд╕реАред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрднреА рддрдХ droidguard@google.com рд╕реЗ рдмрд╛рдд рдХреА рд╣реИ?
рдЖрдк рд╣рдорд╛рд░реЗ .so рдкрд░ рд╕рд┐рд░реНрдл рддрд╛рд░ рдирд╣реАрдВ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ! рд╣рдорд╕реЗ droidguard@google.com рдкрд░ рдмрд╛рдд рдХрд░реЗрдВ
рдХреНрдпрд╛ рдореИрдВ рдПрдХ рдЪреБрдирд╛ рд╣реВрдБ? рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ DroidGuard рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╡рд╛рдбрд╝ рдХрд░рдирд╛ рдмрдВрдж рдХрд░рдиреЗ рдФрд░ Google рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭрд╕реЗ рдРрд╕рд╛ рдкреВрдЫрд╛ рдерд╛ред
рдЖрдкрдХрд╛ рдлреЛрди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЛ рдИрдореЗрд▓ рдкрд░ рдкрд╛рдпрд╛ рдЬреЛ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ред рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ред рдмрд╛рдд рдпрд╣ рд╣реИ, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдФрд░ рдмрд╛рдЗрдЯ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдмрд╛рдЗрдЯ рдХреЛрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реАрдПрдо рдиреЗ рдЙрдиреНрд╣реЗрдВ рд╕рдВрдХрд▓рдХ рджреНрд╡рд╛рд░рд╛ рдЗрдирд╕рд┐рд╕реНрдЯреЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреАрдХреЛрдб рдХрд┐рдпрд╛ред рд╣реЗрдХреНрд╕-рд░реЗрдЬ рдЖрдИрдбреАрдП рдХреЗ рд╕рдорд╛рди рдРрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдЖрд╕рд╛рдиреА рд╕реЗ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рд░ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓рд╛рд╡ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рдЙрдиреНрд╣реЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдЕрд╕реБрд╡рд┐рдзрд╛ рд╣реЛрддреА рд╣реИред
рд▓реЗрдХрд┐рди рдореВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЬрд╛рд╡рд╛-рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╕рд╛рдмрд┐рдд рд╣реБрдЖред
Jelf (ELF рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдо рдмрд╛рдЗрдирд░реА рдореЗрдВ
Java_com_google_ccc_abuse_droidguard_DroidGuard_initNative
рд╡рд┐рдзрд┐ рдХреА рдСрдлрд╝рд╕реЗрдЯ
Java_com_google_ccc_abuse_droidguard_DroidGuard_initNative
, рдФрд░ рдлрд┐рд░
Capstone (рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ
Java_com_google_ccc_abuse_droidguard_DroidGuard_initNative
рдврд╛рдБрдЪрд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рддреЗ рд╣реИрдВред рд░рдЬрд┐рд╕реНрдЯреНрд░рд┐рдпреЛрдВред
рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдПрдХ рдРрдк рдорд┐рд▓рд╛, рдЬрд┐рд╕рдиреЗ рд╕рдВрдкреВрд░реНрдг DroidGuard рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛: рд╡рд┐рд░реЛрдзреА рджреБрд░реБрдкрдпреЛрдЧ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рдбрд╛рдЙрдирд▓реЛрдб .apk рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдирдкреИрдХ рдХрд░рддрд╛ рд╣реИ, рджреЗрд╢реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рд╡реАрдПрдо рдХрдорд╛рдВрдбреЛрдВ рдХреА рдореИрдкрд┐рдВрдЧ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ рдФрд░ред рдмрд╛рдЗрдЯ рдХреЛрдб рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдпрд╣ рд╕рдм рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ Google рдХреЛ рднреЗрдЬ рджрд┐рдпрд╛ред рдЬрдм рдореИрдВ рдЙрд╕ рдкрд░ рдерд╛, рдореИрдВрдиреЗ рдПрдХ рдХрджрдо рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░реА рд╢реБрд░реВ рдХрд░ рджреА рдФрд░ Google рдкрд░ рдФрд╕рдд рд╡реЗрддрди рдХреЗ рд▓рд┐рдП Glassdoor рдХреА рдЦреЛрдЬ рдХреАред рдореИрдВрдиреЗ рдЫрд╣ рдЖрдВрдХрдбрд╝реЛрдВ рд╕реЗ рдХрдо рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЬрд╡рд╛рдм рд▓рдВрдмрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ред DroidGuard рдЯреАрдо рдХреЗ рдПрдХ рд╕рджрд╕реНрдп рдХрд╛ рдПрдХ рдИрдореЗрд▓ рдмрд╕ рдкрдврд╝реЗрдВ: "рдЖрдк рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?"

"рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ" - рдореИрдВрдиреЗ рдЙрддреНрддрд░ рджрд┐рдпрд╛ред Google рдХреЗ рдПрдХ рдХрд░реНрдордЪрд╛рд░реА рдиреЗ рдореБрдЭреЗ рд╕рдордЭрд╛рдпрд╛ рдХрд┐ DroidGuard рдХреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЛ рд╣реИрдХрд░реНрд╕ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд╣рддреЗ!) рдФрд░ рдЕрдкрдиреЗ DroidGuard VM рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдкрд╛рд╕ рд░рдЦрдирд╛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╣реЛрдЧреАред рд╣рдорд╛рд░реА рдмрд╛рддрдЪреАрдд рд╡рд╣реАрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИред
рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░
рдПрдХ рдорд╣реАрдиреЗ рдмрд╛рдж рдореБрдЭреЗ рдПрдХ рдФрд░ рдИрдореЗрд▓ рдорд┐рд▓рд╛ред рдЬреНрдпреВрд░рд┐рдЦ рдореЗрдВ DroidGuard рдЯреАрдо рдХреЛ рдПрдХ рдирдП рдХрд░реНрдордЪрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдХреНрдпрд╛ рдореБрдЭреЗ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА? рдмреЗрд╢рдХ!
Google рдореЗрдВ рдЖрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╢реЙрд░реНрдЯрдХрдЯ рдирд╣реАрдВ рд╣реИрдВред рдореЗрд░реЗ рд╕рднреА рд╕рдВрдкрд░реНрдХ рдореЗрд░реЗ CV рдХреЛ рдорд╛рдирд╡ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рднрд╛рдЧ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рдереЗред рдЙрд╕рдХреЗ рдмрд╛рдж рдореБрдЭреЗ рд╕рд╛рдорд╛рдиреНрдп рдиреМрдХрд░рд╢рд╛рд╣реА рдХрдареЛрд░рддрд╛ рдФрд░ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдкрдбрд╝рд╛ред
Google рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдХрд╣рд╛рдирд┐рдпрд╛рдБ рд╣реИрдВред рдПрд▓реНрдЧреЛрд░рд┐рджрдо, рдУрд▓рдВрдкрд┐рдпрд╛рдб рдХрд╛рд░реНрдп рдФрд░ Google рдбреЙрдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрд░реА рдЪреАрдЬ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдиреА рддреИрдпрд╛рд░реА рд╢реБрд░реВ рдХрд░ рджреАред рдореИрдВрдиреЗ рджрд░реНрдЬрдиреЛрдВ рдмрд╛рд░ "рдПрд▓рдЧреЛрд░рд┐рджрдо" рдХреЛрд░реНрд╕ рдХреЛрд░реНрдЯреЗрд░рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝рд╛, рд╣реИрдХрд░реНрд░реИрдВрдХ рдкрд░ рд╕реИрдХрдбрд╝реЛрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░реА рдЖрдВрдЦреЛрдВ рдХреЗ рд╕рд╛рде рджреЛрдиреЛрдВ рдЖрдпрд╛рдореЛрдВ рдореЗрдВ рдПрдХ рдЧреНрд░рд╛рдл рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдирд╛ рд╕реАрдЦ рд▓рд┐рдпрд╛ред
рджреЛ рдорд╣реАрдиреЗ рдЧреБрдЬрд░ рдЧрдПред рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдПрдХ рддреИрдпрд╛рд░реА рд╣реЛрдЧреАред Google рдбреЙрдХреНрд╕ рдореЗрд░реА рдкрд╕рдВрджреАрджрд╛ рдЖрдИрдбреАрдИ рдмрди рдЧрдИред рдореБрдЭреЗ рд▓рдЧрд╛ рдЬреИрд╕реЗ рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкрддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдореИрдВ рдЕрдкрдиреА рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рдЬрд╛рдирддрд╛ рдерд╛ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рдерд╛ рдХрд┐ рдореИрдВ рд╢рд╛рдпрдж рдЬреНрдпреВрд░рд┐рдЦ рдореЗрдВ 5 рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░реЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдбрд┐рдЬреНрдиреАрд▓реИрдВрдб рдореЗрдВ рдореБрдлреНрдд рдореЗрдВ рдЬрд╛рдирд╛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдЗрдирд╛рдо рдерд╛ред рдкрд╣рд▓рд╛ рдХрджрдо рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреЗ рд╕рдмрд╕реЗ рдХрдордЬреЛрд░ рдЦрд░рдкрддрд╡рд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдлреЛрди рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдерд╛ рдФрд░ рдЗрди-рдкрд░реНрд╕рди рдореАрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЬреНрдпреВрд░рд┐рдЦ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рдордп рдХреЛ рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдирд╛ рдерд╛ред рджрд┐рди рдврд▓ рдЧрдпрд╛, рдлреЛрди рдмрдЬ рдЙрдард╛ ...

... рдФрд░ рдореИрдВрдиреЗ рддреБрд░рдВрдд рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рдХрд░ рджрд┐рдпрд╛ред рдореИрдВ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реЛ рдЧрдпрд╛ - рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╕рд╡рд╛рд▓ рдкреВрдЫрд╛ рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рджреЗрдЦрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рдХрд░ рдЪреБрдХрд╛ рд╣реВрдВред рдпрд╣ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕рд░рдгреА рдХреЛ рдХреНрд░рдордмрджреНрдз рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдерд╛ред рдореИрдВрдиреЗ рдмреЗрд╕ 64 рдореЗрдВ рддрд╛рд░реЛрдВ рдХреЛ рдХреЛрдб рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╡рд┐рднрдХреНрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреАред рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░рдХрд░реНрддрд╛ рдиреЗ рдореБрдЭреЗ рдмреЗрд╕ 64 рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдЙрд╕рдХреЗ рдмрд╛рдж рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдПрдХ рдПрдХрд╛рд▓рд╛рдк рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛, рдЬрд╣рд╛рдВ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдиреЗ рдореБрдЭреЗ рд╕рдордЭрд╛рдпрд╛ рдХрд┐ рдмреЗрд╕ 64 рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдЬрд╛рд╡рд╛ рдореЗрдВ рдмрд┐рдЯ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред
рдЕрдЧрд░ Google рдкрд░ рдХреЛрдИ рднреА рдЗрд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реИрджреЛрд╕реНрддреЛрдВ, рдЕрдЧрд░ рдЖрдк рд╡рд╣рд╛рдБ рд╣реИрдВ рддреЛ рдЖрдк рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА рд╣реИрдВ! рдЧрдВрднреАрд░рддрд╛ рд╕реЗред рдореИрдВ рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдХреЛрдИ рдЖрдкрдХреЗ рд╕рд╛рдордиреЗ рд░рдЦреА рд╕рднреА рдмрд╛рдзрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рджреВрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдХреЙрд▓ рдХреЗ 3 рджрд┐рди рдмрд╛рдж рдореБрдЭреЗ рдПрдХ рдИрдореЗрд▓ рдорд┐рд▓рд╛, рдЬрд┐рд╕рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рд╡реЗ рдореБрдЭреЗ рдФрд░ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗред рдФрд░ рдЗрд╕реА рддрд░рд╣ Google рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рд╕рдВрдЪрд╛рд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред
рдХреНрдпреЛрдВ DroidGuard рдореЗрдВ рд╕рдВрджреЗрд╢ рдЪреИрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, рдореБрдЭреЗ рдЕрднреА рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж рд╕рд┐рд░реНрдл рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдПред рдЬрд┐рд╕ рд▓рдбрд╝рдХреЗ рдХреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рд▓рд┐рдЦрд╛ рдерд╛, рдЙрд╕рдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣рд╛рдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрд╡реГрддреНрддрд┐ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИ: рдХрднреА-рдХрднреА рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ 3 рдЬрд╡рд╛рдм рдорд┐рд▓рддреЗ рд╣реИрдВ, рдХрднреА-рдХрднреА 1 рд╡рд░реНрд╖ рдореЗрдВред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ Google рдкрд░ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдЖрд╕рд╛рди рддрд░реАрдХреЗ рд╣реИрдВред рдЖрдЦрд┐рд░рдХрд╛рд░, рдЖрдк рдмрд╕ 100,000 рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рд╕реЗ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдирд╣реАрдВ рд╣реИрдВ, рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ)ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рдПрдХ рдордЬреЗрджрд╛рд░ рдЕрдиреБрднрд╡ рдерд╛ред