Ajuda para compilar e usar fontes ASM da Intel

Ajuda para compilar e usar fontes ASM da Intel

Muito bom dia a todos,

Baixei alguns fontes sobre criptografia e geração de HASH da Intel. Sou programador Visual Studio, ambientado com Visual Basic e tenho boa experiência com MASM da Microsoft. Infelizmente, a sintaxe do YASM é algo diferente do MASM e tentando conversão "na mão" enfrentei diversos problemas com a forma de endereçamento, macros, etc. Acabei desistindo, baixando o YASM e adaptando ao Visual Studio com sucesso. Compilei os fontes sem problemas usando o YASM através do Visual Studio, mas não consigo transformá-lo em DLL. Efetuei os seguintes procedimentos:

1) Tentei colocar instruções de DLL no fonte ASM, sem sucesso. O linker reclama que o fonte ASM não está no formato __stdcall 12, mesmo eu colocando instrução em Assembly para tal (seguindo a sintaxe MASM).

2) Estou tentando fazer um fonte C++ em formato DLL que chama a função SHA512_SSE4, mas como não tenho conhecimento desta linguagem, ainda não estou obtendo o sucesso esperado - e mais uma vez, o compilador ou linker reclama que o fonte ASM da Intel não pode ser utilizado como função DLL.

Alguém pode me dar uma luz sobre isso? Sem querer abusar da boa vontade de ninguem, o ideal para mim seria um fonte C++ em formato Visual Studio chamando esta função - é apenas o que preciso. Desta forma, posso adaptar esta DLL a alguns aplicativos meus que já usam o SHA512 só que de bibliotecas da Microsoft. Obviamente tenho interesse tanto no SHA via SSE quanto no SHA via RORX das CPU's Intel (mesmo perdendo compatibilidade com AMD) mais modernas e estou baixando o pacote de Crypto Primitives. 

Estou usando o Visual Studio C++ compilando para WIN32, apesar de usar bibliotecas de 64 bits.

Agradeço muito por qualquer ajuda. Um forte abraço a todos.

2 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.

Good morning to all,

I had downloaded some ASM sources from Intel to perform HASH and AES encryption tasks. I'm experienced .NET Visual Basic programmer and I'm very used to Microsoft MASM compiler. Unfortunetely the YASM syntax is quite different from MASM and I tried, unsuccessfuly, to perform a manual conversion between both compilers. I download the YASM and I had prepared my Visual Studio to compile the source successfully (the VS calls YASM and compile the source preparing the OBJ file), but I'm having no success to link the source into a C++ application. I'm NOT a C++ programmer, it's really confuse to me.

In short, I tried to:

1- Transform the SHA512-SSE4 source code to a DLL one. I got no success at all. Everytime I compile it within Visual Studio I receive the same message: the source cannot be utilized as DLL since it's not a __stdcall 12 procedure (even I utilizing the MASM DLL sintax based on DLLMAIN and return 12).

2- I'm trying to make a C++ DLL file to call the SHA512_SSE4 function, but also, it's is not functioning since my source code is wrong and after that, the linker claims to not resolve the SHA source (it's is not a DLL, as shown above).

Is it someone to light my way? I JUST need a C++ code as a DLL to call that Intel source code. I believe I can utilize the same syntax to test and adapt other Intel sources. I'm utilizing .NET Visual Studio C++ compiling to WIN32.

I really appreciate any help on it.

Thank you very much in advance.

 

Faça login para deixar um comentário.