一云博客 - 自动化
type: channel
link: https://blog.yiyunt.cn/index.php/tag/%E8%87%AA%E5%8A%A8%E5%8C%96/
items: 14个Python自动化实战脚本
items: 一款自动化渗透工具包 TscanPlus
items: Python脚本利用adb进行手机控制的方法

14个Python自动化实战脚本
type: item
date: 2024-04-18T09:24:06+08:00
description: 1、批量文件重命名神器在工作中，我们常常需要对大量文件进行批量重命名，Python帮你轻松搞定！ import os def batch_rename(path, prefix='', suffix=''): for i, filename in enumerate(os.listdir(path)): new_name = f"{prefix}{i:03d}{suffix}{os.path.splitext(filename)[1]}" old_file = os.path.join(path, filename) new_file = os.path.join(path, new_name) os.rename(old_file, new_file) # 使用示例： batch_rename('/path/to/your/directory', 'file_', '.txt')2、自动发送邮件通知告别手动发送，用Python编写定时发送邮件的自动化脚本。import smtplib from email.mime.text import MIMEText def send_email(to_addr, subject, content): smtp_server = 'smtp.example.com' username = 'your-email@example.com' password = 'your-password' msg = MIMEText(content) msg['Subject'] = subject msg['From'] = username msg['To'] = to_addr server = smtplib.SMTP(smtp_server, 587) server.starttls() server.login(username, password) server.sendmail(username, to_addr, msg.as_string()) server.quit() # 使用示例： send_email('receiver@example.com', '每日报告提醒', '今日报告已生成，请查收。')3、定时任务自动化执行使用Python调度库，实现定时执行任务的自动化脚本。import schedule import time def job_to_schedule(): print("当前时间：", time.ctime(), "任务正在执行...") # 定义每天9点执行任务 schedule.every().day.at("09:00").do(job_to_schedule) while True: schedule.run_pending() time.sleep(1) # 使用示例： # 运行此脚本后，每天上午9点会自动打印当前时间及提示信息4、数据库操作自动化简化数据库管理，Python帮你自动化执行CRUD操作。import sqlite3 def create_connection(db_file): conn = None try: conn = sqlite3.connect(db_file) print(f"成功连接到SQLite数据库：{db_file}") except Error as e: print(e) return conn def insert_data(conn, table_name, data_dict): keys = ', '.join(data_dict.keys()) values = ', '.join(f"'{v}'" for v in data_dict.values()) sql = f"INSERT INTO {table_name} ({keys}) VALUES ({values});" try: cursor = conn.cursor() cursor.execute(sql) conn.commit() print("数据插入成功！") except sqlite3.Error as e: print(e) # 使用示例： conn = create_connection('my_database.db') data = {'name': 'John Doe', 'age': 30} insert_data(conn, 'users', data) # 在适当时候关闭数据库连接 conn.close()5、网页内容自动化抓取利用BeautifulSoup和requests库，编写Python爬虫获取所需网页信息。import requests from bs4 import BeautifulSou…

一款自动化渗透工具包 TscanPlus
type: item
date: 2024-04-10T14:39:59+08:00
description: 对于刚入门网络安全的小伙伴而言，对于各种工具的使用算是头疼的了。不是工具的运行环境有问题，就是工具的使用命令记不住。故而为大家介绍一款综合渗透扫描工具。关于TscanPlus 是一款综合性网络安全检测和运维工具，旨在快速资产发现、识别、检测，构建基础资产信息库，协助甲方安全团队或者安全运维人员有效侦察和检索资产，发现存在的薄弱点和攻击面。安装本我们直接在Windows平台下运行。双击exe文件即可，无需安装。我们在作者的 项目地址 ： https://github.com/TideSec/TscanPlus/releases 下载对应的包即可。主要功能端口扫描 端口扫描是前期信息收集的重要手段。为了简单明了，作者提供了常见的web端口、top100、常见RCE端口等等。并且在扫描结果中，从Banner信息中可以得到相关服务的名称。URL探测 这个功能主要检测该站长都是利用了哪些框架，如WP Typecho DZ php mysql等常见的程序类型和系统服务。子域名查找 子域名查找也是我们在信息收集中重要的环节之一。以通过旁站漏洞来获取系统Shell。漏洞检测 作者提供了约400多个已知漏洞。输入目标后可快速检测常见的漏洞。密码破解 支持常见的SSH PDP MYSQL FTP等常见服务的密码破解。目录扫描 通过目录扫描，可以发现站点的一些敏感目录，如站点后台地址等。辅助功能作者为了方便初学者学习，在里面集成了常见的 CS MSF NC等工具上线的命令。原文出处：https://mp.weixin.qq.com/s/U3Hm5DoqWdTOUS8GSabRdw

