飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 420|回复: 4

[原创] 汇编(fasm)的查找带通配符的特征码的源码

[复制链接]
  • TA的每日心情
    奋斗
    2024-5-22 16:18
  • 签到天数: 1129 天

    [LV.10]以坛为家III

    发表于 3 天前 | 显示全部楼层 |阅读模式
    format PE GUI 4.0 DLL
    entry DllMain

    include 'win32a.inc'

    section '.text' code readable executable

    ; DllMain函数,DLL入口点
    proc DllMain, hInstance, reason, reserved

        ; 导出函数:SearchSignature
    ; 参数:
    ;   startAddr: 搜索并搜索的起始地址
    ;   endAddr: 搜索感搜索的结束地址
    ;   signature: 特征码模式字符串,用'?'表示通配符
    ; 返回值:
    ;   成功时返回找到的地址,失败时返回NULL
    proc SearchSignature, startAddr, endAddr, signature
        pushad
        ; 获取搜索的内存起始和结束地址
        mov eax, [startAddr]
        test eax, eax
        jz .error
        mov [search_start], eax

        mov eax, [endAddr]
        test eax, eax
        jz .error
        mov [search_end], eax

        ; 在内存中搜索特征码
        mov edi, [search_start]
        mov ecx, [endAddr]
        sub ecx, [startAddr]
        test ecx, ecx
        jz .error

        .loop:
        push ecx
        mov ebx, edi
        mov esi, [signature]
        mov edx, edi

        .compare:
        mov cl, [esi]
        test cl, cl
        jz .found
        cmp cl, '?'
        je .wildcard
        cmp byte [ebx], cl
        je .wildcard
        jmp .not_found

        .wildcard:
        inc esi
        inc ebx
        jmp .compare

        .found:
        mov eax, edi
        popad
        ret

        .not_found:
        pop ecx
        inc edi
        loop .loop

        .error:
        popad
        xor eax, eax
        ret
    endp


        mov eax, 1
        ret




    endp





    section '.idata' import data readable
    library kernel32, 'KERNEL32.DLL'

    include 'api\kernel32.inc'

    section '.data' data readable writeable
    hDll dd 0
    hProcess dd 0
    search_start dd 0
    search_end dd 0
    module_info dd ?

    特征码.zip

    877 Bytes, 下载次数: 21, 下载积分: 飘云币 -2 枚

    评分

    参与人数 1威望 +2 飘云币 +2 收起 理由
    dryzh + 2 + 2 热心分享 共同提升!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2025-1-13 09:04
  • 签到天数: 339 天

    [LV.8]以坛为家I

    发表于 昨天 08:45 | 显示全部楼层
    PYG20周年生日快乐!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2025-1-14 09:16
  • 签到天数: 432 天

    [LV.9]以坛为家II

    发表于 昨天 09:04 | 显示全部楼层
    多谢提供分享!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表