L3MON搭建(基于云端的远程安卓管理套件)

免责声明

本文章只提供学习交流和技术分享,禁止用于进行一切不合法行为,软件本为开源,本人只是介绍安装技术,如果进行违法犯罪活动与本人无关,请大家遵纪守法,做合法公民,健康上网,远离犯罪。

软件介绍

L3MON是一个基于云端的远程安卓管理套件
可以通过云端管理以下资料访问
手机短信
通话记录、通话时长
手机系统的文件
手机安装的程序
GPS定位
浏览器页面访问记录
在这里插入图片描述

环境要求

首先要求java运行环境为java 1.8.0

在这里插入图片描述

安装node.js和npm

在这里推荐这篇文章

https://blog.csdn.net/dongyanwen6036/article/details/77529189
但是要注意,推荐文章中的node.js和npm的版本较低,需要大家去官网下载高版本安装包

安装PM2

npm install pm2 -g

如果安装npm时使用的是我上面提供的链接,记得用ln -s命令把pm2设置为全局命令

下载L3MON

链接:https://pan.baidu.com/s/1WGjAJtortpEnQ-SuyCpHaA 
提取码:C1Y0

下载后在kali中解压,我将压缩包在/root文件夹下,解压后将文件更名为L3MON

配置L3MON

cd /L3MON
npm install

在这里插入图片描述
可能会出现以下问题
在这里插入图片描述
执行

npm audit fix

运行L3MON

pm2 start index.js

在这里插入图片描述

pm2 startup

在这里插入图片描述

配置账户

先暂停L3MON服务

pm2 stop index

在这里插入图片描述
传建maindb.json文件夹并进行编辑

vi maindb.json

编辑内容

{
  "admin":{
    "username":"admin",
    "password":"25d55ad283aa400af464c76d713c07ad",
    "loginToken":"",
    "logs":[],
    "iplog":[]

},  
  "clients":[]

}

这里注意username和password可以自定义,其中password要进行小写字母的MD5加密,我这里的密码是12345678的MD5加密

重启L3MON服务

pm2 restart all

在这里插入图片描述

配置APK

在浏览器里通过http://[你的IP地址]:22533访问,并进行登录。

在这里插入图片描述

创建APK

在这里插入图片描述
设置好自己服务器的IP和端口,点击Build

