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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Saber en un programa la fórmula matemática.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Saber en un programa la fórmula matemática.  (Leído 3,145 veces)
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Saber en un programa la fórmula matemática.
« en: 30 Enero 2014, 09:58 am »

Hola:

Quiero saber en un programa la fórmula matemática que tiene incluida como muestra esta imagen.



La descarga es aquí.
https://mega.co.nz/#!wU9HCSAZ!fnT5yQRkR-PUiDrkPNB7TAlHNecRa9p-2EUVChCPuM0

Donde pone seedNumber que como ejemplo introduje 123456789000, pulsas el botón generar y te sale en Password e código generado que en este caso es 1110EDEF, en hexadecimal.

¿Es posible saber lo que quiero?

Parece que le código está hecho con VB 6 o C++ 6 de MicroSoft por supuesto.

Vamos haber si se puede hacer una igeniería inversa de este pequeño programa que aparenta ser sencillo.

Cuando averigüe la fórmula, lo pasaré a C#, C++ y V Basic 2013.

Saludo.
« Última modificación: 31 Enero 2014, 21:59 pm por Meta » En línea

.:UND3R:.
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.118


Ingeniería inversa / MASM


Ver Perfil WWW
Re: Saber en un programa la fórmula matemática.
« Respuesta #1 en: 30 Enero 2014, 16:16 pm »

y hasta a donde has llegado?, ¿Qué función o grupo de instrucciones te parecen sospechosas?, ¿Qué debugger has utilizado?, ¿Posee protecciones?

Por favor leer el F.A.Q
http://foro.elhacker.net/ingenieria_inversa/faq_iquesteres_nuevo_aprende_ingenieria_inversa_desde_cero-t345798.0.html

POST SIMILARES:
http://foro.elhacker.net/ingenieria_inversa/ayuda_iquesten_este_caso_que_se_hace-t407778.0.html

http://foro.elhacker.net/ingenieria_inversa/ayuda_por_favor-t407527.0.html

http://foro.elhacker.net/ingenieria_inversa/hola_soy_nuevo_en_la_comunidad_y_tengo_un_problemon-t407376.0.html

http://foro.elhacker.net/ingenieria_inversa/crackear_este_exe-t407058.0.html

y más y más y más...............................
« Última modificación: 30 Enero 2014, 16:18 pm por .:UND3R:. » En línea


Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Saber en un programa la fórmula matemática.
« Respuesta #2 en: 30 Enero 2014, 20:17 pm »

Hola:

Estuve buscando que te busca en San Google gracias a los enlaces mostrados y llegué a esto:

Es un programa de dotnet. Puedes usar ILSpy para encontrar y extraer la rutina generadora.

Código
  1. private string Calculo_Password(string seedNumber)
  2. {
  3. int num = Convert.ToInt32(seedNumber.Substring(0, 6), 16);
  4. int num2 = num + 284206435;
  5. int num3 = Convert.ToInt32(seedNumber.Substring(10, 2), 16);
  6. num3 &= 7;
  7. int num4 = num2 >> num3 | num2 << 32 - num3;
  8. return (num4 ^ num).ToString("X");
  9. }

Los que quieran confirmarlo sabrán su estilo de como hacerlo.

Gracias por la ayuda mi muy distinguido amigo.
En línea

tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: Saber en un programa la fórmula matemática.
« Respuesta #3 en: 30 Enero 2014, 20:26 pm »

pues de entrada le has errado al compilador! y mientras escribía el mensaje publicaron otro.
en efecto la rutina es:
   
    int num = Convert.ToInt32(seedNumber.Substring(0, 6), 0x10);
    int num2 = num + 0x10f0a563;
    int num3 = Convert.ToInt32(seedNumber.Substring(10, 2), 0x10) & 7;
    int num4 = (num2 >> num3) | (num2 << (0x20 - num3));
    num4 ^= num;
    return num4.ToString("X");
que es la misma que la ya publicada, claro que la salida es en hexa como esta y no en decimal como está expresada la anterior
En línea

Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Saber en un programa la fórmula matemática.
« Respuesta #4 en: 31 Enero 2014, 00:07 am »

Ok, eso me estaba fijando en el código, todo en hexadecimal.

Otra cosa que no me sale, ya casi tengo olvidado la programación, ajjajaja. Tengo que reponerme.

He hecho un formulario nuevo en C# pero no se hacer que me funcione bien.

Código completo.

Le introduje dos textBox y un Button que sus nombres  son:

button_Generar

textBox_seedNumber

textBox_Password


Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace ZynPass
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        private void button_Generar_Click(object sender, EventArgs e)
  21.        {
  22.            //void Calculo_Password();
  23.        }
  24.  
  25.        private string Calculo_Password(string seedNumber)
  26.        {
  27.             int num = Convert.ToInt32(seedNumber.Substring(0, 6), 0x10);
  28.             int num2 = num + 0x10f0a563;
  29.             int num3 = Convert.ToInt32(seedNumber.Substring(10, 2), 0x10) & 7;
  30.             int num4 = (num2 >> num3) | (num2 << (0x20 - num3));
  31.             num4 ^= num;
  32.             return num4.ToString("X");
  33.        }
  34.    }
  35. }
En línea

Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Saber en un programa la fórmula matemática.
« Respuesta #5 en: 1 Febrero 2014, 04:10 am »

Holas:

Ya funciona.

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace ZynPass
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.        public Form1()
  16.        {
  17.            InitializeComponent();
  18.        }
  19.  
  20.        private void button_Generar_Click(object sender, EventArgs e)
  21.        {
  22.            try
  23.            {
  24.                textBox_Password.Text = Calculo_Password(textBox_seedNumber.Text);
  25.            }
  26.            catch (Exception ex)
  27.            {
  28.                MessageBox.Show("Debe ingresar un número de 12 cifras hexadeximales [0-9, A-F, a-f]", "E R R O R", MessageBoxButtons.OK, MessageBoxIcon.Hand);
  29.            }
  30.        }
  31.  
  32.        private string Calculo_Password(string seedNumber)
  33.        {
  34.            int num = Convert.ToInt32(seedNumber.Substring(0, 6), 0x10);
  35.            int num2 = num + 0x10f0a563;
  36.            int num3 = Convert.ToInt32(seedNumber.Substring(10, 2), 0x10) & 7;
  37.            int num4 = (num2 >> num3) | (num2 << (0x20 - num3));
  38.            num4 ^= num;
  39.            return num4.ToString("X");
  40.        }
  41.    }
  42. }

Gracias por la ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
programa de la formula general
Programación Visual Basic
leahcim 2 17,467 Último mensaje 5 Octubre 2005, 18:02 pm
por _Sergi_
Hay alguna forma de saber con que programa se creo ese programa?
Dudas Generales
Senior++ 2 3,415 Último mensaje 31 Julio 2011, 15:16 pm
por Senior++
Me ayudan con una formula Matematica?
Foro Libre
Megan 3 2,274 Último mensaje 9 Enero 2012, 04:26 am
por theluigy13etv
AYUDA PROGRAMA FORMULA SIMPSON 1/2
Programación C/C++
RUNJAVCOS 0 2,457 Último mensaje 28 Septiembre 2013, 07:07 am
por RUNJAVCOS
Saber la nota de examen tipo test aplicando la siguiente formula
Foro Libre
El_Andaluz 7 5,029 Último mensaje 10 Abril 2016, 22:13 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines