elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Vuelve Concurso Programación Abril Negro 2020


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía (Moderador: kub0x)
| | | |-+  Codigo en C# Criptografia por favor ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Codigo en C# Criptografia por favor ayuda  (Leído 294 veces)
festina73

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Codigo en C# Criptografia por favor ayuda
« en: 28 Octubre 2019, 21:29 »

Hola alguien sabe
que significa y que hace este codigo


ZeroMemory(gch.AddrOfPinnedObject(), sSecretKey.Length * 2);
gch.Free();


gracias



En línea

ThunderCls


Desconectado Desconectado

Mensajes: 418


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Codigo en C# Criptografia por favor ayuda
« Respuesta #1 en: 28 Octubre 2019, 22:26 »

Hola alguien sabe
que significa y que hace este codigo

ZeroMemory(gch.AddrOfPinnedObject(), sSecretKey.Length * 2);
gch.Free();

ZeroMemory
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa366920(v%3Dvs.85)
GCHandle.AddrOfPinnedObject
https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.gchandle.addrofpinnedobject?view=netframework-4.8
GCHandle.Free
https://docs.microsoft.com/en-us/dotnet/api/system.runtime.interopservices.gchandle.free?view=netframework-4.8

Creo que se explica a si mismo, solo hay que usar el buscador un poco


En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.355


S3C M4NI4C


Ver Perfil
Re: Codigo en C# Criptografia por favor ayuda
« Respuesta #2 en: 28 Octubre 2019, 22:28 »

Bueno tu pregunta poco tiene que ver con criptografía, estás dando un código que forma parte de alguna implementación criptográfica.

En este caso, las dos líneas son pertenecientes a la API de windows y son normalmente llamadas desde procesos nativos codificados por ejemplo en C++. Por lo tanto al estar tu en C# tienes que hacer uso de Marshalling o P/Invoke para llamar código unmanaged desde managed.

Zeromemory es una función que setea la porción de memoria que tu le dices a 0. En este caso gch.AddressOfPinnedObject() es el puntero de memoria a gch, y sSecretKey.Length * 2 es el número de 0 que va a setear desde el inicio del puntero de gch.

Después gch.Free() es el equivalente a llamar desde C++ a Free(gch); por lo tanto lo que hace es desreferenciar el puntero gch para que el heap lo libere, ten en cuenta que esto hace que gch no contenga nada útil porque pudo haber sido sobreescrito al ser liberado en heap.

Si te suena a chino vas a tener que estudiar mucho :D

Saludos.
En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con este codigo por favor
Programación Visual Basic
pedraosone 2 1,015 Último mensaje 22 Octubre 2007, 00:28
por pedraosone
Una ayuda com codigo para .exe, por favor. « 1 2 »
.NET (C#, VB.NET, ASP)
carlosguay 11 4,035 Último mensaje 23 Diciembre 2009, 18:24
por carlosguay
Ayuda en este codigo por favor
Programación C/C++
MellaSystems 3 1,376 Último mensaje 6 Mayo 2015, 07:20
por crack81
Por favor una pista para criptografia fibonacci.
Dudas Generales
BigKhalPablo 1 1,315 Último mensaje 27 Noviembre 2016, 21:17
por engel lex
Ayuda por favor codigo arbol
Programación C/C++
MlxxxlM 2 1,122 Último mensaje 27 Septiembre 2017, 17:22
por NEBIRE
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines