⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 procgen.asm

📁 很著名的MicroJoinerv1.6捆绑工具源代码,很不错
💻 ASM
字号:

        .386
        .model flat, stdcall
        option casemap :none   ; case sensitive

; #########################################################################

        include windows.inc
        include kernel32.inc

        includelib kernel32.lib
        includelib user32.lib



.data?
        lpBuf   db      10 dup(?)
        lpStr   db      1024 dup(?)

.data
        szTrimC db      '" ', 0
        szFmt   db      "dd 0%.8xh ; %s",0

        szFuncs db      "ExitProcess",0
                db      "LoadLibraryA",0
                db      "ShellExecuteA",0
                db      "CloseHandle",0
                db      "CreateDirectoryA",0
                db      "CreateFileA",0
                db      "GetSystemDirectoryA",0
                db      "GetTempFileNameA",0
                db      "GetTempPathA",0
                db      "GetWindowsDirectoryA",0
                db      "GlobalAlloc",0
                db      "WriteFile",0
                db      "DeleteFileA",0
                db      "GetModuleFileNameA",0
                db      "wsprintfA",0
                db      "SetFileAttributesA",0
                db      "GetCurrentDirectoryA",0
                db      "RegCreateKeyA",0
                db      "RegSetValueExA",0
                db      0

.code

Write proc uses ebx lpszText: DWORD
        LOCAL   dwWritten: DWORD
        invoke  GetStdHandle, STD_OUTPUT_HANDLE
        mov     ebx, eax
        invoke  lstrlen, lpszText
        mov     edx, eax
        invoke  WriteFile, ebx, lpszText, edx, addr dwWritten, NULL
        ret
Write endp

WriteLn proc lpszText: DWORD
        LOCAL   ln: DWORD
        invoke  Write, lpszText
        mov     ln, 0D0Ah
        invoke  Write, addr ln
        ret
WriteLn endp

start:
        mov     edi, offset szFuncs

@next:
        cld
        mov     edx, edi
        xor     eax, eax
        or      ecx, -1
        repnz scasb
        mov     ebx, edx
        mov     eax, edx

        xor     edx, edx
@calc_hash:
        rol     edx, 3
        xor     dl, byte ptr[eax]
        inc     eax
        cmp     byte ptr[eax], 0
        jnz     @calc_hash

        invoke  wsprintf, offset lpBuf, offset szFmt, edx, ebx
        invoke  WriteLn, offset lpBuf

        cmp     byte ptr[edi], 0
        jnz     @next

        invoke  ExitProcess, 0
end start

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -