📄 scrypt32.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 + -