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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8
51  Foros Generales / Foro Libre / Re: Los primeros símbolos en la tierra: el increíble descubrimiento en Israel en: 12 Febrero 2021, 10:02 am
Igual ¿por qué el sarcasmo? si bien no demuestran nada tampoco niegan la existencia de una antigua civilización, o sea la posibilidad existe. Hay muchas cosas que no demuestran nada y no quitan la posibilidades.

En la vida hay muchas cosas que no se pueden demostrar ni negar su existencia, pero solo se hacen noticias de las chorradas más grandes e indemostrables, como por ejemplo las supuestas apariciones de Jesucristo en las galletas o en una taza de café. Y recuerdo una infinidad de noticias de descubrimientos similares que resultaron ser fraudes, como las figuritas mayas de Erich von Däniken, o el supuesto alienígena de medio metro que pusieron en un museo dentro de una vitrina de cristal, o unas supuestas cabezas humanas con un craneo muy alargado (no me refiero a los de la teoría de los vendajes para alargar craneos en la antigüedad), o supuestos huesos de "gigantes" extintos entre otros "descubrimientos", todo fraudes, pero la prensa bien que habla antes de tiempo para especular.

Como diría Iker Jimenez, vivimos en la era de la infoxicación, con el sensacionalismo barato, tóxico e innecesario de los medios de comunicación y la prensa digital, que utilizan cualquier "posibilidad" (por muy estúpida que sea a veces) para publicar un titular sensacionalista y meterte la idea de lo que podría ser eso a pesar de que nadie lo pueda demostrar todavía.

Mejor dejemos que los arqueólogos y expertólogos de estos temas cavernícolas hagan su trabajo y que la prensa publique una noticia fundada cuando tengan un mínimo de información con la que poder especular y que esté respaldada por evidencias científicas, y entonces y solo entonces podremos empezar a hablar de si son rayas o rallas o símbolos illuminatis o aceitunas, pero antes no.

Saludos.
52  Foros Generales / Foro Libre / Re: Los primeros símbolos en la tierra: el increíble descubrimiento en Israel en: 12 Febrero 2021, 07:48 am
No me entendiste el sarcasmo, lo que intento decir es que una ralla no demuestra absolutamente nada, al igual que una X en una firma no demuestra que el que firma es quien dice ser.

Cualquiera pudo haber hecho esas rallas por accidente, o frotando un material contra otro, pero no demuestra que sean símbolos de una antigua civilización. Y luego está la opción de que pudiera ser un fraude.

Saludos!
53  Foros Generales / Foro Libre / Re: Los primeros símbolos en la tierra: el increíble descubrimiento en Israel en: 11 Febrero 2021, 12:08 pm
Llamar símbolo a una ralla, es como llamarle firma a una equis...