点击Download即可下载APK
在这里插入图片描述
在这里插入图片描述
让手机下载并安装apk则会被监听。
在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
以下是基于 Java 的养老院管理系统注册登录界面代码,包括注册和登录页面: 注册页面代码: ``` import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class Register extends JFrame implements ActionListener { JLabel l1, l2, l3, l4, l5, l6, l7; JTextField tf1, tf2, tf5, tf6, tf7; JPasswordField p1, p2; JButton btn1, btn2; Register() { setVisible(true); setSize(700, 700); setLayout(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("Registration Form in Java"); l1 = new JLabel("Registration Form in Windows Form:"); l1.setForeground(Color.blue); l1.setFont(new Font("Serif", Font.BOLD, 20)); l2 = new JLabel("Name:"); l3 = new JLabel("Email-ID:"); l4 = new JLabel("Create Passowrd:"); l5 = new JLabel("Confirm Password:"); l6 = new JLabel("Country:"); l7 = new JLabel("State:"); tf1 = new JTextField(); tf2 = new JTextField(); p1 = new JPasswordField(); p2 = new JPasswordField(); tf5 = new JTextField(); tf6 = new JTextField(); tf7 = new JTextField(); btn1 = new JButton("Submit"); btn2 = new JButton("Clear"); btn1.addActionListener(this); btn2.addActionListener(this); l1.setBounds(100, 30, 400, 30); l2.setBounds(80, 70, 200, 30); l3.setBounds(80, 110, 200, 30); l4.setBounds(80, 150, 200, 30); l5.setBounds(80, 190, 200, 30); l6.setBounds(80, 230, 200, 30); l7.setBounds(80, 270, 200, 30); tf1.setBounds(300, 70, 200, 30); tf2.setBounds(300, 110, 200, 30); p1.setBounds(300, 150, 200, 30); p2.setBounds(300, 190, 200, 30); tf5.setBounds(300, 230, 200, 30); tf6.setBounds(300, 270, 200, 30); tf7.setBounds(80, 310, 400, 30); btn1.setBounds(50, 350, 100, 30); btn2.setBounds(170, 350, 100, 30); add(l1); add(l2); add(tf1); add(l3); add(tf2); add(l4); add(p1); add(l5); add(p2); add(l6); add(tf5); add(l7); add(tf6); add(tf7); add(btn1); add(btn2); } public void actionPerformed(ActionEvent e) { if (e.getSource() == btn1) { int x = 0; String s1 = tf1.getText(); String s2 = tf2.getText(); char[] s3 = p1.getPassword(); char[] s4 = p2.getPassword(); String s8 = new String(s3); String s9 = new String(s4); String s5 = tf5.getText(); String s6 = tf6.getText(); String s7 = tf7.getText(); if (s8.equals(s9)) { try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysqljdbc", "root", "root"); PreparedStatement ps = con.prepareStatement("insert into reg values(?,?,?,?,?,?,?)"); ps.setString(1, s1); ps.setString(2, s2); ps.setString(3, s8); ps.setString(4, s9); ps.setString(5, s5); ps.setString(6, s6); ps.setString(7, s7); ResultSet rs = ps.executeQuery(); x++; if (x > 0) { JOptionPane.showMessageDialog(btn1, "Data Saved Successfully"); } } catch (Exception ex) { System.out.println(ex); } } else { JOptionPane.showMessageDialog(btn1, "Password Does Not Match"); } } else { tf1.setText(""); tf2.setText(""); p1.setText(""); p2.setText(""); tf5.setText(""); tf6.setText(""); tf7.setText(""); } } } ``` 登录页面代码: ``` import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class Login extends JFrame implements ActionListener { JLabel l1, l2, l3; JTextField tf1; JPasswordField pf2; JButton btn1, btn2; Login() { setVisible(true); setSize(700, 700); setLayout(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("Login Form in Windows Form:"); l1 = new JLabel("Login Form:"); l1.setForeground(Color.blue); l1.setFont(new Font("Serif", Font.BOLD, 20)); l2 = new JLabel("Username:"); l3 = new JLabel("Password:"); tf1 = new JTextField(); pf2 = new JPasswordField(); btn1 = new JButton("Login"); btn2 = new JButton("Clear"); btn1.addActionListener(this); btn2.addActionListener(this); l1.setBounds(100, 30, 400, 30); l2.setBounds(80, 70, 200, 30); l3.setBounds(80, 110, 200, 30); tf1.setBounds(300, 70, 200, 30); pf2.setBounds(300, 110, 200, 30); btn1.setBounds(50, 160, 100, 30); btn2.setBounds(170, 160, 100, 30); add(l1); add(l2); add(tf1); add(l3); add(pf2); add(btn1); add(btn2); } public void actionPerformed(ActionEvent e) { if (e.getSource() == btn1) { int x = 0; String s1 = tf1.getText(); char[] s2 = pf2.getPassword(); String s3 = new String(s2); try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysqljdbc", "root", "root"); PreparedStatement ps = con.prepareStatement("select * from reg where uname=? and pass=?"); ps.setString(1, s1); ps.setString(2, s3); ResultSet rs = ps.executeQuery(); if (rs.next()) { JOptionPane.showMessageDialog(btn1, "You have successfully logged in"); } else { JOptionPane.showMessageDialog(btn1, "Incorrect username or password"); } } catch (Exception ex) { System.out.println(ex); } } else { tf1.setText(""); pf2.setText(""); } } ``` 注意:该代码需要连接 MySQL 数据库。如果您没有安装 MySQL 数据库或不知道如何连接数据库,请查阅相关资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C1yas0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值