| Посл.ответ | 
Сообщение | 
 Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник 
 
 | 
Создано: 07 октября 2005 19:03   · Личное сообщение ·  #1 
Привет народ. я тут недавно поломал парочку прог... а именно поменял переход и теперь проги запускаются вообще без серийника , но проблема в том что каждый раз при запуске надо ёё типа регистрировать... Почему же результат не сохраняется?
   | Сообщение посчитали полезным:  | 
 | 
 Ранг: 45.7 (посетитель) Активность: 0.05↘0 Статус: Участник EBFE 
 
 | 
Создано: 07 октября 2005 19:16   · Личное сообщение ·  #2 
не там менял
   | Сообщение посчитали полезным:  | 
  Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode! 
 
 | 
Создано: 07 октября 2005 19:22   · Личное сообщение ·  #3 
wildx
Посмотри что происходит при загрузке, что прога с реестром делает, может файлы ищет какие с регистрационными данными, там и меняй уже.
 ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.  | Сообщение посчитали полезным:   | 
 Ранг: 389.6 (мудрец) Активность: 0.15↘0 Статус: Участник 
 
 | 
Создано: 07 октября 2005 22:55   · Личное сообщение ·  #4 
wildx пишет:
 теперь проги запускаются вообще без серийника 
Мистика...  
wildx пишет:
 Почему же результат не сохраняется? 
Вот результат - то как раз сохраняется. Как пишет  4kusNick - в реестре.
 RegOpenKey
 RegQueryValueEx
 ----- TBR  | Сообщение посчитали полезным:   | 
  Ранг: 299.6 (наставник) Активность: 0.3↘0 Статус: Участник Armadillo Killer 
 
 | 
Создано: 07 октября 2005 22:57   · Личное сообщение ·  #5 
wildx Интересно как ты так поменял ?  
поменял переход и теперь проги запускаются вообще без серийника , но проблема в том что каждый раз при запуске надо ёё типа регистрировать...
Как это тебя понять то ?
 Grey Да не то слово Мистика   
  | Сообщение посчитали полезным:   | 
 Ранг: 389.6 (мудрец) Активность: 0.15↘0 Статус: Участник 
 
 | 
Создано: 07 октября 2005 23:17   · Личное сообщение ·  #6 
Z0oMiK пишет:
 Как это тебя понять то 
Имхо, имеется ввиду, что выскакивает окно с регистрацией.
 Вводит код, 75 -> EB и программа считает себя зарегестрированной и сохраняет "валидный" имя/кей в реестре, но при следуещем запуске проверяет - не ошиблась ли =))
 JMP Вводит_код
 ----- TBR  | Сообщение посчитали полезным:   | 
  Ранг: 299.6 (наставник) Активность: 0.3↘0 Статус: Участник Armadillo Killer 
 
 | 
Создано: 07 октября 2005 23:20   · Личное сообщение ·  #7 
Grey Да уж ... Он взломал но прога все ровно просит зарегиться   
  | Сообщение посчитали полезным:   | 
  Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode! 
 
 | 
Создано: 08 октября 2005 01:23 · Поправил: 4kusNick   · Личное сообщение ·  #8 
wildx
Вобщем лови все, что с реестром обычно связано и FindFirstFile,CreateFile(EX),OpenFile и т.д. на всяк случай.
 ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.  | Сообщение посчитали полезным:   | 
 Ранг: 37.5 (посетитель) Активность: 0.02↘0 Статус: Участник 
 
 | 
Создано: 08 октября 2005 15:17   · Личное сообщение ·  #9 
У меня похожая история:
 пропатчил прогу(занопил переход на плохой MessageBox), после этого она стала принимать любой пароль(при этом улыбаясь и виляя хвостиком). Но дело в том, что перед MessageBox-ом прога мутит с конфигом(файлом). Где конкретно она пишет признак регистрации - я так и не нашел!
   | Сообщение посчитали полезным:  | 
  Ранг: 1288.1 (!!!!), 273thx Активность: 1.29↘0 Статус: Участник 
 
 | 
Создано: 08 октября 2005 15:20   · Личное сообщение ·  #10 
Тысячу раз писалось - надо патчить процедуру проверки регистрации, а не переходы...
   | Сообщение посчитали полезным:  | 
 Ранг: 389.6 (мудрец) Активность: 0.15↘0 Статус: Участник 
 
 | 
Создано: 08 октября 2005 15:44   · Личное сообщение ·  #11 
Ara пишет:
 надо патчить процедуру 
Точно. Боротся нужно с причиной, а не со следствием.
 ----- TBR  | Сообщение посчитали полезным:   | 
 Ранг: 37.5 (посетитель) Активность: 0.02↘0 Статус: Участник 
 
 | 
