| Посл.ответ | 
Сообщение | 
  Ранг: 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) и принять решение о дальнейшей работе программы */
 
  | Сообщение посчитали полезным:   |