slzslz 发表于 7 天前

fasm 汇编编写的loader total command 11.5去除最上面标题栏未注册的源码

本帖最后由 slzslz 于 2025-7-25 10:00 编辑

汇编写的LOADER源码,具体想破解啥自己发挥了,用total command 11.5演示一下
format PE GUI 4.0
entry start

include 'win32a.inc'

section '.data' data readable writeable
    processInfo PROCESS_INFORMATION
    startupInfo STARTUPINFO
    cmdLine db 'TOTALCMD64.EXE',0
    hProcess dd ?
    baseAddress dd ?
    bytesWritten dd ?
    nops db 90h, 90h, 90h, 90h, 90h, 90h

section '.code' code readable executable
start:
    ; 初始化 STARTUPINFO 结构
    invokeRtlZeroMemory, startupInfo, sizeof.STARTUPINFO
    mov   , sizeof.STARTUPINFO

    ; 创建进程 (挂起状态)
    invokeCreateProcessA, 0, cmdLine, 0, 0, 0, CREATE_SUSPENDED, 0, 0, startupInfo, processInfo
    test    eax, eax
    jz      error_exit

    ; 保存进程句柄
    mov   eax,
    mov   , eax

    ; 获取进程基地址 (这里简化处理,实际应该通过PEB获取)
    ; 注意: 对于64位进程,32位程序需要特殊处理,这里知道基地址
    ; 实际应用中应该读取PEB的ImageBaseAddress
    mov   , 00400000h; 基地址是00400000h,需要根据实际情况修改

    ; 计算要修改的地址 (基地址 + RVA)
    mov   eax,
    add   eax, 2B2DD0h             ; RVA 2B2DD0

    ; 修改内存 (6个NOP)
    invokeWriteProcessMemory, , eax, nops, 6, bytesWritten

    ; 恢复线程执行
    invokeResumeThread,

    ; 关闭句柄
    invokeCloseHandle,
    invokeCloseHandle,

    ; 退出程序
    invokeExitProcess, 0

error_exit:
    ; 错误处理

    invokeExitProcess, 1

section '.idata' import data readable writeable
    library kernel32, 'kernel32.dll', \
            user32, 'user32.dll'

    import kernel32, \
         CreateProcessA, 'CreateProcessA', \
         ExitProcess, 'ExitProcess', \
         CloseHandle, 'CloseHandle', \
         WriteProcessMemory, 'WriteProcessMemory', \
         ResumeThread, 'ResumeThread', \
         RtlZeroMemory, 'RtlZeroMemory'

    import user32, \
         MessageBoxA, 'MessageBoxA'

zenix 发表于 5 天前

谢谢,收藏源代码。

杨林 发表于 6 天前

感谢楼主无私分享!

ZHANGXIANGHUA 发表于 7 天前

PYG有你更精彩!

toneger 发表于 7 天前

膜拜大神~!PYG有你更精彩!

chchhau 发表于 7 天前

PYG有你更精彩!

linxiansen 发表于 7 天前

PYG有你更精彩!

cxqdly 发表于 7 天前

汇编大神,小菜路过支持下

shaunkelly 发表于 7 天前

漂亮,这个是好软件哦

飘云 发表于 7 天前

优雅~{:victory:}
页: [1]
查看完整版本: fasm 汇编编写的loader total command 11.5去除最上面标题栏未注册的源码