Сейчас на форуме: Magister Yoda (+9 невидимых) |
eXeL@B —› Основной форум —› запуск программы, прицепленной к CD, с винчестера. |
Посл.ответ | Сообщение |
|
Создано: 23 июля 2008 19:53 · Личное сообщение · #1 Здравствуйте! Столкнулся с такой проблемой. Необходимо запустить программу, скопированную на винчестер, которая запускается только с CD ROM. Экспириенса в этом деле маловато, но с подобными защитами встречался. Программа представляет собой книгу в exe-шнике, который голо лежит на диске. Если ее запустить с винта, выскакивает сообщение о том, что программа должна быть запущена с компакт-диска. Написана она на Borland C++, и поиск функции GetDriveTypeA труда не составил. После выхода из функции EAX сравнивается с 5(т.е. CD), и если равенство неверно, то программа переходит на код, который вызывает это сообщение. Я переход занопил. Но после перезапуска проги выскакивает еще одно сообщение: "No books available", и, естественно, по нажатию на OK выход. Вот здесь я и обломился. На сайтах мне найти мало чего удалось по этому поводу, и с мертвой точки дело не сдвинулось. Толком больше сказать ничего не могу, могу только дополнить, что exe-шник занимает 1,2 МБ, а сама книга - dat-файл, размером 145 метров с названием "book". Все файлы с СD копируются и читаются, после перезаписи с харда на CD программа запускается. В качестве эксперимента попробовал записать на диск пропатченный exe-шник (с занопленным переходом) со всеми сопутствующими файлами. С диска пропатченная программа запустилась без проблем. Каким образом поступать в этом случае? Помогите, пожалуйста, в решении этой проблемы. Заранее благодарен. |
|
Создано: 23 июля 2008 20:23 · Личное сообщение · #2 |
|
Создано: 23 июля 2008 21:42 · Поправил: 4kusNick · Личное сообщение · #3 aertem Скорее всего, там дело не только в GetDriveTypeA. Ты попробуй в корень диска C:\ положить книгу (уже пропатченную, точней с пропатченным экзе) и проверить. Ведь, на сидюке книга лежит, как я понял, в корне и соответственно, когда прога находит сидюк через GetDriveTypeA, она пытается обратиться к книге примерно так: _буква_сидюка_:\kniga.exe ну или как-то так, я тоже не экстрасенс и могу вобще во всем ошибаться, просто предполагаю, так вот, когда ты нопишь переход после GetDriveTypeA, прога принимает за сидюк первый винт (логический раздел) (т.е., диск C:\), проверь, GetDriveTypeA наверняка в цикле находится и вызывается для каждого найденного диска в системе, то есть, для C,D,E и т.д. и пытается определить какой же из них - сидюк. Так вот занопив, ты нарушаешь логику программы, и она думает, что первый попавшийся диск - сидюк и в корне начинает искать книгу (себя получается, если я правильно все понял). А вообще, если можешь выложи отдельно экзе без книги в нем или все целиком, я смогу качнуть и глянуть тогда подробнее.. ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 23 июля 2008 21:44 · Поправил: SER[G]ANT · Личное сообщение · #4 |
|
Создано: 23 июля 2008 23:22 · Личное сообщение · #5 Ребята!! Огромное спасибо. (особенно 4kusNick) Я сам не допер, позор мне. Тупо поместив файлы в корень C: я решил эту проблему. Что касается замены cmp5 на cmp3 я проходил это еще раньше, но не писал об этом. Хотя результат работы программы был точно такой же, как и во втором случае. Теперь такая проблема. Может этот вопрос ламерский, но мне просто необходимо запрятать эти файлы подальше (просто поместить не в корне, а чуточку глубже). Если это реально, то как (тупо скрыть не катит)? Я, конечно, понимаю, что объяснение может выйти за рамки, которые фактически и теоретически дозволены форумом. Поэтому буду очень благодарен, если кто-нибудь или намекнет, или ссылку на статью какую-н. кинет. Если переместить файлы сложно или невозможно, то так и скажите. Я-то крякингом не занимался уже очень давно, поэтому многое забылось. Я впринцие забросил это дело, и если помню, то такие задачи раньше решать не приходилось. А этот взлом необходим в личных практических целях. Только это заставило меня снова взяться за отладчик. Времени на подъем целины и детальное изучение искусства крекинга просто нет. Приходится исходить из того, что имеется... |
|
Создано: 23 июля 2008 23:35 · Личное сообщение · #6 aertem пишет: Что касается замены cmp5 на cmp3 я проходил это еще раньше, но не писал об этом. Хотя результат работы программы был точно такой же, как и во втором случае. Зато правка одного байта (5 на 3) гораздо лучше с точки зрения "чистоты" патча, нежели нопинг прыжка. aertem пишет: необходимо запрятать эти файлы подальше Дык прячь, кто мешает, ток в экзешнике не забудь поправить путь до файла, н должен по-идее засветиться в виде просто буквы диска + имя файла где-нить после вызовов GetDriveTypeA. Это можно вообще по-разному делать. Можно перед передачей пути до файла некой функции, открывающей саму книгу, получить путь до самого себя при помощи WinAPI, а потом его и передавать, можно еще как-нить, например, можно воспользоваться пустым местом в проге по-другому, то есть, где-нить, где нули вписать путь до файла и потом его и передавать в функцию загрузки книги, но опять же, это все предположения вслепую, ты блин выложи файл и мы те сделаем, а то так все может оказаться бесполезным, что я говорил. Если выше написанное не поможет, то выкладывай файл, неужели не понятно, что вслепую хрен чем поможешь нормально? ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 23 июля 2008 23:38 · Личное сообщение · #7 |
|
Создано: 23 июля 2008 23:47 · Поправил: 4kusNick · Личное сообщение · #8 tihiy_grom Тсс, испугаете еще незадачливого новичка ))) aertem Может, не выкладываете, ибо много весит и инет не позволяет? или по каким-то другим соображениям? если первое - то попробуйте сжать винраром каким-нить, если там и правда текстовые книги и никак не пожаты, то мож значительно сожмется, или попробуйте из экзе редактором ресурсов удалить часть или все книги, если они в ресурсах найдутся, в общем, нам нужен сам exe, чтобы было видно что там и как, а вообще, ну ей богу, не мучьте нас, вам помочь хотят, а вы не идете на встречу. чет переборщил ----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску. |
|
Создано: 24 июля 2008 12:10 · Личное сообщение · #9 |
|
Создано: 24 июля 2008 13:34 · Поправил: MACKLIA · Личное сообщение · #10 Fallen Angel пишет: Зачем пихать файло в корень диска когда есть команда subst ... Fallen Angel может не всем нравится в "моем компьютере" видить лишний диск ,который создан лишь для работы одной проги.Лучше наверное программу чуть подправить,напрмер как 4kusNick советвал : 4kusNick пишет: можно воспользоваться пустым местом в проге по-другому, то есть, где-нить, где нули вписать путь до файла и потом его и передавать в функцию загрузки книги ----- Что один человек сделал , другой всегда сломать может... |
|
Создано: 24 июля 2008 13:40 · Личное сообщение · #11 ВСЕ! Сегодня утречком еще немножко поковырялся в этой проге и добился своего: файлы убрал подальше. 4kusNick пишет: не забудь поправить путь до файла, н должен по-идее засветиться в виде просто буквы диска + имя файла где-нить после вызовов GetDriveTypeA. Это можно вообще по-разному делать. Можно перед передачей пути до файла некой функции, открывающей саму книгу, получить путь до самого себя при помощи WinAPI, а потом его и передавать, можно еще как-нить, например, можно воспользоваться пустым местом в проге по-другому, то есть, где-нить, где нули вписать путь до файла и потом его и передавать в функцию загрузки книги, но опять же, это все предположения вслепую, Предположения вслепую оказались верными. Пришлось немножко поправить путь к файлу, и все сработало. По поводу выкладывания проги могу сказать одно: хватало бы скорости - выложил бы давно. Мне сообщение на форуме в среднем с 3-го раза удается оставить, не говоря уже об обмене мегабайтами информации. Спасибо всем, ваша помощь действительно оказалась очень полезной. С этой прогой на винте жить будет гораздо легче. |
|
Создано: 24 июля 2008 17:08 · Личное сообщение · #12 |
|
Создано: 25 июля 2008 11:18 · Личное сообщение · #13 |
|
Создано: 25 июля 2008 20:10 · Личное сообщение · #14 |
|
Создано: 25 июля 2008 21:04 · Личное сообщение · #15 |
|
Создано: 25 июля 2008 21:53 · Личное сообщение · #16 |
|
Создано: 08 сентября 2008 20:50 · Личное сообщение · #17 У меня подобная ситуация !!! В аттаче сам экзешник и либа, на которую, походу, он ссылается !!! 1cab_08.09.2008_CRACKLAB.rU.tgz - CD.rar |
|
Создано: 08 сентября 2008 21:10 · Личное сообщение · #18 |
|
Создано: 08 сентября 2008 21:12 · Поправил: addy · Личное сообщение · #19 |
|
Создано: 08 сентября 2008 22:44 · Поправил: Модератор · Личное сообщение · #20 |
|
Создано: 09 сентября 2008 08:41 · Личное сообщение · #21 |
eXeL@B —› Основной форум —› запуск программы, прицепленной к CD, с винчестера. |