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

📄 nmjmdaima.txt

📁 破解纽曼加密1.1版本 本程序是破解纽曼加密程序.被加密过的文件会在文件的开头处写上 "纽曼加密"的 字符串.
💻 TXT
字号:
不知是哪个加密了工资表....用的就是纽曼加密程序
反正工地上的生活很无聊
我就去破看看..真的很简单.

;----------------rc fiel---只定义了一个图标

500 ICON MOVEABLE PURE LOADONCALL DISCARDABLE "1.ico"

;----------------rc fiel  end -------------


;------------------asm file--------------------------------
;      Date   :   2003.11.25
;程序说明:
;   汇编语言牛刀小试
;   针对1.1版本
;   本程序是破解纽曼加密程序.被加密过的文件会在文件的开头处写上 "纽曼加密"的
;字符串.文件的长度增加BB8H字.文件的偏移0AH处有一串数字,按字来计算,有N个,密
;码就有N-1个.

      .386
      .model flat,stdcall
      option casemap:none

include      windows.inc
include      user32.inc
includelib   user32.lib
include      kernel32.inc
includelib   kernel32.lib
include      Comdlg32.inc
includelib   Comdlg32.lib


      .data
_len      dd    ?   ;密码的长度
passTab   db   7ah,68h,6fh,75h,78h,75h,6ah,69h,6eh,67h,\
         7ah,68h,6fh,75h,78h,0h   ;解密表
pwd      db   16 dup(?)   ;真密码
_addp   db   16 dup(?)   ;假密码

_lpFile   dd    ?   ;文件位置指针
szBuff   db   255   dup(?)
szNM   db   '纽曼加密',0
szCaption      db   '破解纽曼->程序设计:徐凡华',0
szN      db   '文件没有纽曼加密',0
szText   db   '密码的长度为%05x' , 0dh , 0ah , 0
_hin      dd   ?   ;文件句柄
szFileName   db   MAX_PATH dup (?)   ;打开文件的路径


      .code

;======================子程序===================
;           判断文件纽曼加密密码
;           入口参数:文件句柄,密码长度,返回的正确密码地址
;           出口参数 
_Creak   proc   uses   ebx  esi  edi  _filehind  , leng
   local   x_t[16]:byte

   invoke   SetFilePointer , _filehind , 10h , 0 , FILE_BEGIN
   invoke   ReadFile , _filehind , offset _addp , leng , addr  x_t , NULL

   mov   esi,offset _addp
   mov edi,offset pwd
   mov   ecx,leng

   push    ebx
   push    edx
   xor   edx,edx
   xor   ebx,ebx

.while   TRUE
   mov   bl,  byte ptr [offset passTab + edx]
   lodsb
   xor   al,bl
   stosb
   inc   edx
   dec ecx
   jz   @F
.endw
   pop   edx
   pop   ebx

@@:
   pop   edx
   pop   ebx
   ret
_Creak   endp
;==============================================
;======================子程序===================
;           判断文件有没有进行纽曼加密
;           入口参数:文件句柄
;           出口参数eax      true 有      false  没有
;   szNM是静态变量指向特征字符串

_ifile   proc   uses    ebx  esi  edi   _filehind  :  dword
   local   x_str[10] : byte
   local   x_strlen  : dword
   invoke   SetFilePointer , _filehind , 0 , 0 , FILE_BEGIN
   invoke   ReadFile , _filehind , addr  x_str , 8 , addr  x_strlen , NULL
   invoke   lstrcmp ,  addr  x_str , offset szNM
   .if eax !=0

      mov   eax  ,  FALSE
      ret
   .endif
   mov   eax , TRUE
   ret
_ifile   endp
;==============================================

;======================子程序===================
;           判断文件纽曼加密密码长度
;           入口参数:文件句柄
;           出口参数     eax      密码长度
_strlen   proc   uses   ebx  esi  edi  _filehind  :  dword
   local   x_str[1] : byte
   local   x_strlen  : dword
   local   x_file_point  : byte
   mov   x_file_point , 1fh
   invoke   SetFilePointer , _filehind , x_file_point , 0 , FILE_BEGIN
   xor   ebx , ebx
   .while TRUE
      invoke   ReadFile , _filehind , addr  x_str , 1 , addr  x_strlen , NULL
      dec      x_file_point
      invoke   SetFilePointer , _hin , x_file_point , 0 , FILE_BEGIN
      .break   .if ( x_str != 00h)
      inc   ebx
   .endw
   mov   eax , 0fh
   sub       eax , ebx
   ret
_strlen   endp
;==============================================

; 显示“打开文件”对话框
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_OpenFile   proc
      local   @stOF:OPENFILENAME

      invoke   RtlZeroMemory,addr @stOF,sizeof @stOF
      mov   @stOF.lStructSize,sizeof @stOF
;      push   hWinMain
;      pop   @stOF.hwndOwner
;      mov   @stOF.lpstrFilter,offset szFilter
      mov   @stOF.lpstrFile,offset szFileName
      mov   @stOF.nMaxFile,MAX_PATH
      mov   @stOF.Flags,OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST
      invoke   GetOpenFileName,addr @stOF
      ret

_OpenFile   endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

start:
      invoke   _OpenFile
      test   eax , eax
      jz   @F
      invoke   CreateFile , offset   szFileName , GENERIC_READ,\
                     FILE_SHARE_READ,\
                     NULL , OPEN_EXISTING,\
                     FILE_ATTRIBUTE_NORMAL , NULL
            .if   eax == INVALID_HANDLE_VALUE

               ret
            .endif
      mov   _hin , eax      ;_hin 文件句柄
      invoke   _ifile , _hin   ;检测是不是有加密
      .if   !eax
         invoke   MessageBox,NULL,offset szN,offset szCaption,MB_OK
         invoke   ExitProcess,NULL
      .endif
      invoke   _strlen , _hin      ;得到密码的长度
      mov    _len , eax

      invoke   _Creak,_hin,_len
      invoke   MessageBox , NULL ,offset pwd,offset szCaption , MB_OK
      invoke   CloseHandle , _hin
   @@:
      invoke   ExitProcess,NULL
      end   start 

⌨️ 快捷键说明

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