Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Вопросы новичков —› Чем можно аккуратно "разобрать" PE файл, и чем его "собрать" в исходное состояни |
Посл.ответ | Сообщение |
|
Создано: 03 июля 2006 16:57 · Личное сообщение · #1 Дано: DLL файл из состава Microsoft Visual Studio 2005 Express. PeID 0.94 определяет его как PE Win32 DLL (0 EntryPoint) в режиме Normal Scan. В режиме External Scan выдаёт UPolyX v0.5 *. Вообще-то библиотека создана при помощи C++ (на 100% не уверен). Microsoft Visual Studio 2005 Express имеется. Вопрос новичка, не знакомого совершенно с C++. Чем его(её) можно аккуратно "разобрать", и чем "собрать" в исходное состояние? "Хакать" библиотеку не нужно. Хочу всего-лишь перевести текстовые ресурсы на русский язык. Заранее спасибо за помощь. |
|
Создано: 03 июля 2006 18:34 · Личное сообщение · #2 |
|
Создано: 04 июля 2006 06:55 · Личное сообщение · #3 OgreGUI не берёт. После неё неправильно отображается, либо совсем не отображается русский шрифт. Повторяю: строковые ресурсы "зашиты" в код DLL. HEX-редакторы не годятся - та же проблема с отображением русского, редакторы ресурсов их не видят. Мне надо знать, каким штатным дизассемблером (декомпилятором) можно "разобрать" DLL, и каким штатным ассемблером (компилятором) можно её собрать обратно. Штатный - это значит из состава пакета Microsoft Visual С++. Желательно в подробностях. |
|
Создано: 04 июля 2006 08:23 · Личное сообщение · #4 А, так ты хочешь разобрать в C и скомпилить студией! Ну так флаг в руки, напиши такую прогу, многим пригодится.... Или прочти это http://www.exelab.ru/kid.php ----- Yann Tiersen best and do not fuck |
|
Создано: 04 июля 2006 10:35 · Личное сообщение · #5 teacher10 пишет: Чем его(её) можно аккуратно "разобрать", и чем "собрать" в исходное состояние? "Хакать" библиотеку не нужно. Хочу всего-лишь перевести текстовые ресурсы на русский язык. Разобрать - это слишком круто. Да и бессмысленно. Для ресурсов есть редакторы - если одни не берут, то другие смогут. Например, в Студии открой свою dll как ресурсы - и редактируй. Редактирование встроенных строк - это чистый хак. Нужно перенести строку в другое место, т.к. русский текст обычно длиннее и поменять ее адрес в вызове. OgreGUI это делает автоматом, но любая программа имеет ограниченное применение. teacher10 пишет: После неё неправильно отображается, либо совсем не отображается русский шрифт. Поточнее нельзя выразится ?! Возможно для отображения символов используется шрифт без кириллицы - в этом случае надо шрифт менять. Тебе действительно не хак нужен, а реверсинг - т.е. разобраться, как программа работает с сообщениями - после этого русификация станет легкой. |
|
Создано: 04 июля 2006 16:51 · Поправил: teacher10 · Личное сообщение · #6 Для Pe_Kill: я вроде внимательно читал материал для новичков. К сожалению, не нашёл там ответ на свой вопрос. Но все равно спасибо. Для tundra37: В студии эта DLL не открывается как ресурс, т.е. я пробовал открыть её "в лоб". Может, Вы имеете в виду не известный мне способ, так подскажите его, пожалуйста. Я ведь ещё не успел начать знакомство с С++. В OgreGUI я пробовал применять все имеющиеся варианты отображения шрифта: ASCIIZ, UNICODE, RESUNI и PASCAL. Положительного результата нет. Так как мне разобраться с тем, как программа работает? Что нужно для реверсинга? Какие инструменты? Компиляторы, декомпиляторы, ассемблеры, дизассемблеры? Я эту DLL при помощи dumpbin.exe сохранил на диске в виде бинарного дампа. С ним можно работать, т.е. перевести строковые ресурсы. А дальше то что мне делать? Чем мне бинарный дамп собрать обратно в DLL и проверить на работоспособность? |
|
Создано: 04 июля 2006 16:58 · Личное сообщение · #7 teacher10 пишет: я вроде внимательно читал материал для новичков Значит не внимательно teacher10 пишет: Что нужно для реверсинга? Вторым шагом на пути к крэкерству должно стать изучение низкоуровневого языка программрования - ассемблера, нужно изучить структуру процессора и основные команды ассемблера, это очень поможет вам в дальнейшем. Не пугайтесь, на самом деле всё это достаточно просто.
teacher10 пишет: Какие инструменты? Нужно достать основные крэкерские инструменты, такие как ... http://www.exelab.ru/download.php[/c]
|
|
Создано: 04 июля 2006 17:26 · Личное сообщение · #8 Для Pe_Kill: Да скачал я уже почти все инструменты. Те, что велики, заказал на диске. Только придёт ли тот диск и когда? Если мне сейчас придётся ещё и ассемблер начинать, то это... Я хотел вначале всего-лишь разобраться с VB, входящим в студию 2005. Перевести его, то-сё. Я ведь пропустил студии 2002 и 2003. Сидел на VB98. Начал переводить, разбирать примеры, Starter Kit-ы. Вот с переводом то и попал прямо туда, куда и не думал. Плюс мне на старости лет становится крэкером как-то... Так чем собрать бинарный дамп? |
|
Создано: 05 июля 2006 09:22 · Личное сообщение · #9 teacher10 Про Студию: в 4-й ресурсы было видно всегда. Я ее долго держал, пока однажды она не обломилась. Стал открывать в 6-й и внимательно смотреть. Когда задаешь имя файла, там есть внизу строчка с опциями : auto ..... resourses. Чего в 2005-й не знаю - я даже дистрибутив 2003-й не ставил.teacher10 пишет: Плюс мне на старости лет становится крэкером как-то...... В OgreGUI я пробовал применять все имеющиеся варианты отображения шрифта: ASCIIZ, UNICODE, RESUNI и PASCAL .......... Я эту DLL при помощи dumpbin.exe сохранил на диске в виде бинарного дампа. С ним можно работать, т.е. перевести строковые ресурсы. 1) Если нет больших знаний в Виндах и ассемблере, то будет тяжеловато реверсингом заниматься. 2) Раз dumpbin строки показывает - нужно искать программу умеющую работать с ними. 3) Про OgreGUI - ASCIIZ, UNICODE - это кодировки, а не шрифты. Шрифты - Arial, Courier и т.д. У шрифтов есть доп.кодировки - кодовые страницы для разных языков. Ogre, наверное, русский показывает в своем шрифте, а DLL может показывать в своем, в котором нет кодовой страницы кириллицы. ======================================================== Поэтому нужна информация, а так получается беспредметный разговор. DLL может вообще быть на .NET и тогда естественно ее мало какие инструменты возьмут. Короче надо или ссылку или выложить куда-то. Ну и хотя бы фрагмент dumpbin со строчками - может прояснится что. |
|
Создано: 05 июля 2006 15:58 · Личное сообщение · #10 Для tundra37: Ну ошибся я, вместо "кодировки" написал "шрифты". У нас с МСК разница в 9 часов. Поздно ночью писал, устал. Если у Вас есть Microsoft Visual Studio 2005 Express Edition, то вот два примера: 1) Файл vsmsoui.dll, находящийся в C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\1033. Как его определяет PEiD, я указал в первом сообщении. Сниффер Pe Tools v.1.5 определяет эту DLL как "Microsoft Visual C++ vx.x DLL". В vsmsoui.dll содержится фраза "&Rearrange Commands...". Она отображается на кнопке в панели "Customize" меню Tools – Customize. В WinHex эту фразу можно найти по адресу: Offset 00487744 - decimal (00077140 - hexadecimal). ResourceHacker и LikeRusXP 4.1 Final Reality позволяют только просмотреть этот ресурс (тип ресурса 221, идентификатор – 12) В этой DLL то, что видно обычными редакторами ресурсов, я перевёл. А вот то, что они не видят...? Либо видят, но редактировать не могут? А там есть ещё строковые ресурсы! ---------------------------------------------------------------------- ------------------------ Б) Второй пример будет сложнее – нативная сборка. C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\System.Windows.Forms\c4 40ef992d24e947937ec66a72504f5d\System.Windows.Forms.ni.dll. В этой библиотеке содержатся подсказки, отображающиеся в нижней части панели Properties для свойств, имеющихся у объекта. Возьмём обычную форму. У неё есть свойство "Minimum Size". Подсказка внизу панели – "The minimum size the form can be resized to." Проблема та же, файл определяется как в пункте А. Но операционная система WinXP не даёт изменять/заменять файлы в папке " …WINDOWS\assembly\" . --------------------------------------------------------------------- Если у Вас нет Microsoft Visual Studio 2005 Express Edition, то тогда получается действительно беспредметный разговор. А куда я Вам выложу? Первая библиотека на 1,5, а вторая более 13 мегабайт. С моим dial-up это несерьёзно. Может, у кого-то из Ваших знакомых/друзей есть? ---------------------------------------------------------------------- -------------------------------------------------------- А с файлами типа "Microsoft Visual C# / Basic .NET" я вполне успешно справляюсь при помощи ассемблера Ilasm и дизассемблера Ildasm из состава всё той же студии. В "Виндах" знания есть, а вот в ассемблерах и правда, нет. Поэтому и пришёл сюда, я ведь не планировал ассемблер изучать столь срочно. |
|
Создано: 06 июля 2006 09:39 · Личное сообщение · #11 teacher10 1) Идею о "собрать из дизассемблера" лучше отбросить и не смешить людей - сделать это можно в принципе, но будет очень дорого стоить. Есть более простые решения и подешевле. 2) Для русификации ( я уже видел ветку на wasm.ru) потребуется владение отладчиком на троечку и умение читать дизассемблерный текст. Второму я учился на ассемблерных листингах компилятора. Т.е. придется аналогичные русифицируемым проги транслировать и изучать ассемблерный текст и сосвечивать его с дизассемблером отладчика и обучаться править. 3) Самое быстрое - это заказать автоматический патчер. Но сколько это будет стоить - не знаю. Я 2005 студию не знаю и ковырять такого монстра стал бы тоже только задорого. |
|
Создано: 06 июля 2006 16:34 · Личное сообщение · #12 Для tundra37: ------------------ Спасибо. А какой отладчик Вы имеете в виду? И чем транслировать? Я ещё только начал с горя переводить MSDN в той части, которая касается консольных инструментов С++. Ну и "ковыряю" я студию задаром, чисто для себя и общего развития. Так Вы всё-таки советуете начать с изучения ассемблера? А то у меня есть подозрение, что я не с того места начал знакомство с реверсингом. |
|
Создано: 06 июля 2006 18:17 · Личное сообщение · #13 teacher10 пишет: А какой отладчик Вы имеете в виду? И чем транслировать? 1) Отладчик - олли. Небольшой и удобный. 2) Транслировать - рано еще. Можно будет транслировать на чем угодно - на чем удобнее. 3) Важно понять, что надо заменить в DLL и автоматизировать эти замены. Конечно можно неспеша патчить через олли строчка за строчкой, но это же долго. Надоест и захочется автомат 4) Для общего развития задачка больно сложная. Гораздо проще подождать или скачать на русском книжку. Кстати есть сервис для модемщиков : качают по вашей ссылке и высылают по почте : СиДи - 150 р. Ну или книгу заказать - это уже дороже будет. 5) Ассемблер по моей методе автоматом выучится. Точнее выучите то, что нужно для вашей задачи. |
|
Создано: 09 июля 2006 15:47 · Личное сообщение · #14 |
eXeL@B —› Вопросы новичков —› Чем можно аккуратно "разобрать" PE файл, и чем его "собрать" в исходное состояни |
Эта тема закрыта. Ответы больше не принимаются. |