eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме:
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Основной форум —› запуск программы, прицепленной к CD, с винчестера.
Посл.ответ Сообщение

Ранг: 3.7 (гость)
Статус: Участник

Создано: 23 июля 2008 19:53 New!
Цитата · Личное сообщение · #1

Здравствуйте!
Столкнулся с такой проблемой.
Необходимо запустить программу, скопированную на винчестер, которая запускается только с CD ROM. Экспириенса в этом деле маловато, но с подобными защитами встречался. Программа представляет собой книгу в exe-шнике, который голо лежит на диске. Если ее запустить с винта, выскакивает сообщение о том, что программа должна быть запущена с компакт-диска. Написана она на Borland C++, и поиск функции GetDriveTypeA труда не составил. После выхода из функции EAX сравнивается с 5(т.е. CD), и если равенство неверно, то программа переходит на код, который вызывает это сообщение. Я переход занопил. Но после перезапуска проги выскакивает еще одно сообщение: "No books available", и, естественно, по нажатию на OK выход. Вот здесь я и обломился.
На сайтах мне найти мало чего удалось по этому поводу, и с мертвой точки дело не сдвинулось.
Толком больше сказать ничего не могу, могу только дополнить, что exe-шник занимает 1,2 МБ, а сама книга - dat-файл, размером 145 метров с названием "book". Все файлы с СD копируются и читаются, после перезаписи с харда на CD программа запускается. В качестве эксперимента попробовал записать на диск пропатченный exe-шник (с занопленным переходом) со всеми сопутствующими файлами. С диска пропатченная программа запустилась без проблем.
Каким образом поступать в этом случае? Помогите, пожалуйста, в решении этой проблемы. Заранее благодарен.


Ранг: 271.6 (наставник)
Статус: Участник

Создано: 23 июля 2008 20:23 New!
Цитата · Личное сообщение · #2

aertem пишет:
Помогите, пожалуйста, в решении этой проблемы

Экстрасенсы в зироди (с)
и никогда из него не выйдут, ты бы хоть прогу выложил


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 23 июля 2008 21:42 · Поправил: 4kusNick New!
Цитата · Личное сообщение · #3

aertem
Скорее всего, там дело не только в GetDriveTypeA. Ты попробуй в корень диска C:\ положить книгу (уже пропатченную, точней с пропатченным экзе) и проверить.
Ведь, на сидюке книга лежит, как я понял, в корне и соответственно, когда прога находит сидюк через GetDriveTypeA, она пытается обратиться к книге примерно так: _буква_сидюка_:\kniga.exe ну или как-то так, я тоже не экстрасенс и могу вобще во всем ошибаться, просто предполагаю, так вот, когда ты нопишь переход после GetDriveTypeA, прога принимает за сидюк первый винт (логический раздел) (т.е., диск C:\), проверь, GetDriveTypeA наверняка в цикле находится и вызывается для каждого найденного диска в системе, то есть, для C,D,E и т.д. и пытается определить какой же из них - сидюк. Так вот занопив, ты нарушаешь логику программы, и она думает, что первый попавшийся диск - сидюк и в корне начинает искать книгу (себя получается, если я правильно все понял).

А вообще, если можешь выложи отдельно экзе без книги в нем или все целиком, я смогу качнуть и глянуть тогда подробнее..


Ранг: 147.7 (ветеран)
Статус: Участник
sv_cheats 1

Создано: 23 июля 2008 21:44 · Поправил: SER[G]ANT New!
Цитата · Личное сообщение · #4

а зачем нопить переход ? ведь можно 5 (CD) заменить на 3 (HDD).
С прикрепленным экзешником может посоветовали тебе что-нить и по лучше )

Ранг: 3.7 (гость)
Статус: Участник

Создано: 23 июля 2008 23:22 New!
Цитата · Личное сообщение · #5

