Сейчас на форуме: asfa (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Что делать, если в dll после распаковки нет релоков? Как их найти? |
Посл.ответ | Сообщение |
|
Создано: 18 апреля 2010 17:50 · Личное сообщение · #1 |
|
Создано: 18 апреля 2010 18:30 · Личное сообщение · #2 |
|
Создано: 18 апреля 2010 18:50 · Личное сообщение · #3 |
|
Создано: 19 апреля 2010 04:19 · Личное сообщение · #4 |
|
Создано: 19 апреля 2010 11:10 · Личное сообщение · #5 То же с таким сталкнулся, вручную так и не нашёл в памяти где табличка релоков, ....квик с релоками на аттаче выручил. ![]() ----- Чтобы юзер в нэте не делал,его всё равно жалко.. ![]() |
|
Создано: 19 апреля 2010 11:57 · Личное сообщение · #6 |
|
Создано: 19 апреля 2010 13:56 · Поправил: alt · Личное сообщение · #7 Archer пишет: QuickUnpack? С десятого раза сработало. До этого пробовал не выходило. Но это руки, пока, кривые. Столкнулся с еще одной проблемой. Релоки, импорт и т.д. имеются. Поскольку dll так и не загрузилось (весь файл грузится в заголовок) - посмотрел в другом редакторе PE Exploer. Ба, не верю своим глазам. Pe Tools и Pe explorer считывают информацию о секциях по разному. Если коротко, то PE Exploer начинает брать данные на 32 байта раньше, чем Pe Tools. Поскольку Olly прочитала так же, как Pe Tools - видимо все правильно в этом месте. Но не все так просто: Вырезал 32 пустых байте после PE заголовка и до начала описания секций. В PE Exploer релоки, импорт, ресурсы все прекрасно отображается, но при загрузке dll olly ругается: "файл не есть NT, иди лесом". Я так понимаю надо править данные в PE заголовки: размер кода, размер данных и т.д.? Не намекнете, чем и как это делать? ![]() |
|
Создано: 19 апреля 2010 13:58 · Личное сообщение · #8 |
|
Создано: 19 апреля 2010 14:13 · Личное сообщение · #9 |
|
Создано: 19 апреля 2010 15:57 · Личное сообщение · #10 |
|
Создано: 19 апреля 2010 18:57 · Личное сообщение · #11 ClockMan пишет: Выложил бы лучше файл в запросы на взлом давно бы расспаковали Да самому хочется разобраться. Но если не получиться, видимо так и сделаю? Bronco пишет: пройдись в своей либе, до оер под олькой, потом заусти квик, и на аттаче ->распакуй. Квик сам сдампит, подправит заголовок, пошинкует секции и т.д. И сколько времени шинкует? У меня десять минут шинковал и никакого результате. Надоело. Ни кто не знает, как считать поля: Size of Code, Size of Init Data, Size of UnInit Data ? ![]() |
|
Создано: 19 апреля 2010 21:28 · Личное сообщение · #12 |
|
Создано: 20 апреля 2010 09:21 · Личное сообщение · #13 Archer пишет: Я советую забить нулями последние 2, а в 1 прописать весь ImageSize. Спасибо за помощь, но не помогло. Archer пишет: Если в 2 словах-сумма размеров секций с соответствующими атрибутами. Нашел я этот топик. В принципе все понятно, но засада, видимо, в том, что атрибуты секций после распаковки не верны. В связи с этим вопрос: что относится к понятию "данные" ? Я правильно думаю, что "данные это все, что не код" ? ![]() |
|
Создано: 20 апреля 2010 11:51 · Личное сообщение · #14 |
|
Создано: 20 апреля 2010 17:12 · Личное сообщение · #15 А я и не обещал, что после правки этих 2 полей у тебя всё сразу залетает. По большому счёту они нафиг не нужны, разве что олька не код может не анализировать и не сохранять анализ, не более того. Так что явно надо смотреть на другие вещи, ибо косяки другие. Так что вообще можешь забить на код/данные, а посмотреть уже, наконец, в PEVerify, который предложили в прошлом топике. ![]() |
|
Создано: 20 апреля 2010 17:26 · Поправил: Kiev78 · Личное сообщение · #16 |
|
Создано: 20 апреля 2010 18:02 · Личное сообщение · #17 |
|
Создано: 20 апреля 2010 20:10 · Поправил: alt · Личное сообщение · #18 Archer пишет: А я и не обещал, что после правки этих 2 полей у тебя всё сразу залетает. Еще раз спасибо за участие. Нашел в чем была проблема. После распаковки QuickUnpack распаковщик записал таблицу секций (Object Table) на 32 байте ниже и подправил размер заголовка. Таким образом после поля Num of RVA and Sizes оказалось не 10h массивов, а на 32 байта больше. Видимо, поэтому и грузился весь файл в одну секцию с названием "Заголовок РЕ". Хотя Pe Tools говорил, что всё Ок. Пришлось лишние байты перенести после (Object Table). Теперь загрузилось. ClockMan пишет: Выложи свой дамп который ты пытаешся испарвить и сам упакованный файл и тебе укажут на твои ошибки Большое спасибо за предложение помощи. Буду рад любой помощи в обучении. А если будет образец, то процесс должен пойти быстрее. Дамп корявый - однозначно. А в распаковке QuickUnpack-ом моя заслуга минимальна. Сейчас заметил, что оригинальная dll после запуска создает блок памяти "приватный 00041002" размером 140000 за пределами выделенной ей памяти. А поскольку не дамп, не распаковщик этих областей не делают - возникает ошибка по обращению к 0000000 ![]() ![]() |
|
Создано: 20 апреля 2010 20:14 · Личное сообщение · #19 |
|
Создано: 21 апреля 2010 17:49 · Поправил: Kiev78 · Личное сообщение · #20 |
|
Создано: 22 апреля 2010 15:46 · Личное сообщение · #21 |
|
Создано: 22 апреля 2010 19:24 · Поправил: Kiev78 · Личное сообщение · #22 |
|
Создано: 22 апреля 2010 20:10 · Личное сообщение · #23 |
|
Создано: 23 апреля 2010 16:43 · Личное сообщение · #24 Archer пишет: Попробуй этот распакованный файл Большое спасибо за потраченное на меня время. Этот файл будет для меня путеводной звездой для дальнейшего работы, что бы заставить dll работать под программой. Пока говорит: не могу загрузить. Kiev78 пишет: Предложеннный мной выше метод действует здесь безотказно. Спасибо и Вам за принятое участие. Мысль я Вашу понял, но к сожалению не смогу воспользоваться. Поскольку моих познаний хватить подправить несколько байтов, но опыта по писанию программ, даже самых простеньких, никакого. Еще рас спасибо всем! ![]() |
|
Создано: 23 апреля 2010 22:12 · Поправил: Kiev78 · Личное сообщение · #25 |
|
Создано: 24 апреля 2010 14:18 · Поправил: Kiev78 · Личное сообщение · #26 |
|
Создано: 24 апреля 2010 15:50 · Личное сообщение · #27 Положу тогда и я ещё один свой вариант, на этот раз файл причёсан, лишние секции отрезаны, директории перестроены. Загружается нормально, но особо не тестировал. Критика принимается. В том числе и по любым полям хедера/секциям и тд. В итоге 392 Кб файл стал. ![]() |
|
Создано: 25 апреля 2010 08:20 · Личное сообщение · #28 Уважаемые Archer и Kiev78. даже не знаю, как Вас благодарить. Признателен Вам обоим за участие в решении моей проблемы. Критика принимается. Честно говоря, я даже не знаю, с какой стороны критиковать. И что. То что, основная программа не хочет работать со всеми распакованными вариантами - тут видимо дело не столько в работоспособности dll, а в проверке на соответствие каким то критериям. Пока до конца не понял - каким именно. Сначала идет сверка то ли с паролем, то ли с crk, лежащим в другой dll. Если пароли не сходятся (причем на каждый вариант распаковки - правильный свой) - пишет "не могу загрузить". После обхода этой проверки, идет куча других сравнений (до конца пока не разобрался чего с чем) - пишет "испорченная или старая версия". Честно говор, не думал, что будет все так запутанно. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Что делать, если в dll после распаковки нет релоков? Как их найти? |