Снятие парольной защиты с xls

Discussion in 'Уязвимости' started by win32.gui, 23 Jan 2013.

  1. win32.gui

    win32.gui Member

    Joined:
    6 Jan 2010
    Messages:
    191
    Likes Received:
    37
    Reputations:
    6
    Добрый день господа, подскажите в таком вопросе:

    На предприятии нам рассылают тупые тесты по американскому стандарту на профпригодность в экселевском формате (я так понимаю макросы задействованы) - там туча вопросов, и даётся 30 минут на ответ- после этого фаил для редактирования недоступен. Стоит парольная защита на изменение листа.
    Чем можно поковырять и изменить на нужные значения тест, ибо у меня нет ни времени, ни желания отвечать на тупые амирокосовские корпоративные вопросы ?

    PS господа модераторы, если не сюда написал - прошу перенести в нужный раздел
     
  2. \/IRUS

    \/IRUS Elder - Старейшина

    Joined:
    3 Aug 2012
    Messages:
    379
    Likes Received:
    496
    Reputations:
    37
    Жмякаешь Alt+F11, добавляешь модуль с этим кодом.
    Code:
    Sub PasswordBreaker()
       'Author unknown but submitted by brettdj of www.experts-exchange.com
       
       Dim i As Integer, j As Integer, k As Integer
       Dim l As Integer, m As Integer, n As Integer
       Dim i1 As Integer, i2 As Integer, i3 As Integer
       Dim i4 As Integer, i5 As Integer, i6 As Integer
       On Error Resume Next
       For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
       For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
       For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
       For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
          
             
      ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
           Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
           Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
       If ActiveSheet.ProtectContents = False Then
           MsgBox "One usable password is " & Chr(i) & Chr(j) & _
               Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
               Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
        ActiveWorkbook.Sheets(1).Select
        Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
               Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
               Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
            Exit Sub
       End If
       Next: Next: Next: Next: Next: Next
       Next: Next: Next: Next: Next: Next
    
    
     End Sub
    Ищешь закрытый лист и выполняешь макрос PasswordBreaker
     
    1 person likes this.
Loading...