Hola a todos!
Espero pueda ayudarme realmente ya no se que hacer ya e intentado lo poco que se. El caso es que tengo un programa en VB .net con una conexion a una base de datos Access, pero esta conexion esta hecho por un modulo el cual crea un archivo Config.ini el cual cifra la contraseña de la base de datos.
Lo que yo necesito es ver la contraseña de la base de datos ya que no la tengo y pues la conexion no la hice yo quisiera me pudieran ayudar para saber la contraseña o saber donde se aloja dicha contraseña a continuacion les paso el codigo del modulo:
Donde aparece subryado deberia de estar la contraseña y en su lugar esta la llamada al modulo hecho antes y este modulo lo que contiene es la declaracion de variables y la Public MASCARA
Un colaborador de un foro me recomendo hacer un proyecto y colocar ahi el Modulo y la classEncriptar y luego ejecutarlo paso a paso pero simplemente no se por donde ver el codio ya lo e intentado por favor ayuda.
Friend Module ModInicio
Public MascaraDefault As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
Public strDNS As String
Public strusr As String
Public strpwd As String
Public strconn As String
Public m_mascara As String
Public Usuario As String
Public Rol As Integer
Public DescRol As String
Public FechaFin As String
Private Function fAsignaMascara() As String
Dim result As String
If Strings.Len(ModInicio.m_mascara) <= 0 Then
result = ModInicio.MascaraDefault
Else
result = ModInicio.m_mascara
End If
Return result
End Function
Public Function cifrar(valor As String) As String
Dim result As String
Try
Dim str As String = ModInicio.fAsignaMascara()
Dim text As String = Conversions.ToString(Conversion.Int(9F * VBMath.Rnd() + 1F))
Dim arg_2C_0 As Integer = 1
Dim num As Integer = Strings.Len(valor)
' The following expression was wrapped in a checked-statement
For i As Integer = arg_2C_0 To num
Dim text2 As String = Conversion.Hex(Strings.Asc(Strings.Mid(valor, i, 1)) + Strings.Asc(Strings.Mid(str, i, 1)))
Select Case Strings.Len(text2)
Case 1
text = text + "00" + text2
Case 2
text = text + "0" + text2
Case 3
text += text2
End Select
Next
result = text
Catch expr_A1 As System.Exception
ProjectData.SetProjectError(expr_A1)
Dim ex As System.Exception = expr_A1
Interaction.MsgBox("Error en funcion cifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
result = Nothing
ProjectData.ClearProjectError()
End Try
Return result
End Function
Public Function descifrar(valor As String) As String
' The following expression was wrapped in a checked-statement
Dim result As String
Try
Dim str As String = ModInicio.fAsignaMascara()
Dim text As String = ""
Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
Dim arg_2B_0 As Integer = 1
Dim num As Integer = Strings.Len(valor) - 1
For i As Integer = arg_2B_0 To num Step 3
text += Conversions.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(Conversions.ToDecimal("&H" + Strings.Mid(str2, i, 3)), New Decimal(Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1)))))))
Next
result = text
Catch expr_89 As System.Exception
ProjectData.SetProjectError(expr_89)
Dim ex As System.Exception = expr_89
Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
result = Nothing
ProjectData.ClearProjectError()
End Try
Return result
End Function
Public Function App_Path() As String
Return System.Environment.CurrentDirectory
End Function
Public Sub Conexion()
Try
Dim classEncriptar As ClassEncriptar = New ClassEncriptar()
AddressOf classEncriptar.Archivo = ModInicio.App_Path() + "\config.ini"
ModInicio.strDNS = classEncriptar.LeeIni("DBMS", "DSN")
ModInicio.strusr = ModInicio.descifrar(classEncriptar.LeeIni("DBMS", "USER"))
ModInicio.strpwd = ModInicio.descifrar(classEncriptar.LeeIni("DBMS", "PASS"))
ModInicio.strconn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\DB_Coleccion.accdb;Persist Security Info=False;Jet OLEDB:Database Password="+ ModInicio.strpwd + ";"
Catch expr_7F As System.Exception
ProjectData.SetProjectError(expr_7F)
Dim ex As System.Exception = expr_7F
Interaction.MsgBox("Error en funcion Conexion - Modulo Inicio " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
ProjectData.ClearProjectError()
End Try
End Sub
End Module
Mod: Los códigos deben ir en etiquetas GeSHi, movido cada tema tiene su subforo
Hola!
Por lo que veo, la pass está en el file Config.ini. Al parecer, está en fomrato INI, osea que debería ser algo como:
[DBMS]
PASS=EstaEsLaPassword
Donde EstaEsLaPassword sería la pass cifrada, la cual descifras con la función descifrar (cosa muy sencilla pues tienes todo el fuente).
Además, si la base es un MDB (Access), puedes sacar la pass fácilmente con tooles de recuperación de pass, como, por ej., Passware Kit Enterprise o Forensics (búscalos con Google).
Saludos!
Hola.
antes que nada gracias por tomarte el tiempo de responder.
te cuento, ya he buscado otras pero en formato .mdb pero esta esta en formato .accdb el cual he intentado con varios programas para buscar el pass pero no he tenido buenos resultados, intentare con los que me dices.
La pas si esta en un archivo Config.ini, pero no se como hacer esa funcion para desencriptarla, pues apenas me estoy iniciando en este lenguaje
[DBMS]
USER= "50BA0D30DD0D20D3"
PASS= "70BD09F0BE0AD0980C40A30C30A60920A60990A50AA"
esto contiene el archivo .ini
Saludos
Hola!
Prueba con esta pass:
D0ND3V0TA$2015
Usé este código para sacarla (1 Form con 1 botón):
Public Class Form1
Public Function descifrar(valor As String) As String
Dim result As String
Try
Dim str As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
Dim text As String = ""
Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
Dim arg_2B_0 As Integer = 1
Dim num As Integer = Strings.Len(valor) - 1
Dim a As Decimal = 0
Dim b As Decimal = 0
For i As Integer = arg_2B_0 To num Step 3
Dim s As String = Strings.Mid(str2, i, 3)
a = System.Convert.ToInt32(s, 16)
b = Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1))
text += System.Convert.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(a, b))))
Next
result = text
Catch expr_89 As System.Exception
Dim ex As System.Exception = expr_89
Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
result = Nothing
End Try
Return result
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Debug.Print(descifrar("70BD09F0BE0AD0980C40A30C30A60920A60990A50AA"))
End Sub
End Class
Saludos!
PD: El valor sale en la ventana de Output.
Gracias
Enserio te debo la vida
muchas gracias si funciono!!!!!
gracias me haz ayudado como no tienes idea mil gracias
Hola, buenas tardes. soy nuevo en esto de programar. ya intente de todas las formas y no puedo obtener el pass.
USER= "50BA0D30DD0D20D3"
PASS= "70BD0BE0BE0AD0980C40C20C30A60920A60990A50AD"
Cita de: MCKSys Argentina en 24 Agosto 2015, 07:57 AM
Hola!
Prueba con esta pass:
D0ND3V0TA$2015
Usé este código para sacarla (1 Form con 1 botón):
Public Class Form1
Public Function descifrar(valor As String) As String
Dim result As String
Try
Dim str As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
Dim text As String = ""
Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
Dim arg_2B_0 As Integer = 1
Dim num As Integer = Strings.Len(valor) - 1
Dim a As Decimal = 0
Dim b As Decimal = 0
For i As Integer = arg_2B_0 To num Step 3
Dim s As String = Strings.Mid(str2, i, 3)
a = System.Convert.ToInt32(s, 16)
b = Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1))
text += System.Convert.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(a, b))))
Next
result = text
Catch expr_89 As System.Exception
Dim ex As System.Exception = expr_89
Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
result = Nothing
End Try
Return result
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Debug.Print(descifrar("70BD09F0BE0AD0980C40A30C30A60920A60990A50AA"))
End Sub
End Class
Saludos!
PD: El valor sale en la ventana de Output.
Hola!
El código que puse te resuelve el problema, sólo debes cambiar el valor que dió el otro usuario por el tuyo y ejecutarlo en Visual Studio.
Si no dispones de Visual Studio, puedes ejecutar el código aquí (https://www.tutorialspoint.com/compile_vb.net_online.php), pero quedaría de otra forma:
Module VBModule
Public Function descifrar(valor As String) As String
Dim result As String
Try
Dim str As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
Dim text As String = ""
Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
Dim arg_2B_0 As Integer = 1
Dim num As Integer = Strings.Len(valor) - 1
Dim a As Decimal = 0
Dim b As Decimal = 0
For i As Integer = arg_2B_0 To num Step 3
Dim s As String = Strings.Mid(str2, i, 3)
a = System.Convert.ToInt32(s, 16)
b = Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1))
text += System.Convert.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(a, b))))
Next
result = text
Catch expr_89 As System.Exception
Dim ex As System.Exception = expr_89
Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
result = Nothing
End Try
Return result
End Function
Sub Main()
Console.WriteLine(descifrar("70BD0BE0BE0AD0980C40C20C30A60920A60990A50AD"))
End Sub
End Module
Saludos!
PD: De la pass, sólo ha cambiado 1 caracter. ;)
EDIT: Te he respondido, pero no deberías responder en temas tan viejos. Lee las reglas del foro antes de seguir posteando (link en mi firma)
Muchas gracia. Por supuesto leeré las reglas. y me esta facinando esto de la programación. me pasare más seguido por este foro. Muchas Gracias.. saludos.
Cita de: MCKSys Argentina en 12 Febrero 2019, 00:19 AM
Hola!
El código que puse te resuelve el problema, sólo debes cambiar el valor que dió el otro usuario por el tuyo y ejecutarlo en Visual Studio.
Si no dispones de Visual Studio, puedes ejecutar el código aquí (https://www.tutorialspoint.com/compile_vb.net_online.php), pero quedaría de otra forma:
Module VBModule
Public Function descifrar(valor As String) As String
Dim result As String
Try
Dim str As String = "yopiensoentituvivesenmimentesolafijasintreguaatodahora"
Dim text As String = ""
Dim str2 As String = Strings.Mid(valor, 2, Strings.Len(Strings.Trim(valor)))
Dim arg_2B_0 As Integer = 1
Dim num As Integer = Strings.Len(valor) - 1
Dim a As Decimal = 0
Dim b As Decimal = 0
For i As Integer = arg_2B_0 To num Step 3
Dim s As String = Strings.Mid(str2, i, 3)
a = System.Convert.ToInt32(s, 16)
b = Strings.Asc(Strings.Mid(str, Strings.Len(text) + 1, 1))
text += System.Convert.ToString(Strings.Chr(System.Convert.ToInt32(Decimal.Subtract(a, b))))
Next
result = text
Catch expr_89 As System.Exception
Dim ex As System.Exception = expr_89
Interaction.MsgBox("Error en funcion descifrar " & vbCrLf + ex.Message, MsgBoxStyle.OkOnly, Nothing)
result = Nothing
End Try
Return result
End Function
Sub Main()
Console.WriteLine(descifrar("70BD0BE0BE0AD0980C40C20C30A60920A60990A50AD"))
End Sub
End Module
Saludos!
PD: De la pass, sólo ha cambiado 1 caracter. ;)
EDIT: Te he respondido, pero no deberías responder en temas tan viejos. Lee las reglas del foro antes de seguir posteando (link en mi firma)