рд╣реЗрд▓реЛ рд╣рдмреНрд░!
рдХреБрдЫ рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рдЬрдм рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдВрдбреНрд░реЙрдЗрдб рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдЖ, рддреЛ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рд╕рд╣рдпреЛрдЧреА рд╕реЗ рд╕реБрдирд╛ рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рд╕рдВрд╢реЛрдзрд┐рдд рдпрд╛ рдЕрд╕реНрдерд╛рдпреА рдлрд░реНрдорд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕рдЪ рдХрд╣реВрдВ, рддреЛ рдореИрдВ рдЗрд╕рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдерд╛ред рдФрд░ рдЖрдзреЗ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рднреА, рдореБрдЭреЗ рдРрд╕реА рдЪреАрдЬреЛрдВ рдореЗрдВ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдкреА рдереАред рдореЗрд░реА рдЖрддреНрдорд╛ рдореЗрдВ рдЧрд╣рд░реА, рдореБрдЭреЗ рдпрдХреАрди рдерд╛ рдХрд┐ рдирд┐рд░реНрдорд╛рддрд╛ рдЬреЛ рдХрд░ рд░рд╣рд╛ рдерд╛ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдерд╛ред
рдЪреАрди рд╕реЗ рдПрдХ рдлреЛрди рдЦрд░реАрджрдиреЗ рдкрд░ рдореЗрд░реА рдирд┐рд░рд╛рд╢рд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ рдлрд╝реИрдХреНрдЯрд░реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ Google, рд╕реНрдХрд╛рдЗрдк, рдлреЗрд╕рдмреБрдХ рдФрд░ рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдордирд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдВрдЦ рдмрдВрдж рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рдореЗрд░реЗ рдлреЛрди рдХрд╛ рдорддрд▓рдм Google рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдирд╣реАрдВ рдерд╛, рддреЛ рдореИрдВрдиреЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред
рдЖрдзрд╛ рд╕рд╛рд▓ рдмреАрдд рдЪреБрдХрд╛ рд╣реИ рдФрд░ рджреБрдирд┐рдпрд╛ рднрд░ рдореЗрдВ рдореЗрд░реЗ рдХрд╕реНрдЯрдо рдлрд╝рд░реНрдорд╡рд╛рд░реЛрдВ рдХрд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд▓реЗрдЦреЛрдВ рдХреА рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧреА рдХрд┐ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдкреИрдЪ, рдЯреНрд╡реАрдХреНрд╕ рдФрд░ рдореЙрдб рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдФрд░ рдЗрд╕рд▓рд┐рдП! рдЖрдЗрдП рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЙрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рдЬреЛ
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕рдордЭ рдмрд╣реБрдд рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред
рдкреИрдЪ - рдкреНрд░реЛрдЧреНрд░рд╛рдо рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдмрджрд▓рдирд╛ рдпрд╛ рдмрджрд▓рдирд╛ред
рдореЙрдб - рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдирд╛ред
Tweak - рд╕рд┐рд╕реНрдЯрдо рдорд╛рдкрджрдВрдбреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ред
рдореИрдВ рдпрд╣ рднреА рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдПрдЪрдЯреАрд╕реА рдлреЛрди рдХреЗ рд▓рд┐рдП рд▓рд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдлреЛрди рдкрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐, рдПрдХ рд▓реЗрдЦрдХ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдиреАрдЪреЗ рджреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрдкрдХреЗ рдлреЛрди рдкрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдиреБрдХрд╕рд╛рди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рд╣реВрдВред
рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рддреИрдпрд╛рд░реА
рдореИрдВ рдЗрд╕ рдпрд╛ рдЙрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ рдФрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдкреНрд░рдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдирд┐рд░реНрджреЗрд╢, рд▓реЗрдЦ рдФрд░ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдУрдкрди рдПрдХреНрд╕реЗрд╕ рдореЗрдВ рднрд░реЗ рд╣реБрдП рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рд╣реИрдмреЗ рдореЗрдВ рд╣реИред рдореИрдВ рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд┐рдирд╛ рднреА рдкреНрд░рдмрдВрдзрди рдХрд░реВрдВрдЧрд╛, рдЕрдиреНрдпрдерд╛ рд▓реЗрдЦ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдФрд░ рдердХрд╛рдК рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рдХреЗрд╡рд▓ рд╡реНрдпрд╛рдкрд╛рд░ рдкрд░ рд▓рд┐рдЦреЗрдВрдЧреЗред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЦрдбрд╝рд╛ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдореИрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВред
рез ред
Android рдПрд╕рдбреАрдХреЗ ред рдпрд╣ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХрд╛ рдорд╛рд╣реМрд▓ рд╣реИред рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреА рд╣реЛрдЧреАред рдПрдХ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдорд╛рд╣реМрд▓ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
реи ред
Android рд░рд╕реЛрдИ ред рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЖрдкрдХреЛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдпрд╛ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рднрд╛рдЬрди рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
рей ред
рдЬреАрдпреВрдЖрдИ-рдЬрдж ред рдЬрд╛рд╡рд╛ рдХреЛрдб рдХрд╛ Decompilerред рдореИрдВ рддреБрд░рдВрдд рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдбреАрдХреЙрдореНрдкрд┐рд▓рд░ рд╣реИред
рек ред
рдбреАрдЬреЗ рдЬрд╛рд╡рд╛ Decompiler ред рдПрдХ рдФрд░ рдбрд┐рдХрдВрдкрд╛рдЗрд▓рд░, рдпрд╛ рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓рд░, рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рдЗрд╕реЗ рдЬрд╛рд╡рд╛ рдХреЛрдб рдХрд╣рддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╛рд░реНрд╕ рдХреЛрдб рдЬреЛ рдХрднреА-рдХрднреА рдЬреЗрдбреА-рдЬреАрдпреВрдЖрдИ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИред
рел ред
рдмрджрдмреВрджрд╛рд░ ред рдПрдХ рдФрд░ disassembler, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
dalvik рдХреЛрдбред рдмрджрдмреВ рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд▓реА рдХреА рдЬрд░реВрд░рдд рд╣реЛрддреА рд╣реИ, рдФрд░ рдмреИрдХрд╕рдорд▓реА рдХреЛрдб рдЕрд╕реЗрдВрдмрд▓реА рд╣реИред
рем ред
dex2jar ред Dalvik рдХреЛрдб рдХреА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ред
рдлрд░реНрдорд╡реЗрдпрд░ рд░реВрдкрд╛рдВрддрд░рдг
рдмреЗрд╢рдХ, рдирд┐рд░реНрдорд╛рддрд╛ рд╕реЗ рдЖрдкрдХреЗ рдлреЛрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдлрд░реНрдорд╡реЗрдпрд░ рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдПрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдпрдб рдХрд┐рдЪрди рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдерд╛, рдЬрдм рддрдХ рдореБрдЭреЗ рдпрд╣ рдмрд╣реБрдд "рд░рд╕реЛрдИ" рдирд╣реАрдВ рдорд┐рд▓рд╛ред рдлреЛрди рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХреИрд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИ, рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдбреАрдУрдУрдбреАрдПрдХреНрд╕ рдлрд░реНрдорд╡реЗрдпрд░ рдХрд░реЗрдВ, рдЖрдк рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рддрдХ рдЖрдк рдкрд░реНрдпрд╛рдкреНрдд рдЕрдиреБрднрд╡ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддрдм рддрдХ рд▓реЗрдЦ рдХреЛ рд╕реНрдердЧрд┐рдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред
рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реНрдб рдлреЙрд░реНрдо (ODEX - рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬреНрдб рдбреИрд▓реНрд╡рд┐рдХ рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯреЗрдмрд▓ рдХреЛрдб, рдЕрдЧрд░ рдореЗрдореЛрд░реА рдореБрдЭреЗ рд╕рд╣реА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рд╕реЗ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рдмрд╛рдж DEODEX рдмрди рдЧрдпрд╛ (рдпрд╛рдиреА рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛), рд╕рднреА рдПрдХреНрдЬрд╝реАрдХреНрдпреВрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓реНрд╕ рд╕рдВрд╢реЛрдзрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред
рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рд╕рдВрд╢реЛрдзрди
рдкреИрдЪ рдмрдирд╛рдирд╛
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдерд╛, рдореЗрд░реЗ рдлреЛрди рдореЗрдВ рд╢реБрд░реВ рдореЗрдВ Google рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рдерд╛ред рдареАрдХ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдЖрдк рдХреНрд░реИрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдкреНрд▓реЗрд╕реНрдЯреЛрд░ рдкрд░ рдирд╣реАрдВ рдЧрдП рд╣реИрдВ, рдЖрдкрдиреЗ рдЦрд╛рддрд╛ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИ, рдлреЛрди рдмреБрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИред рдРрд╕реЗ Android рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓реЙрдЧ рдореЗрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдкрд░, рдореБрдЭреЗ рдРрд╕реА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ рдЬрд┐рдирдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ Google рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рд╖рд┐рджреНрдз рд╣реИред рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рд╕рдмрд╕реЗ рдЕрд╕рд╣рдЬ, рдЖрдк рд▓реЙрдЧ рджреЗрдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕рд╛ рд╕рд┐рд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕реЗ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореЗрд░реЗ рдкреИрд░ рдХрд╣рд╛рдБ рдмрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдореБрдЭреЗ рдЬрд╛рд╡рд╛ рдХреЛрдб рдХреЛ рдбрд┐рд╕рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдерд╛ред рдмрд╣реБрдд рд╕рдордп рд▓рдЧ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рд╕рд╣реА рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдХрд┐рдП рдЧрдП рдХрд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдРрд╕реЗ рдЙрдкрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг рдирд┐рдореНрди рд╣реИрдВ:
рез ред рдкреВрд░реЗ рдлрд░реНрдорд╡реЗрдпрд░ рдмрдирд╛рдПрдВ
реи ред рдЖрдкрдХреЗ рдирдП DEODEX рдлрд░реНрдорд╡реЗрдпрд░ рдХреЛ рдлреЛрди рдкрд░ рдЗрдХрдЯреНрдард╛ рдФрд░ рдлреНрд▓реИрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣ рдПрдХ рдЕрдиреНрдп рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИред
рей ред / рд╕рд┐рд╕реНрдЯрдо / рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕реНрдерд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ, classes.dex рдлрд╝рд╛рдЗрд▓ рдХреЛ рдирд┐рдХрд╛рд▓реЗрдВ рдФрд░ рдЗрд╕реЗ dex2jar рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ JAR рдореЗрдВ рдмрджрд▓реЗрдВред
рек ред рдкреНрд░рддреНрдпреЗрдХ рдХреЛ JD-GUI рдореЗрдВ JAR рдЦреБрд▓рд╛ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдкреБрдирдГ рд╕рд╣реЗрдЬреЗрдВ
рел ред рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛрд▓рдирд╛ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореБрдЭреЗ рдХрдИ рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдорд┐рд▓реЗ рдЬреИрд╕реЗ рдХрд┐ JAR рдлрд╛рдЗрд▓реЗрдВ / рд╕рд┐рд╕реНрдЯрдо / рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдереЗ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдЬрд╛рд╡рд╛ рд╕реНрд░реЛрдд рд╕рдВрд░рдЪрдирд╛ рдереАред
рд╕рд░рд▓ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдореИрдВрдиреЗ рдЬрд▓реНрджреА рд╕реЗ рд▓реЙрдЧрдХреИрдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рди рдХреЛ рдвреВрдВрдв рд▓рд┐рдпрд╛ред
рд╣рдо рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рдкреВрд░реЗ рддрд░реНрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИред рдореБрдЭреЗ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдиреЗ рдкрдбрд╝реЗ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓реЗ рдХрд┐ рдЬрд╛рдБрдЪ рдХрд╣рд╛рдБ рдХреА рдЧрдИ рд╣реИ, рдЕрдкрдиреЗ рд╕рд┐рд░ рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦ рдмрдирд╛рдПрдБ рдФрд░ рд╕рдордЭреЗрдВ рдХрд┐ рдХрд╣рд╛рдБ рдЪрдврд╝рдирд╛ рд╣реИ, рддрд╛рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдереЛрдбрд╝рд╛ рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рдПред
рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реЛ рдЧрдпрд╛ред рдПрдХ рд╕рдмрд░реВрдЯреАрди рд╣реИ, рдЬреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдлреЛрди рдЪреАрди рдореЗрдВ рдерд╛ рдпрд╛ рдирд╣реАрдВред
рдХреЛрдб
HTCExtension.jar рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдерд╛, рдФрд░ рдЬрд┐рд╕ рд╡рд░реНрдЧ рдореЗрдВ рдпрд╣ рд░реВрдЯреАрди рдерд╛, рд╡рд╣ рдерд╛
com / htc \ use \ contact \ BuildUtils $ Customization.javaрдореВрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдирдкреИрдХ рдХрд░рдирд╛ рдФрд░ рдЙрд╕рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛
рез ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдореВрд▓ DEODEX JAR рдлрд╝рд╛рдЗрд▓ рд▓реЗрдиреА рд╣реЛрдЧреА, рдЬреЛ рдЙрд╕ рдХреЛрдб рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ,
HTCExtension.jar ред
реи ред рдХрд┐рд╕реА рднреА рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рд╛рде рдЦреЛрд▓реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ classes.dex рдЦреАрдВрдЪреЗрдВ
рей ред рдЗрд╕реЗ JAR рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП dex2jar рдХрдирд╡рд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЯреАрдо:
dex2jar.bat classes.dex
рек ред JD-GUI рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА classes_dex2jar.jar рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВред
рел ред рд╣рд╛рдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдЬреЗрдбреА-рдЬреАрдпреВрдЖрдИ рдХреЛрдб рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдореВрд▓ рдореЗрдВ рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд░реЛрдд рдореЗрдВ, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдмрд░реВрдЯреАрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рднрд╛рд╖рд╛ рдзреНрд╡рдЬ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдорд╛рдорд▓реЗ рдореЗрдВ, TRUE рдорд╛рди рд▓реМрдЯрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return true; return false; }
рем ред рдПрдХ рдкреИрдЪ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЦреБрдж Dalvik рдХреЛрдб рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдмрдХреНрд╕рдорд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдФрд░ рддреАрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ:
HTCExtension.jar ,
smali.jar рдФрд░
baksmali.jar ред рдХрдорд╛рдВрдб
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .
java -Xmx512m -jar baksmali.jar -a -d -o HTCExtension -x HTCExtension.jar
- API Android. JB - 16
- , .
java -Xmx512m -jar baksmali.jar -a 16 -d S:\dev\Android\Android-Kitchen\WORKING_JB_15\system\framework -o HTCExtension -x HTCExtension.jar
7 . HTCExtension, Dalvik .
8 . \com\htc\util\contacts\BuildUtils$Customization.java :
.method public static isChina()Z .registers 3 .prologue const/4 v0, 0x1 .line 276 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xd8 if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0xda if-eq v1, v2, :cond_13 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x17 if-ne v1, v2, :cond_14 .line 297 :cond_13 :goto_13 return v0 .line 283 :cond_14 sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S if-ne v1, v0, :cond_1d .line 285 const/4 v1, 0x2 sget-short v2, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_LANGUAGE_flag:S if-eq v1, v2, :cond_13 .line 291 :cond_1d sget-short v1, Lcom/htc/htcjavaflag/HtcBuildFlag;->Htc_PROJECT_flag:S const/16 v2, 0x1b if-eq v1, v2, :cond_13 .line 297 const/4 v0, 0x0 goto :goto_13 .end method
9 . , ? . , . , . ,
.prologue const/4 v0, 0x1
v0 1, TRUE. , , :
.line 297 const/4 v0, 0x0 goto :goto_13
10 . , :
.prologue const/4 v0, 0x0
, 1 0. , FALSE JD-GUI public static boolean isChina() { if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23)); while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27)) return false; return false; }
11 . , , . - . - . -
public static boolean isChina() { return false; }
12 . Dalvik ? .
Dalvik
1 . Android SDK.
2 . ,
package ru.habrahabr.test; public class test { public static boolean isChina() { return false; } }
3 . .
4 . , JAR .
5 . java -Xmx512m -jar baksmali.jar -a -d -o test -x test .apk
6 . Dalvik .
7 . test.smali
.method public static isChina()Z .registers 1 .prologue .line 7 const/4 v0, 0x0 return v0 .end method
8 . , .
1 . Dalvik , . , . .
2 . , () \com\htc\util\contacts\BuildUtils$Customization.java .
.method public static isChina()Z .registers 1 .prologue const/4 v0, 0x0 return v0 .end method
3 . . , , , Notepad++ EditPlus. .
JAR
1 . backsmali JAR , .
2 . java -Xmx512m -jar smali.jar -a 16 HTCExtension -o classes.dex
3 . classes.dex
4 . HTCExtension.jar classes.dex .
5 . , HTCExtension.jar .
, , recovery . . - , - .
1 . , DEODEX root :
adb push HTCExtension.jar /sdcard/HTCExtension.jar adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar of=/system/framework/HTCExtension.jar.back dd if=/sdcard/HTCExtension.jar of=/system/framework/HTCExtension.jar chmod 644 /system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
1-
2- shell
3- root
4- /
5-
6- .
7-
8-
9- .
2 . , .
3 . .
4 . , .
adb shell su mount -o remount -rw /system dd if=/system/framework/HTCExtension.jar.back of=/system/framework/HTCExtension.jar rm /data/dalvik-cache/system@framework@HTCExtension.jar@classes.dex reboot
, - , - -, - . . -, . -, , , .
. . .
PS - , - .