AhMyth / AhMyth-Android-RAT

Android Remote Administration Tool
GNU General Public License v3.0
4.3k stars 1.67k forks source link

Can't select apk to bind with #272

Open tremon36 opened 3 years ago

tremon36 commented 3 years ago

I believe this is a problem with electron version. However, I don't know which version I should use When I click "browse apk", file manager opens, I select the apk file and click on confirm, but it's not selected after that, and build says "Browse the apk which you want to bind". Maybe it has something to do with this warning? "Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead." Also, if I install the latest stable version of electron, interface in general doesn't work.

Morsmalleo commented 3 years ago

I solved this problem by installing openjdk-8-jdk

vUdav commented 3 years ago

I solved this problem. On file AhMyth-Server/app/app/assets/js/controllers/AppCtrl.js change $appCtrl.BrowseApk method to promise:

    $appCtrl.BrowseApk = () => {
        dialog.showOpenDialog({}, {
            properties: ['openFile']
        }).then(result => {
            if(result.canceled) {
                $appCtrl.Log("No file selected");
            } else {
                $appCtrl.Log("File choosen  " + result.filePaths[0]);
                readFile(result.filePaths[0]);
            }
        }).catch(() => {
            $appCtrl.Log("No file selected");
        })

        function readFile(filepath) {
            $appCtrl.filePath = filepath;
            $appCtrl.$apply();
        }
    }
Morsmalleo commented 3 years ago

I solved this problem. On file AhMyth-Server/app/app/assets/js/controllers/AppCtrl.js change $appCtrl.BrowseApk method to promise:

    $appCtrl.BrowseApk = () => {
        dialog.showOpenDialog({}, {
            properties: ['openFile']
        }).then(result => {
            if(result.canceled) {
                $appCtrl.Log("No file selected");
            } else {
                $appCtrl.Log("File choosen  " + result.filePaths[0]);
                readFile(result.filePaths[0]);
            }
        }).catch(() => {
            $appCtrl.Log("No file selected");
        })

        function readFile(filepath) {
            $appCtrl.filePath = filepath;
            $appCtrl.$apply();
        }
    }

Your a life saver, i forgot it was openjdk-8-jdk that solves the signing failed error when binding with APK's.

This browsing for the APK problem however, used to be solved by running npm install electron-nightly, but doing that now causes the user interface to not work all together.

changing what was in the AppCtrl.js file to what you have posted here has fixed the browsing problem. AhMyth now selects APK files to bind with.

The Signing failed error that follows afterwards is solved by installing openjdk-8-jdk from Debian Stretch for Kali users, Parrot users they can still install it from the Parrot mirror software repos

tremon36 commented 3 years ago

I solved this problem. On file AhMyth-Server/app/app/assets/js/controllers/AppCtrl.js change $appCtrl.BrowseApk method to promise:

    $appCtrl.BrowseApk = () => {
        dialog.showOpenDialog({}, {
            properties: ['openFile']
        }).then(result => {
            if(result.canceled) {
                $appCtrl.Log("No file selected");
            } else {
                $appCtrl.Log("File choosen  " + result.filePaths[0]);
                readFile(result.filePaths[0]);
            }
        }).catch(() => {
            $appCtrl.Log("No file selected");
        })

        function readFile(filepath) {
            $appCtrl.filePath = filepath;
            $appCtrl.$apply();
        }
    }

Man thank you very much. I was myself going crazy searching for THAT method haha. Couldn't find it so I gave up. May I ask how did you find it?

vUdav commented 3 years ago

Man thank you very much. I was myself going crazy searching for THAT method haha. Couldn't find it so I gave up. May I ask how did you find it?

Just read official documentation) https://www.electronjs.org/docs/api/dialog#dialogshowopendialogbrowserwindow-options

depthab commented 3 years ago

I solved this problem. On file AhMyth-Server/app/app/assets/js/controllers/AppCtrl.js change $appCtrl.BrowseApk method to promise:

    $appCtrl.BrowseApk = () => {
        dialog.showOpenDialog({}, {
            properties: ['openFile']
        }).then(result => {
            if(result.canceled) {
                $appCtrl.Log("No file selected");
            } else {
                $appCtrl.Log("File choosen  " + result.filePaths[0]);
                readFile(result.filePaths[0]);
            }
        }).catch(() => {
            $appCtrl.Log("No file selected");
        })

        function readFile(filepath) {
            $appCtrl.filePath = filepath;
            $appCtrl.$apply();
        }
    }

after doing this port forwarding doesn't work but the binding works tho. any fix for that?

kernelhun commented 3 years ago

@Morsmalleo I updated AppCtrl.js, I installed java 8, but at the same time,when I build an apk file,I show: Building failed. if you do not merge two apk files,but simply build an apk without merging with another apk, then everything works perfectly! but without merging apk files, it makes little sense.I've already tried everything, and it doesn't work.

kernelhun commented 3 years ago

@Morsmalleo do you have the apk file merge working?

Morsmalleo commented 3 years ago

Yes I do, you have to understand that this wont bind with modern APK files, it will only work on older APK files as well as older Android versions, I do believe anything from Android 6.0 and up will have issues with AhMyth,

Morsmalleo commented 3 years ago

@Morsmalleo do you have the apk file merge working?

if you git clone AhMyth from my GitHub, and install it the same way you would with this one, then you should find that problem you are experiencing is fixed, if it hasn't create an issue and ill have a look at the code some more.

or you can run the Setup.sh file that installs AhMyth and the required version of openjdk for AhMyth to work properly, after that you can just run npm start

NOTE: If you keep your software repo's in /etc/apt/sources.list.d/ then it would be a good idea to move your software repo's to /etc/apt/sources.list instead if you are planning on running the Setup.sh file to install AhMyth completely

either way it should work now, it has every time Ive tested it from my GitHub via git clone and running the Setup.sh I made for it

Morsmalleo commented 3 years ago

@Morsmalleo do you have the apk file merge working?

Another thing try running update-alternatives --config java to switch your Java version to 8