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

📄 scrypt32.asm

📁 The dinamyc link library that contains an implementation of SHA1, SHA512, CRC32, CRC32b, Adler32, Tw
💻 ASM
字号:

; -------------------------------------------------- ;
;             Small Encryption Library 1.0           ;
;                 Coded on FASM 1.66+                ;
; -------------------------------------------------- ;

format PE GUI 4.0 DLL at 1000000h
entry DllEntryPoint

PRODUCT_NAME equ 'Small Encryption Library'
PRODUCT_VERSION equ '1.0'
DLL_NAME equ 'SCrypt32.dll'

include '%fasminc%\win32ax.inc'

PROC equ DWORD
PCHAR equ DWORD
PBYTE equ DWORD
PDWORD equ DWORD

section '.text' code readable executable

proc DllEntryPoint,hInstance,dwReason,lpReserved
     cmp [dwReason],1
     jne @f
     invoke DisableThreadLibraryCalls,[hInstance]
     call InitLibrary
@@:  xor eax,eax
     inc eax
     ret
endp

proc DllGetVersion
     mov eax,((PRODUCT_VERSION and $FF)-$30) or (((PRODUCT_VERSION) and $FF0000)-$300000)
     ret
endp

proc InitLibrary
     call Twofish_PrecomputeMDS
     ret
endp

include '.\inc\helpers.inc'
include '.\inc\block_cipher.inc'
include '.\inc\tea.inc'
include '.\inc\twofish.inc'
include '.\inc\rc4.inc'
include '.\inc\sha1.inc'
include '.\inc\sha512.inc'
include '.\inc\crc32.inc'
include '.\inc\adler32.inc'

section '.data' data readable writeable

include '.\inc\data.inc'

data import

library kernel32,'KERNEL32.DLL'

  import kernel32,\
	 DisableThreadLibraryCalls,'DisableThreadLibraryCalls'

end data

data export

  export DLL_NAME,\
	 DllGetVersion,'DllGetVersion',\
	 BinToHex,'BinToHex',\
	 LCG_Next,'LCG_Next',\
	 RC4_Init,'RC4_Init',\
	 RC4_Crypt,'RC4_Crypt',\
	 TEA_Init,'TEA_Init',\
	 TEA_EncryptBlock,'TEA_EncryptBlock',\
	 TEA_DecryptBlock,'TEA_DecryptBlock',\
	 Twofish_Init,'Twofish_Init',\
	 Twofish_EncryptBlock,'Twofish_EncryptBlock',\
	 Twofish_DecryptBlock,'Twofish_DecryptBlock',\
	 Cipher64_Init,'Cipher64_Init',\
	 Cipher64_CryptECB,'Cipher64_EncryptECB',\
	 Cipher64_CryptECB,'Cipher64_DecryptECB',\
	 Cipher64_EncryptCBC,'Cipher64_EncryptCBC',\
	 Cipher64_DecryptCBC,'Cipher64_DecryptCBC',\
	 Cipher64_EncryptCFB,'Cipher64_EncryptCFB',\
	 Cipher64_DecryptCFB,'Cipher64_DecryptCFB',\
	 Cipher64_CryptOFB,'Cipher64_EncryptOFB',\
	 Cipher64_CryptOFB,'Cipher64_DecryptOFB',\
	 Cipher64_CryptCTR,'Cipher64_EncryptCTR',\
	 Cipher64_CryptCTR,'Cipher64_DecryptCTR',\
	 Cipher128_Init,'Cipher128_Init',\
	 Cipher128_CryptECB,'Cipher128_EncryptECB',\
	 Cipher128_CryptECB,'Cipher128_DecryptECB',\
	 Cipher128_EncryptCBC,'Cipher128_EncryptCBC',\
	 Cipher128_DecryptCBC,'Cipher128_DecryptCBC',\
	 Cipher128_EncryptCFB,'Cipher128_EncryptCFB',\
	 Cipher128_DecryptCFB,'Cipher128_DecryptCFB',\
	 Cipher128_CryptOFB,'Cipher128_EncryptOFB',\
	 Cipher128_CryptOFB,'Cipher128_DecryptOFB',\
	 Cipher128_CryptCTR,'Cipher128_EncryptCTR',\
	 Cipher128_CryptCTR,'Cipher128_DecryptCTR',\
	 SHA1_Init,'SHA1_Init',\
	 SHA1_Update,'SHA1_Update',\
	 SHA1_Final,'SHA1_Final',\
	 SHA512_Init,'SHA512_Init',\
	 SHA512_Update,'SHA512_Update',\
	 SHA512_Final,'SHA512_Final',\
	 CRC32_Init,'CRC32_Init',\
	 CRC32_Update,'CRC32_Update',\
	 CRC32_Final,'CRC32_Final',\
	 CRC32b_Init,'CRC32b_Init',\
	 CRC32b_Update,'CRC32b_Update',\
	 CRC32b_Final,'CRC32b_Final',\
	 Adler32_Init,'Adler32_Init',\
	 Adler32_Update,'Adler32_Update'

end data

section '.reloc' fixups data readable discardable

macro null {

section '.rsrc' resource data readable

	directory RT_VERSION,versions

	resource versions,\
		 1,LANG_NEUTRAL,version

	versioninfo version,VOS__WINDOWS32,VFT_APP,VFT2_UNKNOWN,LANG_NEUTRAL,0,\
		    'FileDescription',PRODUCT_NAME,\
		    'LegalCopyright','No rights reserved.',\
		    'FileVersion',PRODUCT_VERSION,\
		    'ProductVersion',PRODUCT_VERSION,\
		    'OriginalFilename',DLL_NAME

}

⌨️ 快捷键说明

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