Ребята!!
Огромное спасибо. (особенно 4kusNick)
Я сам не допер, позор мне. Тупо поместив файлы в корень C: я решил эту проблему.
Что касается замены cmp5 на cmp3 я проходил это еще раньше, но не писал об этом. Хотя результат работы программы был точно такой же, как и во втором случае.
Теперь такая проблема. Может этот вопрос ламерский, но мне просто необходимо запрятать эти файлы подальше (просто поместить не в корне, а чуточку глубже). Если это реально, то как (тупо скрыть не катит)? Я, конечно, понимаю, что объяснение может выйти за рамки, которые фактически и теоретически дозволены форумом. Поэтому буду очень благодарен, если кто-нибудь или намекнет, или ссылку на статью какую-н. кинет. Если переместить файлы сложно или невозможно, то так и скажите. Я-то крякингом не занимался уже очень давно, поэтому многое забылось. Я впринцие забросил это дело, и если помню, то такие задачи раньше решать не приходилось. А этот взлом необходим в личных практических целях. Только это заставило меня снова взяться за отладчик. Времени на подъем целины и детальное изучение искусства крекинга просто нет. Приходится исходить из того, что имеется...


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 23 июля 2008 23:35 New!
Цитата · Личное сообщение · #6

aertem пишет:
Что касается замены cmp5 на cmp3 я проходил это еще раньше, но не писал об этом. Хотя результат работы программы был точно такой же, как и во втором случае.


Зато правка одного байта (5 на 3) гораздо лучше с точки зрения "чистоты" патча, нежели нопинг прыжка.

aertem пишет:
необходимо запрятать эти файлы подальше

Дык прячь, кто мешает, ток в экзешнике не забудь поправить путь до файла, н должен по-идее засветиться в виде просто буквы диска + имя файла где-нить после вызовов GetDriveTypeA. Это можно вообще по-разному делать. Можно перед передачей пути до файла некой функции, открывающей саму книгу, получить путь до самого себя при помощи WinAPI, а потом его и передавать, можно еще как-нить, например, можно воспользоваться пустым местом в проге по-другому, то есть, где-нить, где нули вписать путь до файла и потом его и передавать в функцию загрузки книги, но опять же, это все предположения вслепую, ты блин выложи файл и мы те сделаем, а то так все может оказаться бесполезным, что я говорил.

Если выше написанное не поможет, то выкладывай файл, неужели не понятно, что вслепую хрен чем поможешь нормально?

Ранг: 440.8 (мудрец)
Статус: Участник

Создано: 23 июля 2008 23:38 New!
Цитата · Личное сообщение · #7

aertem
4kusNick тебе сказал - выкладывай прогу с книгами - не доходит никак до сих пор?


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 23 июля 2008 23:47 · Поправил: 4kusNick New!
Цитата · Личное сообщение · #8

tihiy_grom
Тсс, испугаете еще незадачливого новичка )))

aertem
Может, не выкладываете, ибо много весит и инет не позволяет?
или по каким-то другим соображениям?
если первое - то попробуйте сжать винраром каким-нить, если там и правда текстовые книги и никак не пожаты, то мож значительно сожмется, или попробуйте из экзе редактором ресурсов удалить часть или все книги, если они в ресурсах найдутся, в общем, нам нужен сам exe, чтобы было видно что там и как, а вообще, ну ей богу, не мучьте нас, вам помочь хотят, а вы не идете на встречу.

чет переборщил

Ранг: 15.7 (новичок)
Статус: Участник

Создано: 24 июля 2008 12:10 New!
Цитата · Личное сообщение · #9

aertem
Зачем пихать файло в корень диска когда есть команда subst ...


Ранг: 279.1 (наставник)
Статус: Участник
wizard

Создано: 24 июля 2008 13:34 · Поправил: MACKLIA New!
Цитата · Личное сообщение · #10

Fallen Angel пишет:
Зачем пихать файло в корень диска когда есть команда subst ...


Fallen Angel может не всем нравится в "моем компьютере" видить лишний диск ,который создан лишь для работы одной проги.Лучше наверное программу чуть подправить,напрмер как 4kusNick советвал :
4kusNick пишет:
можно воспользоваться пустым местом в проге по-другому, то есть, где-нить, где нули вписать путь до файла и потом его и передавать в функцию загрузки книги

Ранг: 3.7 (гость)
Статус: Участник

Создано: 24 июля 2008 13:40 New!
Цитата · Личное сообщение · #11

ВСЕ!
Сегодня утречком еще немножко поковырялся в этой проге и добился своего: файлы убрал подальше.