54  Programación / .NET (C#, VB.NET, ASP) / Re: Lista de Operadores Matematicos en: 10 Febrero 2021, 23:11 pm
les compartire la solucion que encontre de momento.

Si quieres micro-optimizar ese código entonces quizás podrías tratar de aplicar el ejemplo del usuario Serapis ya que ha invertido tiempo en hacerlo y es más completo o sofisticado que la solución actual que aplicaste, donde su ejemplo de usar Select Case / switch es más apropiado (y también más elegante, dicho sea de paso) que utilizar un bloque de condicionales else + contains ya que tienes un set de símbolos o valores fijos ( https://www.geeksforgeeks.org/switch-vs-else/ ). Además deberías intentar tener presente utilizar la asignación compuesta del operador de suma (+=) en tu variable "calculo" ( https://www.tutorialspoint.com/compound-assignment-operators-in-chash ), lo cual no optimiza el código pero simplifica bastante la comprensión del código fuente.
De todas formas a mi no me convence el enfoque que ambos le dieron, en tu caso fíjate que al final estás tratanto con varias funciones de tratamiento de cadenas de texto como string.replace y string.trim, y luego haciendo distintas operaciones sobre un mismo valor numérico, para eso sería preferible que directamente lo simplificases construyendo un string completo con la expresión matemática y pasárselo a NCalc, pero bueno, por otro lado pienso que cualquier opción o solución es igual de válida mientras el resultado sea exitoso.

pero si , con Ncalc simplifico esto estaria espectacular

Poder se podría siempre y cuando le des el enfoque de construir un string / expresión matemática en lugar de hacerlo como lo estás haciendo actualmente, pero ya no merece la pena mientras tu código actual te funcione de forma exitosa no hay necesidad real de desecharlo o adaptarlo para hacer las cosas de forma distinta. Lo que yo te diría es que intentes considerar NCalc para futuras necesidades, por que te podrá venir de perlas.

Saludos!
55  Sistemas Operativos / Windows / Re: Papel Tapiz con carpeta de imágenes en: 10 Febrero 2021, 01:12 am
En vista de que por otros comentarios tuyos que vi en el foro al parecer utilizas VB.NET, te comento otras dos opciones utilizando directamente la API de Windows.

La primera es mediante una llamada a la función 'SystemParametersInfo' pasándole el valor 'SPI_GETDESKWALLPAPER' (0x0073) al parámetro 'uiAction':

https://msdn.microsoft.com/en-us/library/windows/desktop/ms724947(v=vs.85).aspx
Código
  1. <DllImport("User32.dll", SetLastError:=True, CharSet:=CharSet.Auto, BestFitMapping:=False, ThrowOnUnmappableChar:=True)>
  2. Public Shared Function SystemParametersInfo(action As UInteger,
  3.                                            uiParam As UInteger,
  4.                               <[In]> <Out> pvParam As StringBuilder,
  5.                                            winIni As UInteger
  6. ) As <MarshalAs(UnmanagedType.Bool)> Boolean
  7. End Function

Modo de empleo:
Código
  1. Public Shared Function GetCurrentWallpaperPath() As String
  2.    Dim sb As New System.Text.StringBuilder(capacity:=260)
  3.  
  4.    If Not NativeMethods.SystemParametersInfo(&H73UI, CUInt(sb.Capacity), sb, Nothing) Then
  5.        Throw New Win32Exception([error]:=Marshal.GetLastWin32Error())
  6.    Else
  7.        Return sb.ToString()
  8.    End If
  9. End Function

La segunda es mediante la función 'GetWallpaper' de la interfaz 'IActiveDesktop':

https://msdn.microsoft.com/en-us/library/windows/desktop/bb776357%28v=vs.85%29.aspx
Código
  1. Imports System.Runtime.InteropServices
  2. Imports System.Text
  3.  
  4. Namespace NativeMethods
  5.  
  6.    <ComImport>
  7.    <InterfaceType(ComInterfaceType.InterfaceIsIUnknown)>
  8.    <Guid("F490EB00-1240-11D1-9888-006097DEACF9")>
  9.    Public Interface IActiveDesktop
  10.        Function NotImplemented01() As Integer
  11.        <PreserveSig()> Function GetWallpaper(<MarshalAs(UnmanagedType.LPWStr)> buffer As StringBuilder, bufferSize As Integer, reserved As Integer) As Integer
  12.        Function NotImplemented02() As Integer
  13.        Function NotImplemented03() As Integer
  14.        Function NotImplemented04() As Integer
  15.        Function NotImplemented05() As Integer
  16.        Function NotImplemented06() As Integer
  17.        Function NotImplemented07() As Integer
  18.        Function NotImplemented08() As Integer
  19.        Function NotImplemented09() As Integer
  20.        Function NotImplemented10() As Integer
  21.        Function NotImplemented11() As Integer
  22.        Function NotImplemented12() As Integer
  23.        Function NotImplemented13() As Integer
  24.        Function NotImplemented14() As Integer
  25.        Function NotImplemented15() As Integer
  26.        Function NotImplemented16() As Integer
  27.        Function NotImplemented17() As Integer
  28.        Function NotImplemented18() As Integer
  29.    End Interface
  30.  
  31. End Namespace

Modo de empleo:
Código
  1. Public Shared Function GetCurrentWallpaperPath() As String
  2.  
  3.    Dim typeActiveDesktop As Type = Type.GetTypeFromCLSID(New Guid("{75048700-EF1F-11D0-9888-006097DEACF9}"))
  4.    Dim activeDesktop As IActiveDesktop = DirectCast(Activator.CreateInstance(typeActiveDesktop), IActiveDesktop)
  5.    Dim sb As New System.Text.StringBuilder(capacity:=260)
  6.  
  7.    Dim result As Integer = activeDesktop.GetWallpaper(sb, sb.Capacity, 0)
  8.    If (result <> 0) Then
  9.        Marshal.ThrowExceptionForHR(result)
  10.    End If
  11.  
  12.    Marshal.ReleaseComObject(activeDesktop)
  13.    Return sb.ToString()
  14. End Function
56  Programación / .NET (C#, VB.NET, ASP) / Re: Lista de Operadores Matematicos en: 9 Febrero 2021, 21:42 pm
No pierdas el tiempo ni reinventes la rueda, utiliza un evaluador de expresiones matemáticas. O bien eliges utilizar la función Eval de javascript (mediante el motor de JS de .NET), o bien eliges utilizar la librería de terceros NCalc:


Eval y NCalc son metodologías que implican un tiempo lento de inicialización, pero ambas son robustas, a prueba de fallos. Aquí puedes ver el sofisticado procedimiento de análisis o data parsing y compilación de una expresión matemática con NCalc: https://github.com/ncalc/.../NCalcParser. En general, evaluar expresiones con NCalc es bastante más rápido que con Eval, esto sobre todo se nota al medir el tiempo de ejecución cuando llevamos a cabo muchas operaciones de forma consecutivas en búcle, y en fin, es una solución open-source.

Ejemplo propio en VB.NET para validar sintaxis, y evaluar expresión:

Código
  1. ''' ----------------------------------------------------------------------------------------------------
  2. ''' <summary>
  3. ''' Validates the syntax of an arithmetic expression.
  4. ''' </summary>
  5. ''' ----------------------------------------------------------------------------------------------------
  6. ''' <example> This is a code example.
  7. ''' <code language="VB.NET">
  8. ''' Dim expr As String = "1 + ABC"
  9. ''' Dim isValid As Boolean = ValidateExpression(expr)
  10. ''' </code>
  11. ''' </example>
  12. ''' ----------------------------------------------------------------------------------------------------
  13. ''' <returns>
  14. ''' <see langword="True"/> if the arithmetic expression does not contain syntax errors,
  15. ''' otherwise, <see langword="False"/>.
  16. ''' </returns>
  17. ''' ----------------------------------------------------------------------------------------------------
  18. <DebuggerStepThrough>
  19. Public Shared Function ValidateExpression(expr As String) As Boolean
  20.  
  21.    Dim calc As New Global.NCalc.Expression(expr)
  22.  
  23.    If calc.HasErrors() Then
  24.        Return False
  25.    End If
  26.  
  27.    Try
  28.        Decimal.TryParse(CStr(calc.Evaluate()), New Decimal)
  29.        Return True
  30.  
  31.    Catch
  32.        Return False
  33.  
  34.    End Try
  35.  
  36. End Function
  37.  

Código
  1. ''' ----------------------------------------------------------------------------------------------------
  2. ''' <summary>
  3. ''' Evaluate and return the result of an arithmetic expression.
  4. ''' </summary>
  5. ''' ----------------------------------------------------------------------------------------------------
  6. ''' <example> This is a code example.
  7. ''' <code language="VB.NET">
  8. ''' Dim expr As String = "(1 + (2 - 2)) * (100 / 2.5)" ' = 40
  9. ''' Dim result As Decimal = EvaluateExpression(expr)
  10. ''' </code>
  11. ''' </example>
  12. ''' ----------------------------------------------------------------------------------------------------
  13. ''' <returns>
  14. ''' The resulting value.
  15. ''' </returns>
  16. ''' ----------------------------------------------------------------------------------------------------
  17. ''' <exception cref="Global.NCalc.EvaluationException">
  18. ''' </exception>
  19. ''' ----------------------------------------------------------------------------------------------------
  20. <DebuggerStepThrough>
  21. Public Shared Function EvaluateExpression(expr As String) As Decimal
  22.  
  23.    Dim calc As New Global.NCalc.Expression(expr)
  24.    Dim result As Decimal
  25.  
  26.    If calc.HasErrors() Then
  27.        Throw New Global.NCalc.EvaluationException(message:=calc.Error)
  28.  
  29.    Else
  30.        Try
  31.            result = CDec(calc.Evaluate())
  32.            Return result
  33.  
  34.        Catch ex As Global.NCalc.EvaluationException
  35.            Throw
  36.  
  37.        Catch ex As ArgumentException
  38.            Throw New Global.NCalc.EvaluationException(message:=ex.Message)
  39.  
  40.        Catch ex As Exception
  41.            Throw
  42.  
  43.        End Try
  44.  
  45.    End If
  46.  
  47. End Function

Importante: NCalc no se limita solamente a evaluar expresiones de tipos numéricos, sino que además puede evaluar otros tipos como DateTime y comparaciones de caracteres entre strings, pero las funciones ValidateExpression y EvaluateExpression del código de arriba funcionarán de forma correcta solamente con los tipos simples numéricos, es decir integrales o de punto flotante ( https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/value-types#built-in-value-types ) ya que es el uso que se le pretende dar.

Si prefieres hacerte el guiso por ti mismo, aquí tienes otras alternativas en C# (ordenados por fecha de antiguedad):

Saludos.
57  Programación / .NET (C#, VB.NET, ASP) / Re: [Source Code] AmongUS.MOD | Multi Cheat en: 9 Febrero 2021, 09:00 am
en mi epoca del 1.6 alrededor del 2000 se usaba el cdHack

Que recuerdos, yo también lo jugaba por aquel año, y lo que me asusté cuando me hicieron el "hack" del CD por primera vez (yo no tenía ni idea de programación por aquél entonces) el admin de una partida amenazándome con hackear mi PC xD. Años más tarde descubrí que se trataba de cierta vulnerabilidad.

Consulta, como es el paso a paso para poder llegar a hacer este tipo de hacks?

Paso a paso nadie te va a enseñar a menos que pagues $$$ por el preciado tiempo de enseñanzas. **Aincrad** empezó sin tener absolutamente ni idea de nada sobre este tema, formulando preguntas en este foro, obteniendo respuestas y ayuda (sobre todo de un tal Elektro, cof, cof) y obteniendo así más y más conocimiento poco a poco. También aprendió por su cuenta investigando y a base de ensayo y error, claro está, y cada día aprenderá algo nuevo por que así es el mundo de la informática y de la programación. Es un proceso largo de aprendizaje.

Cuando se trata de cheats / trainers para juegos online o mejor dicho para modos de juego multijugador online, a no ser que encuentres y utilices una API de terceros como en este caso la mencionada "AmongUsMemory" ( https://github.com/shlifedev/AmongUsMemory ) requerirás conocimientos muy avanzados de ing. inversa para destripar por así decirlo todos los valores y estructuras del juego, y luego sabiendo todo eso poder desarrollar un HUD como el de **Aincrad** para mostrar la info de la partida.

**Aincrad** utiliza esta API de terceros como ya viste, primero por que existe y puede usarla en su beneficio, y segundo por que él no tiene el suficiente conocimiento de ing. inversa (por cierto, yo tampoco, hay que estudiar el tema años hasta tener un nivel avanzado y no estoy por la labor de hacerlo) como para desarrollar y reproducir las características de esa misma API por su cuenta, con esto quiero decir que si realmente te interesa hacer algo así en profundidad y desde cero sin depender del trabajo / APIs de otras personas... entonces debes aprender mucho de ing. inversa.

El desarrollo de la interfaz de usuario con o sin semi transparencia es la parte más sencilla (aunque eso no significa que no requiera mucho empeño hacerla, si se quiere hacer bien). Puedes usar la librería SharpDX (wrapper de DirectX) por ejemplo, o utilizar otras metodologías. Los controles de la UI del programa de **Aincrad** son personalizados y de terceros también ( https://gunaframework.com/features/ ).

Como ves no consiste en desarrollarlo absolutamente todo por uno mismo, sino en apoyarse en la utilización de código y recursos y herramientas y APIs y lo que sea de terceros para hacerlo. No quiero parecer condescendiente, pero es obvio que el ser humano trabaja mejor (o al menos más rápido) como sociedad colectiva, y en el mundo de la programación y de la programación bajo la plataforma de .NET Framework existe una infinidad de librerias / controles / herramientas a tu disposición que han sido desarrolladas por otros programadores, tanto gratuitas como comerciales, y el hecho de apropiarse de dichas herramientas (con permiso y con una mención al autor) no es algo poco profesional sino todo lo contrario, es una gran ventaja y una virtud el saber encontrar y utilizar dichas herramientas para optimizar el tiempo de desarrollo y el resultado final.



Por cierto, @**Aincrad**, es todo un detalle que salga el nombre de ElektroStudios en los colaboradores del proyecto. Seguro que esté donde esté te manda un saludo y te lo agradece.

Saludos
58  Foros Generales / Foro Libre / Re: Mónico Sánchez, el inventor que quiso convertir un pueblo de Ciudad Real en el Silicon Valley de principios del sigl en: 7 Febrero 2021, 14:14 pm
¿Pero Mónico es el masculino de Mónica, o es un nombre extranjero?. El nombre es muy raro y mi inquietud muy grande.
59  Foros Generales / Foro Libre / Re: Así será la misión de la NASA a 16-Psyche, el asteroide que 'vale' 74 billones de dólares en: 7 Febrero 2021, 14:03 pm
Citar
Pero no, el objetivo no es extraer el oro y traerlo de vuelta a la Tierra, sino que la misión es mucho más científica: investigar la composición de su núcleo, cómo se formó y, con ello, obtener resultados valiosos sobre cómo nacieron la Tierra y el resto de planetas.

No puedo parar de reir. Cada vez que sale alguna noticia sobre NASA, es un chiste en si mismo.

Sigo esperando a que se manifiesten sobre esa misión de colonizar la atmosfera de Venus montando una ciudad flotante de humanos usando globos en las nubes, nos lo prometieron para el año 2022...

https://hipertextual.com/2014/12/venus-colonizacion
https://www.xlsemanal.com/conocer/ciencia/20201023/venus-vida-planeta-conquista-espacio-misiones.html

Seguro que el año que viene se pronunciarán al respecto. ¡SEGURO!.

Ahora en serio, basura de agencia espacial la NASA que solo publica chorradas para llamar la atención y luego no hacen nada de lo que dicen, NADA. Buitres que prometen hacer (nuevos) logros por la humanidad solo para seguir recibiendo dinero de inversionistas y subvencionistas.
60  Foros Generales / Foro Libre / Re: Porque no vivo el presente y me estanco siempre en el pasado? (Hilo muy serio) Hilo muy serio y que me preocupa. en: 7 Febrero 2021, 13:25 pm
Recuerdo algo que te dijeron Machacador y Simorg... y creo que tuvieron mucha razón...
https://foro.elhacker.net/foro_libre/os_han_rechazado_algunas_vez_o_mas_veces_en_la_vida_sed_sinceros-t506143.0.html;msg2226189#msg2226189

Hilos como este creo que sobran y son absurdos (te delatan):
https://foro.elhacker.net/foro_libre/quereis_que_me_vaya_del_foro_soy_una_molestia_para_los_demas_usuarios-t507595.0.html;msg2230986#msg2230986

Tienes una muy buena vida a pesar de la disminuición la cual aparentemente no te genera problemas físicos ni sociales, entonces, ¿de que te quejas?, ¿a que vienes aquí a sentirte el centro de atención?, ¿te gusta manipular a los demás?...

Personas manipuladoras: 8 características que las delatan
Páginas: 1 2 3 4 5 [6] 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines