Посл.ответ |
Сообщение |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 12 сентября 2007 12:08 · Личное сообщение · #1
Попросили посмотреть поргу, на первый взгляд очень простая, но никак не могу подступиться. Демка, но функционал ограничен только в том что заблокирована возможность сохранения. Прога предназначина для редактирования расшивок. Код сохранения в программе присутствует... Не получается разблокировать кнопки. Дайте какие нибудь советы если вы уже сталкивались с таким PLZ
Название проги Urfinus 11
Вот вайл dump.ru/files/j/j8604506710/
----- Research For Food | Сообщение посчитали полезным: |
|
Ранг: 500.5 (!), 8thx Активность: 0.23↘0 Статус: Участник
|
Создано: 12 сентября 2007 12:18 · Личное сообщение · #2
daFix
менюшки разблокируются обычно редактором ресурсов, попробуй PE_Explorer
это если код сохранения реально присутствуют, иначе
----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels | Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 12 сентября 2007 12:22 · Личное сообщение · #3
Smon пишет:
менюшки разблокируются обычно редактором ресурсов, попробуй PE_Explorer
Уже пробовал, нифига не получилось...
----- Research For Food | Сообщение посчитали полезным: |
 Ранг: 107.3 (ветеран), 5thx Активность: 0.2↘0.04 Статус: Участник
|
Создано: 12 сентября 2007 12:42 · Личное сообщение · #4
SSEnabler shkilsoft.cjb.net
| Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 12 сентября 2007 12:56 · Личное сообщение · #5
Magister Yoda
Нее... Такое тоже не помогает. Я ведь сложа руки тоже не сидел =)
----- Research For Food | Сообщение посчитали полезным: |
Ранг: 20.5 (новичок) Активность: 0.02↘0 Статус: Участник
|
Создано: 12 сентября 2007 12:57 · Личное сообщение · #6
Если с редактором ресурсов не получилось, то, видимо, кнопки дизэйблятся при запуске проги. В таком случае можно попробовать поставить бряк на EnableWindow.
| Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 12 сентября 2007 13:07 · Личное сообщение · #7
alchemister
Это я тоже пробоавл))) Дело в том что в ресурсах нет форм... Прога написана на дельфи.
DeDe не предлагать, тоже мало чем помогло
----- Research For Food | Сообщение посчитали полезным: |
 Ранг: 126.7 (ветеран) Активность: 0.14↘0 Статус: Участник #CCh
|
Создано: 12 сентября 2007 13:16 · Личное сообщение · #8
delphi + asm int 3 end;
----- invoke OpenFire | Сообщение посчитали полезным: |
Ранг: 20.5 (новичок) Активность: 0.02↘0 Статус: Участник
|
Создано: 12 сентября 2007 13:19 · Личное сообщение · #9
А какой класс у окон? Просто может авторы извратились и создавали все окна через CreateWindow? Кстати, прога EnBtn тоже не помогает? (или то, что советовал Magister Yoda - её аналог?)
| Сообщение посчитали полезным: |
Ранг: 226.0 (наставник), 67thx Активность: 0.16↘0 Статус: Участник
|
Создано: 12 сентября 2007 13:23 · Поправил: SergX · Личное сообщение · #10
alchemister пишет:
А какой класс у окон? Просто может авторы извратились и создавали все окна через CreateWindow?
Вроде всё стандартно. Щас DeDe расскажет
alchemister пишет:
Кстати, прога EnBtn тоже не помогает?
нет.
| Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 12 сентября 2007 13:36 · Личное сообщение · #11
Ice-T пишет:
delphi + asm int 3 end;
Не догнал. Что это?
----- Research For Food | Сообщение посчитали полезным: |
Ранг: 54.0 (постоянный) Активность: 0.02↘0 Статус: Участник
|
Создано: 12 сентября 2007 13:42 · Личное сообщение · #12
Можно поменять TFRMURFINMAIN > ActionManager > acFileSave enabled на true. (это в ресурсах)
Но прога будет сразу закрываться, хотя кнопго с дискетой активно - это можно заметить.
| Сообщение посчитали полезным: |
Ранг: 20.5 (новичок) Активность: 0.02↘0 Статус: Участник
|
Создано: 12 сентября 2007 14:01 · Личное сообщение · #13
Ну тогда можно сделать как сказал Pro100ya, а потом бряк на ExitProcess, возможно там что-то типа проверки crc (к сожалению, я сам не могу сейчас скачать и отдебагать)
| Сообщение посчитали полезным: |
 Ранг: 126.7 (ветеран) Активность: 0.14↘0 Статус: Участник #CCh
|
Создано: 12 сентября 2007 14:05 · Личное сообщение · #14
daFix, ну тоесть я бы взял дельфе, нопесал несколько примеров, расставел int3 бряки и в ольку - изучать код..
----- invoke OpenFire | Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 12 сентября 2007 14:21 · Личное сообщение · #15
Pro100ya, alchemister просто там проверка на имя файла  Переименуйте его в Urfin.exe и всё будет ОК
----- Research For Food | Сообщение посчитали полезным: |
Ранг: 226.0 (наставник), 67thx Активность: 0.16↘0 Статус: Участник
|
Создано: 12 сентября 2007 14:43 · Поправил: SergX · Личное сообщение · #16
daFix
Ты уверен что в демке есть процедура сохранения ?
Вот адреса процедур SaveAs и About :
0058B348 acSaveAsClick
0058B5A0 acAboutClick
Берём и ставим по адресу 0058B5A0: JMP 0058B348.
Нажимаем в менюшке Помощь\о Программе, и получаем :
Данная версия программы является демонстрационной.
Так что сначала пошагай acSaveAsClick. Может и нет смысла с меню возиться.
| Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 12 сентября 2007 15:20 · Личное сообщение · #17
SergX
Да, ты прав... Я уже нарвался на это сообщение. Тогда вопрос следующий: Можно ли отвязать прогу накрытую хаспом не имея ключа? Просто у меня есть две вариации этой проги. Первая это демка, а вторая полная, но накрыта хаспом. Я даже проинсталлировать её не могу без ключа
----- Research For Food | Сообщение посчитали полезным: |
Ранг: 226.0 (наставник), 67thx Активность: 0.16↘0 Статус: Участник
|
Создано: 12 сентября 2007 15:28 · Личное сообщение · #18
Не знаю. С хаспом мало знаком. Давай ссылку посмотрим...
| Сообщение посчитали полезным: |
 Ранг: 450.3 (мудрец), 13thx Активность: 0.2↘0 Статус: Участник
|
Создано: 12 сентября 2007 15:52 · Личное сообщение · #19
Трансформы там полным ходом используются... Врядле без ключа чего путного выйдет.
| Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 12 сентября 2007 16:44 · Личное сообщение · #20
SergX пишет:
Давай ссылку посмотрим...
dump.ru/files/j/j650091040/
----- Research For Food | Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 13 сентября 2007 01:17 · Поправил: daFix · Личное сообщение · #21
Вторая просьба снята, нет надобности. Но всётаки надо активизировать пункты меню... Уже незнаю что делать...
----- Research For Food | Сообщение посчитали полезным: |
Ранг: 54.0 (постоянный) Активность: 0.02↘0 Статус: Участник
|
Создано: 13 сентября 2007 05:10 · Личное сообщение · #22
daFix пишет:
Вторая просьба снята Возится с guardantом не охота
Меню легко активировать: по адресам 0059E643, 0059E652, 0059E661, 0059E670, 0059E67F, 0059E68E, 0059E69D, 0059E6AC поменять XOR EDX,EDX на MOV DL,1. Но функционала то нет.
| Сообщение посчитали полезным: |
Ранг: 62.3 (постоянный) Активность: 0.02↘0 Статус: Участник
|
Создано: 13 сентября 2007 05:15 · Поправил: Faza · Личное сообщение · #23
Скорее всего это самое, что не на есть обыкновенная демка.
Так что вариант, только искать ключь и отвязывать нормальную версию.
| Сообщение посчитали полезным: |
Ранг: 226.0 (наставник), 67thx Активность: 0.16↘0 Статус: Участник
|
Создано: 13 сентября 2007 10:14 · Личное сообщение · #24
daFix пишет:
Но всётаки надо активизировать пункты меню...
Зачем ? Может ты нашёл процедуру сохранения нормальную ?
| Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 13 сентября 2007 19:24 · Поправил: daFix · Личное сообщение · #25
Pro100ya
Респект!!! Можешь сказать как ты их нашёл?
То Faza и SergX:
У меня уже есть полная версия, там функционал полный. Спасибо незнакомец  Долго отвязывал от ключа... Ещё там наверное проверка зареганности на функции сохранения , но думаю что и её можно будет обойти
----- Research For Food | Сообщение посчитали полезным: |
Ранг: 54.0 (постоянный) Активность: 0.02↘0 Статус: Участник
|
Создано: 14 сентября 2007 06:10 · Личное сообщение · #26
daFix
Посмотрел в ida обработчик Actnlist::TCustomAction::SetEnabled (00485E40), поставил на него бряк, после которого попал в процедуру 0059E44C, а там смотрел где edx обнуляется перед вызовом SetEnabled.
| Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 15 сентября 2007 16:38 · Личное сообщение · #27
Ура!!! Имея огромное терпение и львиную долю удачи я их разблокировал!!!
И есть ещё вопрос для знатоков guardenta. Что делают следующие функции:
nskSetMode
nskCheck
nskTransform <---Ну это ясно
nskRead
nskDecode
nskCRC <---Ну и это ясно
----- Research For Food | Сообщение посчитали полезным: |
Ранг: 456.3 (мудрец), 340thx Активность: 0.28↘0.02 Статус: Участник Android Reverser
|
Создано: 15 сентября 2007 17:29 · Личное сообщение · #28
daFix пишет:
nskSetMode
Устанавливает алгоритм, что-ли, кароче, не парься, для отлома или муля пофиг на нее.
daFix пишет:
nskCheck
Просто тупо возвращает, ключ есть/нет
daFix пишет:
nskRead
Читает ячейку памяти, заданную в параметрах
daFix пишет:
nskDecode
Декодирует кусок данных, для декрипта юзаеццо результат nskTransform, т.е. эта функа выпоняеццо в дрове, без участия ключа.
----- SaNX | Сообщение посчитали полезным: |
 Ранг: 529.0 (!), 110thx Активность: 0.29↘0.04 Статус: Участник 5KRT
