前言
特殊期间,群内还敢乱发exe,万一真是个木马,又要得罪多少人?
起因是看到杀软告警了,然后赶忙去看发生了什么。
然后就在群里看到这一幕。
定睛一看,9mb,能达到这个量级的只有py编译的了。
看看到底是个啥
首先用pyinstxtractor,对其pyinstaller进行反编译。
得到文件夹:
其中“调戏.pyc”为主文件
然后去用pycdc进行反编译。
https://github.com/zrax/pycdc
先把pydc编译一下
sudo apt install cmake
然后执行
cmake CMakeLists.txt
make
最后执行
./pycdc ../调戏.pyc
就可以看到源代码了
我们来刨析一下这个文件做了什么
import platform
import os
import ctypes
import sys
import time
import random
def is_windows_10():
Unsupported opcode: LOAD_FAST_AND_CLEAR
pass
# WARNING: Decompyle incomplete
def is_windows_11():
Unsupported opcode: LOAD_FAST_AND_CLEAR
pass
# WARNING: Decompyle incomplete
def steam_installed():
Unsupported opcode: LOAD_FAST_AND_CLEAR
pass
# WARNING: Decompyle incomplete
def open_steam():
Unsupported opcode: LOAD_FAST_AND_CLEAR
pass
# WARNING: Decompyle incomplete
def open_calculator():
Unsupported opcode: PUSH_EXC_INFO
time.sleep(random.uniform(1, 3))
os.startfile('calc.exe')
return None
# WARNING: Decompyle incomplete
def change_wallpaper():
Unsupported opcode: LOAD_FAST_AND_CLEAR
pass
# WARNING: Decompyle incomplete
def get_resource_path(relative_path):
Unsupported opcode: PUSH_EXC_INFO
base_path = sys._MEIPASS
return os.path.join(base_path, relative_path)
# WARNING: Decompyle incomplete
def scan_for_games():
Unsupported opcode: LOAD_FAST_AND_CLEAR
drives = [
'C:',
'D:',
'E:',
'F:']
# WARNING: Decompyle incomplete
def open_random_game():
Unsupported opcode: PUSH_EXC_INFO
installed_games = scan_for_games()
if installed_games:
game_to_open = random.choice(installed_games)
time.sleep(random.uniform(1, 3))
os.startfile(game_to_open)
return None
print('No games found.')
return None
# WARNING: Decompyle incomplete
if is_windows_10() or is_windows_11():
if steam_installed():
open_steam()
open_calculator()
change_wallpaper()
open_random_game()
return None
print('Unsupported OS version')
首先确定的一点,这个大哥是AI写的代码,全英文注释不说,只有ai才会这么起函数名is_windows_10、is_windows_11、steam_installed、open_steam
扫一眼没有危险动作,危机解除,然后稍微看看
代码分析
is_windows_10 和 is_windows_11 函数:检测操作系统版本是否为 Windows 10 或 Windows 11,但具体实现缺失。
steam_installed 函数:检查是否安装了 Steam 客户端,但具体实现缺失。
open_steam 函数:打开 Steam 客户端,但具体实现缺失。
open_calculator 函数:随机等待 1 到 3 秒后打开 Windows 计算器。
change_wallpaper 函数:更改桌面壁纸,但具体实现缺失。
get_resource_path 函数:获取资源的路径,利用了 sys._MEIPASS,这通常是 PyInstaller 打包的应用程序的临时路径。
scan_for_games 函数:扫描系统驱动器中的游戏,但具体实现缺失。
open_random_game 函数:随机打开已安装的游戏,首先调用 scan_for_games 函数以获取游戏列表,然后随机选择一个游戏并打开它。
主程序逻辑:首先检查操作系统版本是否为 Windows 10 或 11。如果是,再检查是否安装了 Steam。然后,依次调用 open_calculator、change_wallpaper 和 open_random_game 函数。如果操作系统版本不支持,则输出 "Unsupported OS version"。
总结
关注本公众号,后台回复“蓝队工具箱”获取你的蓝队神器~
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...