Python脚本利用adb进行手机控制的方法
type: item
date: 2024-03-29T10:25:41+08:00
description: 这篇文章主要介绍了Python脚本利用adb进行手机控制的方法，文中通过示例代码介绍的非常详细，对大家的学习或者工作具有一定的参考学习价值，需要的朋友们下面随着小编来一起学习学习吧一. adb 相关命令：关闭adb服务：adb kill-server启动adb服务 adb start-server查询当前运行的所有设备 adb devices可能在adb中存在多个虚拟设备运行 可以指定虚拟设备运行 -s 虚拟设备名称重启设备 adb reboot --指定虚拟设备 adb -s 设备名称 reboot查看日志 adb logcat 清除日志 adb logcat -c进入linux shell下 adb shell 其中常用的linux命令 cd cat 等等 输入su可以获取超级管理员名称了 要确定是否有哪些命令 进入 system/bin目录 就知道了传入文件到设备中 adb push 本地文件 远程目录从设备中拷贝文件到本地 adb -s emulator-5556 pull /data/config.ini d:/显示当前运行的全部模拟器： adb devices安装应用程序： adb install -r 123.apk获取模拟器中的文件： adb pull 向模拟器中写文件： adb push 进入模拟器的shell模式： adb shell卸载apk包： adb shell cd data/app rm 123.apk exit adb uninstall 123.apk adb install -r 123.apk查看adb命令帮助信息： adb help删除系统应用： adb remount （重新挂载系统分区，使系统分区重新可写）。 adb shell cd system/app rm 123.apk获取管理员权限： adb root19、复制文件：复制一个文件或目录到设备：adb push 如：adb push update.zip /sdcard/从设备上复制一个文件或目录：adb pull 如：adb pull /sdcard/update.zip.20、取得当前运行设备的实例的列表及每个实例的状态：adb devices21：这条命令模拟android手机在屏幕坐标（X,Y）处进行了点击操作。adb shell input tap22：这条命令模拟Android手机从屏幕坐标（X1,Y1）滑动到坐标（X2,Y2）的操作。adb shell input swipe 23:Luiautomator dump dump: creates an XML dump of current UI hierarchy 这个命令是用来成成当前界面的UI层次，并用XML格式进行展示 。这样就可以获取各个组件的位置了注：如果PC要想同时控制多台Android手机，必须在adb 后面添加-s例如：adb -s 13b6e4c4 shell input tap 400 400表示对13b6e4c4这台Android手机进行在屏幕上（400,400）坐标位置进行模拟的点击事件。24.能看到设备信息就代表设备已经连接成功了，接下来的命令就是adb install 路径+包名.apk例如我的安装包放在桌面，那么命令就是adb install C:\Users\hyh\Desktop\XXX.apk* adb shell uiautomator dump /mnt/sdcard/window_dump.xml 获得手机当前界面的UI信息，生成window_dump.xml* adb shell input text “123” 输入text举例：1、打开cmd，进入到当前文件夹中，输入命令 adb devices 查看当前与电脑连接的设备（前提是，手机打开usb调试模式），可以查看已连接成功的手机。2、 若手机成功连接，输入命令 adb shell input tap 100 100 , 表示点击屏幕上坐标为（100，100）的点，如果不知道需要点击的点的具体位置的话可以在手机开发者模式中设置。二. adb 模拟按键：比如使用 adb shell input keyevent 命令，不同的 keycode 能实现不同的功能，完整的 keycode 列表详见 KeyEvent，摘引部分我觉得有意思的如下:Keycode含义3HOME 键4返回键5打开拨号应用6挂断电话24增加音量25降低音量26电源键27拍照（需要在相机应用里）64打开浏览器82菜单键85播放/暂停86停止播放87播放下一首88播放上一首122移动光标到行首或列表顶部123移动光标到行末或列表底部126恢复播放127暂停播放164静音176打开系统设置187切换应用2…