Создано: 08 октября 2005 16:01   · Личное сообщение ·  #12 
Ara, Grey
Это понятно. Её найти сложнее. К чему прицепиться? Кстати, во многих статьях описывалась привязка к плохому MessageBox. Так я и делал.
   | Сообщение посчитали полезным:   | 
  Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны 
 
 | 
Создано: 08 октября 2005 16:26   · Личное сообщение ·  #13 
4kusNick пишет:
 Вобщем лови все, что с реестром обычно связано и FindFirstFile,CreateFile(EX),OpenFile и т.д. на всяк случай. 
С реестром говоришь? =)
   | Сообщение посчитали полезным:   | 
  Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode! 
 
 | 
Создано: 08 октября 2005 16:36   · Личное сообщение ·  #14 
Paxan
Обсудили уже...
 wildx
Ну как? Понял, в чем суть?
 ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.  | Сообщение посчитали полезным:   | 
  Ранг: 90.3 (постоянный), 1thx Активность: 0.03↘0 Статус: Участник 
 
 | 
Создано: 09 октября 2005 14:41   · Личное сообщение ·  #15 
Stranger
Советую цепляться к доступу к тому учатку памяти где храняться введённые данные, так можно будет отловить всё, что прога делает с этими данными.
   | Сообщение посчитали полезным:   | 
 Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник 
 
 | 
Создано: 10 октября 2005 23:14   · Личное сообщение ·  #16 
Народ, очень Вам благодарен за Ваши советы - иначе новички (чайники как я)чуствуют себя "ежиками в тумане"   
  | Сообщение посчитали полезным:  | 
  Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode! 
 
 | 
Создано: 11 октября 2005 00:03   · Личное сообщение ·  #17 
Полагаю, топик можно закрыть. Или кто-то не согласен?
 ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.  | Сообщение посчитали полезным:  | 
 Ранг: 228.7 (наставник), 2thx Активность: 0.12↘0 Статус: Участник malware research 
 
 | 
Создано: 11 октября 2005 01:13   · Личное сообщение ·  #18 
Stranger пишет:
 во многих статьях описывалась привязка к плохому MessageBox. Так я и делал. 
Ara пишет:
 надо патчить процедуру проверки регистрации, а не переходы 
То есть нужно смотреть, от каких переменных зависит ветвление программы на "плохие MessageBox" и изменять не переходы (их может быть десятки) на MessageBox, а результат проверки регистрации, таким образом, чтобы нужные переменные принимали значение, при которм условные переходы в "плохие места" не выполнятся.
 ----- Research is my purpose  | Сообщение посчитали полезным:   | 
 Ранг: 37.5 (посетитель) Активность: 0.02↘0 Статус: Участник 
 
 | 
Создано: 11 октября 2005 03:23   · Личное сообщение ·  #19 
Error_Log
Да я теперь понял. Просто сначала подумал, что  Ara  пишет о процедуре проверки в начале проги(проверка trial-периода).
   | Сообщение посчитали полезным:   | 
  Ранг: 1288.1 (!!!!), 273thx Активность: 1.29↘0 Статус: Участник 
 
 | 
Создано: 11 октября 2005 05:33   · Личное сообщение ·  #20 
Stranger
Хмм, ну вроде я так и выразился - патчить процедуру проверки регистрации... Если прога считает себя зареганной, она скорее всего не будет проверять триал %)
   | Сообщение посчитали полезным:   | 
 Ранг: 37.5 (посетитель) Активность: 0.02↘0 Статус: Участник 
 
 | 
Создано: 11 октября 2005 19:13   · Личное сообщение ·  #21 
Ara
Хочешь сказать, что прога всегда на старте проверяет RegCodе? 
 Вообще при проверке введенных данных прога не обращается к реестру и в файл пишутся не валидные 
 данные, а те, которые я ввел(причем в файл осуществляются две записи, для чего - не знаю). Затем идет проверка ключа(сначала проверяется наличие в ключе символа "-", а потом что-то мутное) и затем 
 идут переходы на MessageBox.
 Как обычно в шароварных прогах делают: RegCode каждый раз проверяется на старте или где-то ставиться признак зарегистрированности??? Если на старте, то как поймать этот момент???
   | Сообщение посчитали полезным:   | 
 Ранг: 228.7 (наставник), 2thx Активность: 0.12↘0 Статус: Участник malware research 
 
 | 
Создано: 11 октября 2005 19:28   · Личное сообщение ·  #22 
Stranger пишет:
 RegCode каждый раз проверяется на старте или где-то ставиться признак зарегистрированности??? 
Может быть и то и другое, обычно первое. Кроме этого, проверка кроме как на старте может происходит в случайный момент времени (например при нажатии какой-то кнопочки).
 Stranger пишет: в файл пишутся не валидные данные, а те, которые я ввел  Так и должно быть. В самой программе эти данные читаются, преобразовываются (не всегда) и потом с чем-то сравниваются. Твоя задача найти это место и подменить результат проверки...
 Stranger пишет: Если на старте, то как поймать этот момент??? 
