Разблокировать заблокитрованный пункт меню демо программы
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Разблокировать заблокитрованный пункт меню демо программы - 2010-05-13 23:02:40.643333
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
Всех приветствую. Поскольку знания по взлому программ начал только преобретать, нужна консультация. Есть самописная прога в демо режиме, этот демо режим заключается только в заблокировании пункта меню "Сохранить как" У меня было 2 варианта: - через WinAPI послать системное сообщение на разблокировку, не получилось, при этом использовал как собственный код так и InqSoft Window Scanner - второй вариант работает, но довольно не рациональный, слить дамп памяти процесса и выбратьь нужное, благо что основной обрабатываемый массив размещается в памяти последовательно. Кто что может еще подсказать?
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-14 00:58:11.850000
|
|
|
fromRIDDER
Сообщений: 1075
Оценки: 30
Присоединился: 2008-01-14 20:20:53.380000
|
Заблокировать пункт меню можно двумя способами: 1 - в ресурсах, 2 - во время выполнения программы. В первом случае всё решаемо с помощью редактора ресурсов. Во втором - ищешь все вызовы функции ModifyMenu и анализируешь их.
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-14 03:40:22.663333
|
|
|
KSDR
Сообщений: 142
Оценки: 0
Присоединился: 2010-01-11 14:35:55.143333
|
Или третий способ. Поскольку программа демо, возможно код "сохранить как" просто отсутствует и его придется дописывать самому.
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-14 12:15:36.773333
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
fromRIDDER, спасибо буду пробовать. Кстати не подскажешь редактор русурсов? Я пользовался ресторатором, может что получше есть? KSDR,Тоже об этом думал, особенно после того как с АПИ сообщениями ничего не прокатило. Слабо представляю как это можно дописать, тем более на асемблере. И к томуже как его завязать с каким-либо контролом. Если можешь подкинь идею.
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-15 00:41:15.383333
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
UPD: ресторатор сказал что файл зашифрован. Чем сейчас модно шифровать и расшифровывать? UPD2: пока реализовал вариант с дампом памяти
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-15 07:09:35.226666
|
|
|
fromRIDDER
Сообщений: 1075
Оценки: 30
Присоединился: 2008-01-14 20:20:53.380000
|
Ресторатор хорош. Попробуй "PE Explorer", у них разные техники чтения ресурсов. Для начала определи протектор, программ таких много, к примеру, PEiD.
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-16 22:58:01.380000
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
PEiD сказал: UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo После непродолжительного перебора и мыслей о ручной распаковке, распаковал с помощью RL!deUPX 1.x-2.x Ресторатор все так же продолжал ругаться PE Explorer открыл, меню заблокировано было в ресурсах, поправил, сохранил (при сохранении спрашивало об обновлении чексуммы, обновил), ОДНАКО при запуске выбивает ошибка об отсутствии ".dll" Посмотрел плагином тотала Lister на зависимости от ДЛЛ и оказалось что стоит зависимость от 3 какихто кривых либ или даже не либ а так. Где что нужно было еще поправить чтобы не сбивались зависимости?
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-17 05:27:44.760000
|
|
|
MaxRWS
Сообщений: 329
Оценки: 90
Присоединился: 2008-07-01 12:21:24.036666
|
quote:
ORIGINAL: Shyrick PEiD сказал: UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo … ОДНАКО при запуске выбивает ошибка об отсутствии ".dll" Если это действительно UPX, то и распаковывать лучше всего UPX-ом же. Раз не запускается - значит, распаковал некорректно. И не пора ли уже саму программу выложить? fromRIDDER тебе ее в 5 минут поправит (если, конечно, там есть нужный функционал, а не просто строка-пустышка в меню).
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-17 07:09:03.456666
|
|
|
fromRIDDER
Сообщений: 1075
Оценки: 30
Присоединился: 2008-01-14 20:20:53.380000
|
Как было написано, лучше распаковывать самим UPX-ом. Хотя можно и PE-Explorer-ом, у него встроенный плагин-распаковщик UPX-а на базе его исходников, поэтому всегда распаковывает корректно. Для просмотра зависимости от библиотек лучше используй PE Tools или LordPE. Хотя можно все тем же PE-Explorer-ом. Если просит какие-то библиотеки, которых до распаковки не просил (если это действительно так), то упакован протектором MoleBox или аналогичным. После упаковки шифруется под UPX или упакован MoleBox-ом, а потом UPX-ом
|
|
|
RE: Разблокировать заблокитрованный пункт меню демо программы - 2010-05-17 16:16:33.996666
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
Итакс, отчет… UPX сообщил CantUnpackException: file is modified/hacked/protected; take care!! QuikUnpack как и описанный мною RL!deUPX 1.x-2.x распаковал. После распаковки запуск происходит без проблем. PEiD показывает на борландсикй компилатор, но после редактирования ресурсов, прога валится (при распаковке RL!deUPX требует длл, QuikUnpack–просто вываливаетсяв ошибку) MoleBox результатов не дал. quote:
И не пора ли уже саму программу выложить? Удел слабаков =) шутка… хочется самому разобраться… Но раз просите вот ссылка http://freespace.by/download/f25c5255ae Больше всего мне интересно почему она валитмя после редактирования ресурсов…
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-17 17:48:02.750000
|
|
|
MaxRWS
Сообщений: 329
Оценки: 90
Присоединился: 2008-07-01 12:21:24.036666
|
Shyrick quote:
Ошибка Услуги FreeSpace доступны только для белорусских сетей. Ваша сеть не зарегистрирована в РУП "Белтелеком" как белорусская.
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-17 20:04:46.140000
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
Сорри…по привычке =) http://rapidshare.com/files/388414517/prog.zip.html
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-18 01:10:37.510000
|
|
|
CIH2009
Сообщений: 52
Оценки: 0
Присоединился: 2009-02-06 18:30:21.090000
|
Держи корректную распаковку,остальное ты уж сам!:D http://rapidshare.com/files/388512705/elements_editor_v.1.6.c_demo__2.rar.html
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-18 01:48:46.870000
|
|
|
fromRIDDER
Сообщений: 1075
Оценки: 30
Присоединился: 2008-01-14 20:20:53.380000
|
Чтобы не было ошибки после распаковки и редактирования ресурсов, сделай ребилд ресурсов. После ручной распаковки и ребилда программой "Resource Rebuilder v1.0 by Dr.Golova" ресурсы можно редактировать PE-Exporer-ом.
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-18 16:29:11.966666
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
CIH2009, благодарю. fromRIDDER, благодарю, будем знать. Ну что же, оправдались самые страшные ожидания :D, обработчики пусты. есть только вывод мессаджбокса. Определить я это смог только через DeDe, а потом уже зная адрес начала процедуры прогнал в Olly. А посему вопрос: как можно было проверить наличие кода используя только Olly? И в оле можно редактировать непосредственно команды? В моем методе с дампом памяти нашелся баг, сохраняются только изменения, потому как добавляемые/удаляемые записи содержатся походу в других массивах. Можно написать либу, которая бдует определять адреса массивов в памяти и сохранять их в файл, затем прикрутить либу к ехе, и заменить отображение мессаджбокса на вызов функции из либы. Фантастика?? UPD: товарищ который просил разобраться с программой нашел похожую, но (даже интересно) там вместе с прогой лежала Olly и флеш мувик с манипуляциями над прогой. Как я понял из видео, прога при запуске проверяет ключ из ini файла и при несовпадении терминируется. Однако проделать те же операции, что и в видео у меня не получилось, строка в памяти не находилась… Если кому интересно то вот архив (без оли) http://rapidshare.com/files/388735241/IceFire.zip.html
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-18 23:00:18.386666
|
|
|
CIH2009
Сообщений: 52
Оценки: 0
Присоединился: 2009-02-06 18:30:21.090000
|
Фантастика??
Ничего особенного,уже давно применяются подобные методы.
Однако проделать те же операции, что и в видео у меня не получилось
Значит чегой то не так делал. Как альтернатива поставь бряк на DeviceIoControl,f9 затем на memcpy и смотри буфер.Для надёжности смотри мувик.Прога вроде как под вмпротом http://rapidshare.com/files/388865191/demo.rar.html
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-19 11:22:20.960000
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
CIH2009, благодарю. quote:
Ничего особенного,уже давно применяются подобные методы. Эт хорошо, значит я правильно мыслю :D Делать это не буду, но если бы и делал, то по такому принципу: написанную либу поключить в ImpRec (или PE Explorer), дизассемблировать прогу WDAsm'ом, заменить вызов бокса на call my_lib.my_function , ну и в конце заново собрать?? P.S. и если никого не напрягаю, то вопрос quote:
Ну что же, оправдались самые страшные ожидания , обработчики пусты. есть только вывод мессаджбокса. Определить я это смог только через DeDe, а потом уже зная адрес начала процедуры прогнал в Olly. А посему вопрос: как можно было проверить наличие кода используя только Olly? пока остался открыт.
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-19 13:27:25.420000
|
|
|
fromRIDDER
Сообщений: 1075
Оценки: 30
Присоединился: 2008-01-14 20:20:53.380000
|
По поводу того, что это только демо. При нажатии пункта меню вызывается функция, в ней два вызова: второй - сообщение об ограничении демо-версии; первый - первый содержит много вложенных вызовов. В DeDe этого не видно, просмотр ограничивается до вызова CALL DWORD PTR DS:[EDX+94], дальше можно увидеть только в отладчике, а там куча вложенных функций. Для верности следует изучить - для чего первая функция. Я пользуюсь только олей, DeDe очень редко - ограниченность дельфийскими проектами. В отладчике найти функцию обработки сообщений окон, как правило, легко. В данном случае последовательность действий: запускаешь из-под отладчика, нажимаешь пункт меню, появляется сообщение о демо-версии, в оле нажимаешь F12, ALT+F9 (состояние Running), нажимаешь кнопку ОК, отладчик приостановит выполнение программы на месте вызова из функции MessageBoxA, дальше думаю разберешься.
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-22 00:25:48.696666
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
CIH2009, посмотрел ролик, смысл понял, строку нашел, но вот она не подходит, да и к тому же короче. Искал по все памяти, не помогло. Используется VirtualProtect. Пытался отловить terminate функцию-не получилось. Странно все вобщем. fromRIDDER, идея поиска обработчика понятна, но все же не до конца, а если к примеру в обработчике сперва выполняется одна функция, вней другая, а уже в ней выводится сообщения, отладчик остановится на след. команде после вызова функции сообщения, я вернусь к вызову 2, затем 1, но ведь не буду знать где непосредственно начало обработчика. Я опять же воспользовался DeDe и подсмотрел адрес начала обработчика. Что же касается самой функции, я просмотрел 4 уровня вплоть до user32.setPropA, некоторые не вызывались из-за условных переходов, менял флаги, но при запуске вылетала ошибка чтения памяти. Понять назначение этих функций не удалось. Могу лишь предположить что в исходных кодах могло быть такое if (demo!=true)
f1
else {
ShowMessage();
return;
}
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-22 14:05:22.440000
|
|
|
CIH2009
Сообщений: 52
Оценки: 0
Присоединился: 2009-02-06 18:30:21.090000
|
Да батенька!Нужно смотреть последний блок выделенной памяти,я показал один из вариантов и посчитал что вы сами догадаетесь.Смотрите есчо раз.И не нужно следовать шаблонам. http://rapidshare.com/files/390275911/demo.rar.html
|
|
|
RE: Разблокировать заблокированный пункт меню демо программы - 2010-05-23 15:39:18.720000
|
|
|
Shyrick
Сообщений: 12
Оценки: 0
Присоединился: 2010-05-13 22:49:35.116666
|
Да конечно я понял что нужно смотреть последний блок. Затык был в другом, просмотр 2 видео (которое в принципе ничем не отличалось от 1го) результатов не дал. Строка получалась короче нужной. Возможно у меня не так настроен отладчик, но при завершении процесса, последнее состояние дампа памяти не сохранялось (в отличие от видео) и скопировать строку я мог на пердпоследнем шаге, который не содержал последней порции строки (потому она и получалась короче). Заметив это добавил кусочек к строке из стека. Один рубеж взят :) А, и еще, а какбы убрать проверку вообще? А по поводу основной программы: нажначение первого вызова понять так и не удалось.
|
|
|
|
|