Посл.ответ |
Сообщение |
Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 07 октября 2005 19:03 · Личное сообщение · #1
Привет народ. я тут недавно поломал парочку прог... а именно поменял переход и теперь проги запускаются вообще без серийника , но проблема в том что каждый раз при запуске надо ёё типа регистрировать... Почему же результат не сохраняется?
| Сообщение посчитали полезным: |
|
Ранг: 45.7 (посетитель) Активность: 0.05↘0 Статус: Участник EBFE
|
Создано: 07 октября 2005 19:16 · Личное сообщение · #2
не там менял
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 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 | Сообщение посчитали полезным: |
![](img/s6.gif) Ранг: 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 | Сообщение посчитали полезным: |
![](img/s6.gif) Ранг: 299.6 (наставник) Активность: 0.3↘0 Статус: Участник Armadillo Killer
|
Создано: 07 октября 2005 23:20 · Личное сообщение · #7
Grey Да уж ... Он взломал но прога все ровно просит зарегиться
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 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-ом прога мутит с конфигом(файлом). Где конкретно она пишет признак регистрации - я так и не нашел!
| Сообщение посчитали полезным: |
![](img/s9.gif) Ранг: 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. Так я и делал.
| Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 104.1 (ветеран) Активность: 0.07↘0 Статус: Участник искатель истЕны
|
Создано: 08 октября 2005 16:26 · Личное сообщение · #13
4kusNick пишет:
Вобщем лови все, что с реестром обычно связано и FindFirstFile,CreateFile(EX),OpenFile и т.д. на всяк случай.
С реестром говоришь? =)
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 748.2 (! !), 390thx Активность: 0.37↘0 Статус: Участник bytecode!
|
Создано: 08 октября 2005 16:36 · Личное сообщение · #14
Paxan
Обсудили уже...
wildx
Ну как? Понял, в чем суть?
----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. | Сообщение посчитали полезным: |
![](img/s4.gif) Ранг: 90.3 (постоянный), 1thx Активность: 0.03↘0 Статус: Участник
|
Создано: 09 октября 2005 14:41 · Личное сообщение · #15
Stranger
Советую цепляться к доступу к тому учатку памяти где храняться введённые данные, так можно будет отловить всё, что прога делает с этими данными.
| Сообщение посчитали полезным: |
Ранг: 4.0 (гость) Активность: 0=0 Статус: Участник
|
Создано: 10 октября 2005 23:14 · Личное сообщение · #16
Народ, очень Вам благодарен за Ваши советы - иначе новички (чайники как я)чуствуют себя "ежиками в тумане"
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 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-периода).
| Сообщение посчитали полезным: |
![](img/s9.gif) Ранг: 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 | Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 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 - не логично(совсем не). Хотя, может на это и рассчитано...
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 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 | Сообщение посчитали полезным: |
![](img/s9.gif) Ранг: 1288.1 (!!!!), 273thx Активность: 1.29↘0 Статус: Участник
|
Создано: 12 октября 2005 11:05 · Личное сообщение · #27
Вобщем-то фантазия программера безгранична, надо смотреть конкретную прогу...
| Сообщение посчитали полезным: |
Ранг: 51.9 (постоянный) Активность: 0.03↘0 Статус: Участник
|
Создано: 12 октября 2005 11:16 · Личное сообщение · #28
wildx пишет:
я тут недавно поломал парочку прог...
Дай ссылочку на эти проги. А то получается ишёл туда, не знаю куда, нашёл то - не знаю что.
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 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. Похоже, это есть проверка ключа, но там так все мутно.
| Сообщение посчитали полезным: |