Ловить по бряку на чтение того файла, в который записывались те данные, которые ты ввел, и топая от того места, смотреть где как и с чем они сравниваются.
 ----- Research is my purpose  | Сообщение посчитали полезным:   | 
  Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode! 
 
 | 
Создано: 11 октября 2005 21:19   · Личное сообщение ·  #23 
Stranger
Постарайся проследить все манипуляции с теми данными, там может быть множествоконвертаций символов в аски код и обратно (например 1 2 3 4 будет выглядеть как 31 32 33 34 ), причем параллельно эти значения могут заноситься в переменные для последующих операций (+-*xor и т.д.). Могуп помочь ручка и бумага для записи промежуточного кода и последующей сборки всего алгоритма в единое целое. Если это для тебя слишком сложно, то попробуй пройти все эти действие, опять-таки, записывая, что да как, и при переходах на МессажБоксы постараться вникнуть что с чем сравнивается и как эти значения были получены. В результате можно патчем одного байта решить все проблемы, однако, это не всегда решение, т.к. в проге может быть несколько функций проверки или несколько мест, где одна и та же ф-я проверяет валидность введенных данных (она может висеть на таймере еще), в таком случае, лучшим вариантом яявляется поиск такой функции и правка байт уже внутри нее.
 ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.  | Сообщение посчитали полезным:   | 
 Ранг: 37.5 (посетитель) Активность: 0.02↘0 Статус: Участник 
 
 | 
Создано: 11 октября 2005 21:19 · Поправил: Stranger   · Личное сообщение ·  #24 
Error_Log
Так-то оно так. Но писать User и Key в файл, а  только потом проверять RegCode, чтобы вывести MessageBox - не логично(совсем не). Хотя, может на это и рассчитано...  
  | Сообщение посчитали полезным:   | 
  Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode! 
 
 | 
Создано: 11 октября 2005 23:10   · Личное сообщение ·  #25 
Stranger
Я часто сталкивался с такого рода проверками. Иногда то же самое с реестром - сохранение, затем чтение и генерация с последующей проверкой.
 ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.  | Сообщение посчитали полезным:   | 
 Ранг: 228.7 (наставник), 2thx Активность: 0.12↘0 Статус: Участник malware research 
 
 | 
Создано: 12 октября 2005 10:08   · Личное сообщение ·  #26 
Stranger
Это делают для того, чтобы запутать взломщика, который оттолкивается при взломе от считывания текста из эдита. Просто в этом случае после считывания ты увидишь кучу непонятных процедур, в которых нет проверки валидности User и Key, в одной из которых эти данные записываются в файл или реестр (могут попутно еще зашифровать, т.е в файле они уже будут в другом виде). А проверка валидности в некоторых случаях может произойти только после перезапуска программы, при этом данные уже будут читаться из файла/реестра.
 ----- Research is my purpose  | Сообщение посчитали полезным:   | 
  Ранг: 1288.1 (!!!!), 273thx Активность: 1.29↘0 Статус: Участник 
 
 | 
Создано: 12 октября 2005 11:05   · Личное сообщение ·  #27 
Вобщем-то фантазия программера безгранична, надо смотреть конкретную прогу...
   | Сообщение посчитали полезным:  | 
 Ранг: 51.9 (постоянный) Активность: 0.03↘0 Статус: Участник 
 
 | 
Создано: 12 октября 2005 11:16   · Личное сообщение ·  #28 
wildx пишет:
  я тут недавно поломал парочку прог... 
Дай ссылочку на эти проги. А то получается ишёл туда, не знаю куда, нашёл то - не знаю что.
   | Сообщение посчитали полезным:   | 
  Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode! 
 
 | 
Создано: 12 октября 2005 14:28   · Личное сообщение ·  #29 
Ara пишет:
 Вобщем-то фантазия программера безгранична, надо смотреть конкретную прогу... 
Абсолютно согласен. Часто один и тот же программер может выпускать проги, разрабатывая к каждой индивидуальный тип защиты, если не поленится.
 Так что все зависит от обстоятельств. Нужно попрактиковаться немного, изучить несколько приемов - будет полегче.
 ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.  | Сообщение посчитали полезным:   | 
 Ранг: 37.5 (посетитель) Активность: 0.02↘0 Статус: Участник 
 
 | 
Создано: 15 октября 2005 11:02   · Личное сообщение ·  #30 
Error_Log
4kusNick
Там еще используются анти-deassemble приемы, по-моему "перекрестные ссылки" называются. Это в последней процедуре перед выводом MessageBox. Похоже, это есть проверка ключа, но там так все мутно.  
  | Сообщение посчитали полезным:   |