1. Вы находитесь в архивной версии форума xaker.name. Здесь собраны темы с 2007 по 2012 год, большинство инструкций и мануалов уже неактуальны.

Помогите расшифровать поля БД (mdb)

  1. Есть база, есть клиентская часть. В базе ключевые поля пошифрованы и выглядят отак.
    [​IMG]
    Естественно в клиентской части они вполне читабельны. При произвольной замене символов в этих полях клиент выдает ошибку.
    Можно ли как-то выяснить каким образом шифруются эти строки, расшифровать их, заменить на нужные мне значения и зашифровать обратно, чтобы програма их приняла?

    Вот как выдал процедуру дешифровки VB Decompiler
    Код:
    Public Sub Proc_105_0_559AE0
      loc_00559B09: var_14 = &H405B08
      loc_00559B10: var_10 = 0
      loc_00559B17: var_C = 0
      loc_00559B1E: var_4 = 1
      loc_00559B25: var_4 = 2
      loc_00559B2E: On Error Resume Next
      loc_00559B34: var_4 = 3
      loc_00559B55: var_74 = 0042BB14h
      loc_00559B98: Proc_00479FF0("t8", var_84, "f6")
      loc_00559BD7: var_54 = StrConv(var_84, 128, 0)
      loc_00559C0D: var_4 = 4
      loc_00559C2E: var_74 = 0042BB14h
      loc_00559C71: Proc_00479FF0(00447050h, "t2", var_84)
      loc_00559C95: var_58 = var_84
      loc_00559CBE: var_4 = 5
      loc_00559CDF: var_74 = 0042BB14h
      loc_00559CFB: var_6C = 00447064h
      loc_00559D22: Proc_00479FF0("t2", var_84, var_6C)
      loc_00559D46: var_28 = var_84
      loc_00559D6F: var_4 = 6
      loc_00559D89: ReDim var_50(0 To 31)
      loc_00559D92: var_4 = 7
      loc_00559D99: var_B4 = 15
      loc_00559DA3: var_B0 = 1
      loc_00559DAD: var_24 = 0
      loc_00559DB4: GoTo loc_00559DC8
      loc_00559DB6: 
      loc_00559DB9: 0 = 0 + 1
      loc_00559DC8: 
                    If 0 > 0 Then GoTo loc_00559EC4
      loc_00559DD7: var_4 = 8
      loc_00559DF3: 0 = 0 - edx+14h
                    If  Then GoTo loc_00559E16
      loc_00559E0A: var_D8 = 0
      loc_00559E14: GoTo loc_00559E22
      loc_00559E16: Err.Raise
      loc_00559E22: 
      loc_00559E28: var_DC = var_AC
      loc_00559E2E: GoTo loc_00559E3C
      loc_00559E30: Err.Raise
      loc_00559E51: 0 = 0 - edx+14h
                    If  Then GoTo loc_00559E74
      loc_00559E68: var_E0 = 0
      loc_00559E72: GoTo loc_00559E80
      loc_00559E74: Err.Raise
      loc_00559E80: 
      loc_00559E86: var_E4 = var_A8
      loc_00559E8C: GoTo loc_00559E9A
      loc_00559E8E: Err.Raise
      loc_00559E9A: 
      loc_00559EB8: var_4 = 9
      loc_00559EBF: GoTo loc_00559DB6
      loc_00559EC4: var_4 = 10
      loc_00559ED7: Proc_0050B2B0(var_28, var_50, var_58)
      loc_00559EDC: var_A4 = Proc_0050B2B0(var_28, var_50, var_58)
      loc_00559EED: var_2C = Proc_0050B2B0(var_28, var_50, var_58)
      loc_00559EF3: var_4 = 11
      loc_00559EFA: var_BC = 13
      loc_00559F04: var_B8 = 1
      loc_00559F0E: var_24 = 0
      loc_00559F15: GoTo loc_00559F29
      loc_00559F17: 
      loc_00559F1A: 0 = 0 + 1
      loc_00559F29: 
                    If 0 > 0 Then GoTo loc_00559FEC
      loc_00559F38: var_4 = 12
      loc_00559F54: 0 = 0 - edx+14h
                    If  Then GoTo loc_00559F77
      loc_00559F6B: var_E8 = 0
      loc_00559F75: GoTo loc_00559F83
      loc_00559F77: Err.Raise
      loc_00559F83: 
      loc_00559F89: var_EC = var_AC
      loc_00559F8F: GoTo loc_00559F9D
      loc_00559F91: Err.Raise
      loc_00559F9D: 
                    If var_A8 >= 0 Then GoTo loc_00559FBB
      loc_00559FAF: var_F0 = 0
      loc_00559FB9: GoTo loc_00559FC7
      loc_00559FBB: Err.Raise
      loc_00559FC7: 
      loc_00559FE0: var_4 = 13
      loc_00559FE7: GoTo loc_00559F17
      loc_00559FFD: call __vbaCopyBytes(0000000Eh, var_3C, var_4C, var_6C)
      loc_0055A00E: Proc_005097B0(__vbaCopyBytes(0000000Eh, var_3C, var_4C, var_6C), var_3C, var_4C)
                    If word ptr var_3C <> 0 Then GoTo loc_0055A06A
      loc_0055A017: var_4 = 16
      loc_0055A021: var_39 = var_39 + var_36
                    If Not Asm.b_flag Then GoTo loc_0055A12F
      loc_0055A02A: var_39 = var_39 + var_35
                    If Not Asm.b_flag Then GoTo loc_0055A12F
      loc_0055A033: var_39 = var_39 + var_3A
                    If Not Asm.b_flag Then GoTo loc_0055A12F
      loc_0055A03C: var_39 = var_39 + var_38
                    If Not Asm.b_flag Then GoTo loc_0055A12F
      loc_0055A045: var_39 = var_39 + var_37
                    If Not Asm.b_flag Then GoTo loc_0055A12F
                    If var_34 <> 0 Then GoTo loc_0055A06A
      loc_0055A053: var_4 = &H11
      loc_0055A064: call __vbaCopyBytes(0000000Eh, var_68, var_3C)
      loc_0055A06A: 
      loc_0055A06F: GoTo loc_0055A0B1
      loc_0055A0B0: Exit Sub
      loc_0055A0B1: 
      loc_0055A0FC: Exit Sub
    End Sub