King's profileThe World of a Big CatPhotosBlogListsMore Tools Help

Blog


    January 13

    Ttmz内存注册机实例【转】

    ;*****************************************************************
    ;名       称:内存注册机

    ;编写环境: Winxp sp2,Masm32 v9,radasm
    ;完成日期: 2007/04/24
    ;版  本:
    ;作       者: choomsheng(E-Mail:mfk144@163.com)
    ;*****************************************************************
    .386
    .model flat,stdcall
    option casemap:none

          include windows.inc
          include masm32.inc
          include user32.inc
          include kernel32.inc

          includelib masm32.lib
          includelib user32.lib
          includelib kernel32.lib

    clac proto
          szText MACRO Name, Text:VARARG
            LOCAL lbl
              jmp lbl
                Name db Text,0
              lbl:
            ENDM

          m2m MACRO M1, M2
            push M2
            pop  M1
          ENDM

          return MACRO arg
            mov eax, arg
            ret
          ENDM

          SADD MACRO quoted_text:VARARG
            EXITM <ADDR literal(quoted_text)>
          ENDM

          literal MACRO quoted_text:VARARG
            LOCAL local_text
            .data
              local_text db quoted_text,0
            .code
            EXITM <local_text>
          ENDM
    .data
    FileName db "ttmz.exe",0 ;指定运行的程序
    d1 dw 235 ;eb
    d2 dw 254 ;fe
    Startup STARTUPINFO <>
    processinfo PROCESS_INFORMATION <>

    .data?
    hInstance HINSTANCE ?
    byteswritten dd ?
    uExitCode dd ?
    xread dd ?
    buffer db 254 dup(?)
    xcount dd ?
    testread db 1 dup(?)
    .code
    start:

      invoke GetModuleHandleA, NULL
      mov    hInstance,eax
      invoke CreateProcess, ADDR FileName, NULL, NULL, NULL, NULL, CREATE_SUSPENDED,
                NULL, NULL, ADDR Startup, ADDR processinfo
                ;创建进程
      .IF eax == NULL
      .ELSE
                invoke ResumeThread, processinfo.hThread ;运行程序
    ;--------------------------------------------------------------------------------
              @@:
              invoke ReadProcessMemory,processinfo.hProcess,0045d2dbh,addr testread,1,xread
              mov edx,offset testread
              mov eax,[edx]
              movzx esi,al
              cmp esi,45h
              jnz @B
               ;等待程序解压代码。
               ;循环读取 0045d2dbh 的内存是否为45h
               ;如果程序没加壳,可省略这段代码。
    ;--------------------------------------------------------------------------------
              invoke WriteProcessMemory, processinfo.hProcess, 0045d2dah, ADDR d1,
                             1, byteswritten     ;8d
              invoke WriteProcessMemory, processinfo.hProcess, 0045d2dbh, ADDR d2,
                             1, byteswritten ;45
      ;写入数据ebfe到指定内存地址。让程序暂停
              invoke Sleep, 2000 ;等待程序运行2秒
              invoke ReadProcessMemory,processinfo.hProcess,0012ff97h,addr buffer,16,xread
               ;读取指定内存数据。即读取注册码
              invoke TerminateProcess, processinfo.hProcess, uExitCode
    invoke StrLen,addr bufferde
    invoke write_disk_file,SADD("DTA.TXT"),addr buffer,eax ;将注册码写入文件
      .ENDIF
      Invoke ExitProcess, Eax
    End start

    以上代码设定为。运行到0045d2dah 时内存地址0012ff97h 为正确的注册码。
    修改0045d2dah的指令为 jmp 0045d2dah 即ebfe
    写的不好请大家见凉。

    January 09

    Dialogue 编导一键工具箱 Build 20090109 正式绿色版 重大更新!

    更新记录
    ------------------------------------------------------------
    2009.01.09 研发两日,去掉反馈收集模块(实在是找不到好的服务器放我写的反馈收集服务端。。。汗个),增加了一个在线自动更新模块,以后的更新都可自动完成,嘿嘿。

    1

    2

    3

    下载地址:http://mikesl.ys168.com

    January 08

    Nod32 升级ID获取器

    学习了数据库,xmlhttp读取网页和正则表达式之后的2小时作品,其未来应用应该是不可限量滴。。。。尤其是用在利用免费blog发布公共数据的场合,当然也可支持安全登录。。。下一版的计划是加入对代理服务器的支持,不过那样很可能就用不上xmlhttp这种高效的读取方式了,考虑用单独线程+http读文件实现以免卡死。。。

    1

    仅供学习,如果喜爱Nod32杀毒软件请购买正版!

    工具下载地址

    http://mikesl.ys168.com 下面的随手写的软件一栏