|
Создано: 15 сентября 2007 17:38 · Личное сообщение · #29
SaNX пишет:
Декодирует кусок данных
В смысле декодирует код программы, или каких нибудь пользовательских данных?
----- Research For Food | Сообщение посчитали полезным: |
Ранг: 218.5 (наставник), 2thx Активность: 0.09↘0 Статус: Участник
|
Создано: 15 сентября 2007 18:53 · Личное сообщение · #30
daFix пишет:
В смысле декодирует код программы, или каких нибудь пользовательских данных?
Да ей похую--чего скажут, то и декодит
DeCode:
Декодировать данные методом быстрого взаимообратного преобразования
nRet = nskDeCode(wCnvType, pKeyBuf, pData, dwLng)
- Guardant Stealth & Fidus
nRet = nnkDeCode(wCnvType, pKeyBuf, pData, dwLng)
- Guardant Net
Входные параметры
wCnvType
Метод быстрого взаимообратного преобразования (должен быть эквивалентен методу, заданному функцией nskCodeInit())
pKeyBuf
Адрес переменной, содержащей преобразованный пароль
pData
Адрес буфера с данными для декодирования
dwLng
Объем данных для декодирования (в байтах)
Выходные параметры
стандартный набор ошибок
Описание
Декодирование информации, зашифрованной ранее операцией EnCode. Функция не обращается к ключу - преобразование полностью производится компьютером.
Параметр pKeyBuf содержит пароль, преобразованный ранее функцией nskCodeInit(). С его помощью будет производиться декодирование данных.
Если функция выполнится успешно, по адресу, указанному в pData, будут помещены декодированные данные. В этом случае функция вернет nse_Ok.
Пример
Декодировать файловым методом строку длиной 32 байта, закодированную в примере для nskEnCode. Использовать пароль szPassword, преобразованный функцией nskCodeInit() (см. CodeInit, пример).
Декодирование должно производиться в той же последовательности, в которой было произведено кодирование (т.е. в два этапа участками по 16 байтов).
BYTE szString[] = {"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"};
/* Строка длиной 32 байта с кодированными данными */
BYTE bPartSize = 16;
/* Длина одного участка строки */
wCnvType = nsat_AlgoFile;
/* Файловый метод */
pKeyBuf = szPassword;
/* Преобразованный пароль */
pData = szString;
/* 1-й участок строки */
dwLng = (DWORD)bPartSize;
/* Длина участка */
nRet = nskDeCode(wCnvType, pKeyBuf, pData, dwLng);
/* Декодировать 1-й участок строки файловым методом (при этом пароль будет изменен) */
...........
/* Далее нужно проверить код ошибки (в nRet) */
pData = szString+bPartSize;
/* 2-й участок строки */
nRet = nskDeCode(wCnvType, pKeyBuf, pData, dwLng);
/* Декодировать 2-й участок строки файловым методом (при этом пароль будет изменен еще раз) */
/* После этого нужно проверить код ошибки (в nRet) и принять решение о дальнейшей работе программы */
| Сообщение посчитали полезным: |