1. VisualBasic / Говнокод #13752

    −353

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    Dim ll As Byte 
    Private Sub Command1_Click() ' При нажатие на кнопку "Кодировка" 
    For i = 1 To Len(Text1) Step 1 ' Читаем тест 1 от начало до канца с шагом 1 
    l = Asc(Mid(Text1, i, 1)) 
    Text2.Text = Text2 & Len(l) & Asc(Mid(Text1, i, 1)) ' записываем код в text 
    2 
    ' l = Asc(Mid(Text1, i, 1)) и Len(l) - это для того что б знать сколько 
    чисел у закодированого символа. Это нам нужно для раскодировки 
    Next i ' конец чтению текста 1 
    End Sub 
    Private Sub Command2_Click() ' При нажатии кнопки "Раскодировка" 
    ll=1 ' пишим начало от счёта 
    timer1.enabled=true ' включаем таймер 
    End Sub 
    Private Sub Text1_Change() 
    Text2 = "" ' сдесь при изменение текста 1 текст 2 = "" (вы можете этого и не 
    делать) 
    End Sub 
    Private Sub Text2_Change() 
    Text4 = Text2 " тут при изменение кода в тексте 2 этот код копируеться в 
    текст4 
    End Sub 
    Private Sub Text4_Change() 
    Text3 = "" ' сдесь при изменение текста 4 текст 3 = "" (вы можете этого и 
    не делать) 
    End Sub 
    Private Sub Timer1_Timer() 
       
    For i2 = 1 To 255 Step 1 
    If Mid(Text4, ll, 1) = "1" Or Mid(Text4, ll, 1) = "2" Or Mid(Text4, ll, 1) = 
    "3" Then If Val(Mid(Text4, ll + 1, Mid(Text4, ll, 1))) = i2 Then Text3 = 
    Text3 & asc1(Val(Mid(Text4, ll + 1, Mid(Text4, ll, 1)))): ll = ll + 
    Val(Mid(Text4, ll, 1)) + 1 ' сначало сравниваем числа 1,2,3 с кодом , эти 
    чилса обозначают из скольки символов состоит следующий код символа, потом мы 
    читаем и сравниваем код символа с перечисленым кодом , дальше мы записываем 
    каждую прочитанную букву при помощи моей функцией она записана в модуле 
    
    Next i2 
    If ll > Len(Text4) Then Timer1.Enabled = False ' если ll станет больше числа 
    символов в тексте, тогда таймер выключаеться 
    End Sub 
    
    Select Case ch
    Case 48: asc1 = "0": Case 49: asc1 = "1": Case 50: asc1 = "2": Case 51: asc1 
    = "3": Case 52: asc1 = "4": Case 53: asc1 = "5": Case 54: asc1 = "6": Case 
    55: asc1 = "7": Case 56: asc1 = "8": Case 57: asc1 = "9"
    Case 65: asc1 = "A": Case 66: asc1 = "B": Case 67: asc1 = "C": Case 68: asc1 
    = "D": Case 69: asc1 = "E": Case 70: asc1 = "F": Case 71: asc1 = "G": Case 
    72: asc1 = "H": Case 73: asc1 = "I": Case 74: asc1 = "J": Case 75: asc1 = 
    "K": Case 76: asc1 = "L": Case 77: asc1 = "M": Case 78: asc1 = "N": Case 79: 
    asc1 = "O": Case 80: asc1 = "P": Case 81: asc1 = "Q": Case 82: asc1 = "R": 
    Case 83: asc1 = "S": Case 84: asc1 = "T": Case 85: asc1 = "U": Case 86: asc1 
    = "V": Case 87: asc1 = "W": Case 88: asc1 = "X": Case 89: asc1 = "Y": Case 
    90: asc1 = "Z"
    Case 97: asc1 = "a": Case 98: asc1 = "b": Case 99: asc1 = "c": Case 100: 
    asc1 = "d": Case 101: asc1 = "e": Case 102: asc1 = "f": Case 103: asc1 = 
    "g": Case 104: asc1 = "h": Case 105: asc1 = "i": Case 106: asc1 = "j": Case 
    107: asc1 = "k": Case 108: asc1 = "l": Case 109: asc1 = "m": Case 110: asc1 
    = "n": Case 111: asc1 = "o": Case 112: asc1 = "p": Case 113: asc1 = "q": 
    Case 114: asc1 = "r": Case 115: asc1 = "s": Case 116: asc1 = "t": Case 117: 
    asc1 = "u": Case 118: asc1 = "v": Case 119: asc1 = "w": Case 120: asc1 = 
    "x": Case 121: asc1 = "y": Case 122: asc1 = "z"
    Case 192: asc1 = "А": Case 193: asc1 = "Б": Case 194: asc1 = "В": Case 195: 
    asc1 = "Г": Case 196: asc1 = "Д": Case 197: asc1 = "Е": Case 168: asc1 = 
    "Ё": Case 198: asc1 = "Ж": Case 199: asc1 = "З": Case 200: asc1 = "И": Case 
    201: asc1 = "Й": Case 202: asc1 = "К": Case 203: asc1 = "Л": Case 204: asc1 
    = "М": Case 205: asc1 = "Н": Case 206: asc1 = "О": Case 207: asc1 = "П": 
    Case 208: asc1 = "Р": Case 209: asc1 = "С": Case 210: asc1 = "Т": Case 211: 
    asc1 = "У": Case 212: asc1 = "Ф": Case 213: asc1 = "Х": Case 214: asc1 = 
    "Ц": Case 215: asc1 = "Ч": Case 216: asc1 = "Ш": Case 217: asc1 = "Щ": Case 
    218: asc1 = "Ъ": Case 219: asc1 = "Ы": Case 220: asc1 = "Ь": Case 221: asc1 
    = "Э": Case 222: asc1 = "Ю": Case 223: asc1 = "Я"
    Case 224: asc1 = "а": Case 225: asc1 = "б": Case 226: asc1 = "в": Case 227: 
    asc1 = "г": Case 228: asc1 = "д": Case 229: asc1 = "е": Case 184: asc1 = 
    "ё": Case 230: asc1 = "ж": Case 231: asc1 = "з": Case 232: asc1 = "и": Case 
    233: asc1 = "й": Case 234: asc1 = "к": Case 235: asc1 = "л": Ca
    
    
    
    и еще до кучи символов... )

    Суровое школоло на службе КГБ.

    Кодирование и раскодирование текста, Урок 197 чать 2
    http://vbbook.ru/visual-basic/kodirovanie-i-raskodirovanie-teksta-yrok-197-chat-2/

    Запостил: Stertor, 08 Сентября 2013

    Комментарии (23) RSS

    • показать все, что скрыто
      Case 224: asc1 = "а": Case 225: asc1 = "б": Case 226: asc1 = "в": Case 227: 
      asc1 = "г": Case 228: asc1 = "д": Case 229: asc1 = "е": Case 184: asc1 = 
      "ё": Case 230: asc1 = "ж": Case 231: asc1 = "з": Case 232: asc1 = "и": Case 
      233: asc1 = "й": Case 234: asc1 = "к": Case 235: asc1 = "л":

      Уж если так извращался, придумал бы для каждого ascii-символа свой собственный код.
      А между тем расшифровщик пишется в 2-3 строки. Я даже приводил его там, когда мы с местным батюшкой еще были в хороших счетах.
      Ответить
      • Такое количество ботов может иметь только лурик.
        Кто минусует, покажись! )
        Ответить
      • Ох епта, у него там еще и таймер каким-то макаром приплетен - только сейчас заметил.
        Бля, в мое суровое время было принято прятать исходники, а распространять уже скомпилированные бинарники (чтобы знающие не увидели ошибок и не засмеяли), а теперь очевидно, нравы поменялись: быдлокод выставляют напоказ, более того - рекомендуют за правило. Ну и пускай. Хоть люди посмеются.
        Ответить
    • Питухи не знают про массивы? Или хотя бы написать 2 строки и из них сгенерить таблицу перекодировки.
      Ответить
      • Этим способом, кстати, далеко не все символы можно закриптовать, тк некоторые имеют двухзначный код, а некоторые - трехзначный. Есть костыль, я им пользовался, когда писал волшебные свитки на vbs: перевести весь криптуемый текст в UpperCase, затем в цикле с шагом 2 брать мидом и переводить в коды асции. Затем точно таким же макаром (цикл с шагом 2 символа) перевести в обычный текст. Многие антивирусы после этого перестают ругаться на свиток. Это настолько примитивно, что даже говорить об этом неприлично.
        Ответить
        • > тк некоторые имеют двухзначный код, а некоторые - трехзначный.
          Ы?
          Ответить
          • ну, асции код некоторых латинских букв содержит только 2 цифры (прописные буквы), а некоторых - 3 (строчные буквы), т.е. зависит от регистра. А так как цикл при расшифровке шагает одинаково(в каждой итерации берет из строки только 2 или только 3 цифры), а текст не уровнен в регистре - результат шифровки и тем более расшифровки будет true неверным. Нужно сначала все буквы в тексте сделать либо строчными и шагать с шагом 3, либо прописными и шагать с шагом 2.

            Почитай вот это, и ты поймешь, о чем я говорю.
            http://vbbook.ru/visual-basic/shifrovanie-kriptovka-skriptov-na-visual-basic/
            Ответить
            • Кстати, антивирус Кашпировского распутывает свиток, закриптованный в char()
              Но если прогнать свиток пару раз через криптор (уже закриптованный в char() текст - еще раз) как правило, затыкается, сукин ублюдок D
              Ответить
              • > затыкается
                А во время исполнения свитка потом визжит свиньей? :) Или совсем не замечает?
                Ответить
                • Свиток просит пользователя отключить антивирус для совершения какой-нибудь полезной операции.
                  Ответить
                  • > Свиток просит пользователя отключить антивирус
                    Безопасность системы ограничивается самым слабым звеном, а им обычно и оказывается та самая прокладка между стулом и клавиатурой ;( Грустно.
                    Ответить
                    • Безопасность системы ограничивается биосом - это краеугольный камень. Производители систем безопасности в ахуе: столько сил на это ухлопывают, а результат один:

                      http://ru.fishki.net/picsw/072007/11/prislannoe/DiMoN.jpg
                      Ответить
                      • > Безопасность системы ограничивается биосом
                        Это уже не безопасность, а ональная огороженность.

                        Полгода назад крутил в руках гуглобук, так вот там уже апофеоз огороженности: чтобы переставить ось или хотя бы грузануться с флехи, придется танцевать с бубном вокруг защитного чипа ;( На майкрософтовских surface'ах вроде такая же хрень.
                        Ответить
                    • Принцип пляшущих свинок.
                      Ответить
                      • За что eth0 заминусовали? :) Про этих пляшущих свинок вполне гуглится, и вполне в тему.
                        Ответить
                        • Никто не хочет гуглить.
                          Ответить
                          • Ок, тогда я просто оставлю это здесь:
                            "Каждый раз, сталкиваясь с выбором между безопасностью и пляшущими свиньями, пользователь выбирает свиней." (Брюс Шнайер)
                            Ответить
                        • Тут с некоторых пор полно невежественных школьников, умноженных на число их ботов.
                          Ответить
                  • Магический свиток?
                    Ответить
                • Врать не буду, когда как, Борманд, когда как.
                  Все зависит от настроек антивируса и от того, что ты напишешь в своем свитке.
                  Ответить
      • > не знают про массивы
        Угу. Сначала надо пописать на языке, а потом говорить.
        В VB что массивы руками заполнить, что кейсы написать. Конфиги не предлагать, это не бейсик-стайл.
        Ответить

    Добавить комментарий