4kusNick пишет:
не забудь поправить путь до файла, н должен по-идее засветиться в виде просто буквы диска + имя файла где-нить после вызовов GetDriveTypeA. Это можно вообще по-разному делать. Можно перед передачей пути до файла некой функции, открывающей саму книгу, получить путь до самого себя при помощи WinAPI, а потом его и передавать, можно еще как-нить, например, можно воспользоваться пустым местом в проге по-другому, то есть, где-нить, где нули вписать путь до файла и потом его и передавать в функцию загрузки книги, но опять же, это все предположения вслепую,


Предположения вслепую оказались верными. Пришлось немножко поправить путь к файлу, и все сработало.

По поводу выкладывания проги могу сказать одно: хватало бы скорости - выложил бы давно. Мне сообщение на форуме в среднем с 3-го раза удается оставить, не говоря уже об обмене мегабайтами информации.
Спасибо всем, ваша помощь действительно оказалась очень полезной. С этой прогой на винте жить будет гораздо легче.


Ранг: 233.1 (наставник)
Статус: Участник

Создано: 24 июля 2008 17:08 New!
Цитата · Личное сообщение · #12

ещё как вариант, если оставить условие, что прога должна иметь файл книги в корне диска С.
Запакуй её Thinstall и пихай куда угодно.

Ранг: 24.5 (новичок)
Статус: Участник

Создано: 25 июля 2008 11:18 New!
Цитата · Личное сообщение · #13

ага, или вин раром сэлф экстрактор, с путем распаковки и дальнейшего удаления по закрытии.там есть такая возможность.


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 25 июля 2008 20:10 New!
Цитата · Личное сообщение · #14

zxcZXC
Чет не понял, при чем тут винраровский sfx?

Ранг: 24.5 (новичок)
Статус: Участник

Создано: 25 июля 2008 21:04 New!
Цитата · Личное сообщение · #15

чтобы она распаковывалась на время запуска в корень, потом при закрытии удалялась


Ранг: 748.2 (! !)
Статус: Участник
bytecode!

Создано: 25 июля 2008 21:53 New!
Цитата · Личное сообщение · #16

zxcZXC
Верняк, тоже прокатит по-идее, туплю, соре

Ранг: 37.8 (посетитель)
Статус: Участник

Создано: 8 сентября 2008 20:50 New!
Цитата · Личное сообщение · #17

У меня подобная ситуация !!!
В аттаче сам экзешник и либа, на которую, походу, он ссылается !!!


{ Атач доступен только для участников форума } - CD.rar

Ранг: 440.8 (мудрец)
Статус: Участник

Создано: 8 сентября 2008 21:10 New!
Цитата · Личное сообщение · #18

addy
Писец, ты бы хоть проверил какие файлы нужны для запуска. У меня пишет что не хватает библиотеки cc3260.dll
И наверное до хрена ещё чего не хватает

Ранг: 37.8 (посетитель)
Статус: Участник

Создано: 8 сентября 2008 21:12 · Поправил: addy New!
Цитата · Личное сообщение · #19

tihiy_grom
Писец, может весь диск выложить ? Ты зри в корень !!!

Добавил недостающие файлы [Size: 899 KB]:
http://rapidshare.com/files/143675506/CD.rar http://rapidshare.com/files/143675506/CD.rar

Ранг: 440.8 (мудрец)
Статус: Участник

Создано: 8 сентября 2008 22:44 · Поправил: Модератор New!
Цитата · Личное сообщение · #20

[дурное слово] себе ты умник. Бери в зубы DeDe и [дурное слово] исследовать - там всё видно


Ранг: 1993.2 (!!!!)
Статус: Модератор
retired

Создано: 9 сентября 2008 08:41 New!
Цитата · Личное сообщение · #21

tihiy_grom
Понимаю, конечно, что в тему, но вообще лучше без дурных слов обходиться...
addy
Товарищ, вам делают одолжение вообще то, что смотрят прогу, которую ВАМ надо. И если говорят, что надо-значит надо. Не устраивает если-ALT+F4 всегда поможет.
 eXeL@B —› Основной форум —› запуск программы, прицепленной к CD, с винчестера.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS