| Сейчас на форуме: rtsgreg1989, zds, _MBK_ (+5 невидимых) |
| eXeL@B —› Основной форум —› Оверлеи |
| Посл.ответ | Сообщение |
|
|
Создано: 07 июня 2006 10:37 · Личное сообщение · #1 Подскажите, есть сетап состоящий из 2-х частей: собственно модуль инсталлера упакованных upx-ом и приделанный оверлеем файл данных. Хочется распаковать модуль и приделать к нему оверлей обратно. Как можно это сделать? Простое бинарное копирование не помогает. Видимо нужно где-то еще подправить адреса. На форуме подобный вопрос был но остался без ответа. Помогите. Спасибо. ![]() |
|
|
Создано: 07 июня 2006 11:08 · Личное сообщение · #2 |
|
|
Создано: 07 июня 2006 11:20 · Личное сообщение · #3 |
|
|
Создано: 07 июня 2006 11:24 · Личное сообщение · #4 |
|
|
Создано: 07 июня 2006 11:28 · Поправил: Asterix · Личное сообщение · #5 |
|
|
Создано: 07 июня 2006 11:48 · Личное сообщение · #6 |
|
|
Создано: 07 июня 2006 12:28 · Личное сообщение · #7 |
|
|
Создано: 07 июня 2006 12:30 · Личное сообщение · #8 jfx пишет: Что я сделал: Отодрал, распаковал, попробовал сделать copy /B unpmod.exe + data.dat newmod.exe - непрокатило, не находит данных. Распакованный экзе на совпадает с оригинальным - присутствует секция распаковщика. Поэтому и не прокатит. Зачем мучиться : либо засунь в ресурсы, либо работай просто как с файлом - ты ведь все равно оверлей отдельным файлом в дистре держать будешь. ![]() |
|
|
Создано: 07 июня 2006 13:03 · Личное сообщение · #9 |
|
|
Создано: 07 июня 2006 13:21 · Личное сообщение · #10 Суть проблемы немного глубже (вопрос уже поднимался и решение было найдено, просто сейчас это решение не работает, поэтом ищутся другие пути). Есть инсталлер DXperience - .NET компоненты то DevExpress. Инсталлер лежит одним файлом, состоит из модуля на Delphi упакованного UPX-ом и оверлея - запароленного RAR архива. В ресурсах модуля лежит unrar.dll, она грузится прямо из модуля, без сохранения на диск. Что нужно? В архиве лежат исходники нужных компонентов, нужно их оттуда повыковыривать. Пароль к архиву лежит гдето внутри. Отступление: К сожалению закейгенить нет возможности, т.к. используется RSA подпись с длинной ключа 400 бит. Как решалось прошлый раз: Под отладчиком дожидался распаковки модуля, затем в памяти, в ресурсах, до загрузки, в начало процедуры RARSetPassword ставил CCh и запускал дальше. пропатченный unrar.dll грузился в память, откудато вызывался RARSetPassword и собственно останавливался в начале процедуры. Результат - пароль в стеке. В новой версии так не получается, почему не пойму - под отладчиком валится в ексепшн Причину незнаю. Что хочется: не ковырятся в памяти, а распаковать модуль, пропатчить в файле unrar.dll, приделать обратко rar ну а дальше по старому сценарию.
![]() |
|
|
Создано: 07 июня 2006 14:45 · Личное сообщение · #11 |
|
|
Создано: 21 августа 2007 11:44 · Личное сообщение · #12 |
|
|
Создано: 24 августа 2007 10:41 · Личное сообщение · #13 |
|
|
Создано: 24 августа 2007 16:28 · Личное сообщение · #14 |
|
|
Создано: 26 августа 2007 14:22 · Личное сообщение · #15 |
| eXeL@B —› Основной форум —› Оверлеи |





Причину незнаю. Что хочется: не ковырятся в памяти, а распаковать модуль, пропатчить в файле unrar.dll, приделать обратко rar ну а дальше по старому сценарию.
Для печати