控制电脑网页版

查看 67|回复 9
作者:qqy123   
首先感谢@a147888123  吾友的提醒。
然后接下来是源码和效果图。
默认账号:root
默认密码:123456
exe文件:https://wwad.lanzn.com/ivfuM2gpxx7c
[Python] 纯文本查看 复制代码from flask import Flask, request, render_template_string, jsonify
import subprocess
import socket
'''
吾爱破解论坛 http://www.52pojie.cn
'''
app = Flask(__name__)
def get_local_ip():
    try:
        with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s:
            s.connect(("8.8.8.8", 53))
            return s.getsockname()[0]
    except:
        return "127.0.0.1"           # 如果电脑没有联网,请在这里手动设置服务端的局域网ip地址。
@app.route('/', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        data = request.form
        if 'username' in data and 'password' in data:
            username = data['username']
            password = data['password']
            print(f"Received username: {username}, password: {password}")
            if username == 'root' and password == '123456': # 这里是用户名和密码,请自行修改。
                return render_template_string('''
                    
                    
                    
                        登录成功
                        
                        
                            body {
                                font-family: Arial, sans-serif;
                                margin: 20px;
                            }
                            h1, h2 {
                                text-align: center;
                            }
                            /* 按钮样式 */
                            .btn {
                                padding: 10px 20px;
                                font-size: 16px;
                                margin: 5px;
                                border: none;
                                border-radius: 4px;
                                cursor: pointer;
                                background-color: #007bff;
                                color: white;
                            }
                            .btn:hover {
                                background-color: #0056b3;
                            }
                            /* 输入框样式 */
                            #command-input {
                                width: 100%;
                                height: 100px;
                                font-size: 16px;
                                padding: 10px;
                                resize: vertical;
                                border: 1px solid #ccc;
                                border-radius: 4px;
                                box-sizing: border-box;
                            }
                            /* 结果显示区域 */
                            #result {
                                margin-top: 20px;
                                padding: 10px;
                                border: 1px solid #ddd;
                                border-radius: 4px;
                                background-color: #f9f9f9;
                                white-space: pre-wrap; /* 保留换行 */
                            }
                            /* 执行按钮样式 */
                            #execute-button {
                                float: right;
                                margin-top: 10px;
                            }
                            /* 响应式设计 */
                            @media (max-width: 600px) {
                                .btn {
                                    width: 100%;
                                    font-size: 14px;
                                }
                                #command-input {
                                    height: 100px;
                                    font-size: 14px;
                                }
                                #execute-button {
                                    width: 100%;
                                    float: none;
                                }
                                #result {
                                    font-size: 14px;
                                }
                            }
                        
                    
                    
                        登录成功
                        
                            退出登录
                            关机
                            重启
                            休眠
                            锁定
                        
                        
                        执行命令
                        
                        执行
                        结果:
                        
                        
                    

                    
                ''')
            else:
                return jsonify({"message": "登录失败"}), 401
        else:
            return jsonify({"message": "缺少用户名或密码"}), 400
    else:
        return render_template_string('''
            
            
            
                登录
               
               
                    body {
                        font-family: Arial, sans-serif;
                        margin: 20px;
                    }
                    form {
                        max-width: 400px;
                        margin: 0 auto;
                    }
                    input[type="text"], input[type="password"] {
                        width: 100%;
                        padding: 10px;
                        margin: 10px 0;
                        border: 1px solid #ccc;
                        border-radius: 4px;
                        box-sizing: border-box;
                    }
                    input[type="submit"] {
                        width: 100%;
                        padding: 10px;
                        background-color: #28a745;
                        color: white;
                        border: none;
                        border-radius: 4px;
                        cursor: pointer;
                    }
                    input[type="submit"]:hover {
                        background-color: #218838;
                    }
                    @media (max-width: 600px) {
                        form {
                            max-width: 100%;
                        }
                    }
               
            
            
                登录
               
                    
                    
                    
               
            

            
        ''')
@app.route('/logout', methods=['GET'])
def logout():
    return jsonify({"message": "退出登录成功"}), 200
@app.route('/shutdown', methods=['GET'])
def shutdown():
    try:
        subprocess.run(["shutdown", "/s", "/t", "1"], check=True)
        return jsonify({"message": "关机成功"}), 200
    except subprocess.CalledProcessError as e:
        return jsonify({"message": "关机失败", "error": str(e)}), 500
@app.route('/restart', methods=['GET'])
def restart():
    try:
        subprocess.run(["shutdown", "/r", "/t", "1"], check=True)
        return jsonify({"message": "重启成功"}), 200
    except subprocess.CalledProcessError as e:
        return jsonify({"message": "重启失败", "error": str(e)}), 500
@app.route('/sleep', methods=['GET'])
def sleep():
    try:
        subprocess.run(["rundll32.exe", "powrprof.dll,SetSuspendState", "0,1,0"], check=True)
        return jsonify({"message": "休眠成功"}), 200
    except subprocess.CalledProcessError as e:
        return jsonify({"message": "休眠失败", "error": str(e)}), 500
@app.route('/lock', methods=['GET'])
def lock():
    try:
        subprocess.run(["rundll32", "user32.dll,LockWorkStation"], check=True)
        return jsonify({"message": "锁定成功"}), 200
    except subprocess.CalledProcessError as e:
        return jsonify({"message": "锁定失败", "error": str(e)}), 500
@app.route('/execute', methods=['POST'])
def execute():
    data = request.get_json()
    command = data.get('command', '')
    try:
        result = subprocess.run(command, shell=True, capture_output=True, text=True)
        output = result.stdout + result.stderr
        return jsonify({"output": output}), 200
    except Exception as e:
        return jsonify({"output": f"执行失败: {str(e)}"}), 500
if __name__ == '__main__':
    host_ip = get_local_ip()
    print(f"服务器绑定到IP: {host_ip}")
    app.run(host=host_ip, port=8180)

重启, 密码

luhuxixi   

学习学习
luyingluying   

研究研究
rzw1982   

这个exe文件直接管理员执行就可以了吗。好像打开了没反应
qqy123
OP
  


rzw1982 发表于 2024-11-30 20:55
这个exe文件直接管理员执行就可以了吗。好像打开了没反应

你不会被杀毒杀了吧?有黑框的,没隐藏


屏幕截图(7).jpg (52.29 KB, 下载次数: 0)
下载附件
2024-11-30 21:06 上传

jayjr   

学习研究研究
52pj01   

学习一下
MQ19781011   

这个干嘛用。。。。。。
gorelo   

好用的软件,支持一下,下载了
EricSimth   

没看懂。
您需要登录后才可以回帖 登录 | 立即注册