好友
阅读权限10
听众
最后登录1970-1-1
|
这个程序启动后,在windows进程中查看,有两个名称一样的进程example.exe,但是一小一大。
我先使用pyinstxtractor.py解开它,但是生成的很多xxx.pyc相当混乱,包含大堆的二进制代码。
其基本的程序结构,经IDA PRO分析如下:
1. PyInstaller打包的Python程序
核心架构:
外层:C/C++引导程序(PyInstaller stub)
内层:Python应用程序(PyQt4 GUI + 业务逻辑)
2. 具体结构分析
C/C++层(外壳):
Example.exe - PyInstaller生成的可执行文件
包含Python解释器(python27.dll)
包含所有依赖库(PyQt4、xlrd、xlwt等)
负责解压和启动Python代码
Python层(核心):
app.py - 主应用逻辑
ui_fr_main.py - PyQt4界面定义
uart.py - 串口通信模块
各种数据处理模块
3. 程序启动流程
Example.exe 启动
↓
C引导程序初始化Python环境
↓
解压Python代码到内存/临时目录
↓
执行Python主程序(app.py)
↓
创建PyQt4 GUI界面
↓
运行事件循环
在此请教各位老师:
遇到这样的程序结构,应该从哪里着手开始逆向,才能更好地把握重点,真正将其解码清楚?
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|
|