![]() |
eXeL@B —› Вопросы новичков —› Компиляция idados под Windows |
Посл.ответ | Сообщение |
|
Создано: 20 апреля 2013 14:19 · Личное сообщение · #1 Quester пишет: Много лет назад в публичном доступе был выложен плагин для совместной работы DosBox и IDA Pro под названием IdaDos. Работал кривовато, но работал. Недавно автор этого плагина совместно с WJP (Exult, SCUMMVM, DosBox) переработал его под новую IDA Pro. Проблема в том, что выложили они только исходники, которые еще нужно собрать. К тому же, не смотря на то, что первая версия работала под винды, новая тестировалась только на Linux и на Mac. Работать под Win, в принципе, должна, но не обязана, нужно тестировать. Ссылки для заинтересовавшихся: Сам плагин: https://github.com/wjp/idados Пропатченный для работы с плагином DosBox: https://github.com/wjp/dosbox PS: От себя хочу добавить, что хотел бы заказать мануал по компиляции всего этого дела под Windows7 (x86/64). За работающую связку IDA Pro Advanced 6.1 и dosbox/svn daum и мануал готов заплатить ХЗ денег, пишите, обсудим в личке. Мануал будет выложен на форуме old-games.ru Самому собрать не хватает знаний и опыта. ![]() |
|
Создано: 20 апреля 2013 16:42 · Личное сообщение · #2 |
|
Создано: 20 апреля 2013 21:24 · Поправил: robot666 · Личное сообщение · #3 |
|
Создано: 21 апреля 2013 09:44 · Личное сообщение · #4 |
|
Создано: 21 апреля 2013 10:32 · Личное сообщение · #5 |
|
Создано: 21 апреля 2013 11:00 · Личное сообщение · #6 |
|
Создано: 21 апреля 2013 11:34 · Поправил: robot666 · Личное сообщение · #7 Может быть я начал не с того конца. В файле build содержится следующая непонятная мне информация. To build the plugin for Linux: export IDA=/path/to/idasdk64/ export __LINUX__=1 perl $IDA/bin/idamake.pl Предполагаю, что первые 2 строки задают переменные для использования далее в скрипте, но зачем запускается Перл с указанием файла из Иды я вообще не понимаю. Затем вторым указанием идет рекомендации по сборке правильного dosbox: To build dosbox on a 32-bit system: ./autogen.sh ./configure --enable-debug=ida32 --with-ida-sdk=$IDA --with-ida-plugin=/path/to/idaplugin Это я понимаю, выполняется два скрипта, второй с ключами в командной строке. Но я застопорился на первом же шаге. deniskore Попробовал этот пакет, выдает ошибку d:\___1111\ida dosbox\idados-master>make g++ -c -D__NT__ -D__IDP__ -I/idasdk61/include -I/idasdk61/plugins/debugger -DNO_ OBSOLETE_FUNCS -D__IDP__ -D__PLUGIN__ -mrtd -mno-cygwin -o dosbox_rstub.o dosbox _rstub.cpp g++: error: unrecognized command line option '-mno-cygwin' make: *** [dosbox_rstub.o] Error 1 если убрать ключ -mno-cygwin, то make выдает простыню из ошибок. cygwin пишет $ make g++ -c -D__NT__ -D__IDP__ -I/idasdk61/include -I/idasdk61/plugins/debugger -DNO_OBSOLETE_FUNCS -D__IDP__ -D__PLUGIN__ -mrtd -mno-cygwin -o dosbox_rstub.o dosbox_rstub.cpp g++: The -mno-cygwin flag has been removed; use a mingw-targeted cross-compiler. makefile:27: recipe for target `dosbox_rstub.o' failed make: *** [dosbox_rstub.o] Error 1 Вместо IDA=/path/to/idasdk64/ __LINUX__=1 я попробовал написать следующее IDA=/idasdk61/ __NT__=1 Ну и конечно же у меня есть этот IDASDK61 он лежит в каталоге рядом. ![]() ![]() |
|
Создано: 21 апреля 2013 11:45 · Поправил: robot666 · Личное сообщение · #8 |
|
Создано: 21 апреля 2013 11:49 · Личное сообщение · #9 функции задекларированы по разному, отсюда и ошибки (ида экспортирует функции), можно попробывать ![]() |
|
Создано: 21 апреля 2013 15:33 · Поправил: robot666 · Личное сообщение · #10 Зависимости собрал одной кучей, компилировать пробовал в cygwin. Валит кучу ошибок деклараций. Этот вариант в аттаче пробую с idasdk63, но как мне подсказывают в исходниках к гитхабу указан idasdk57 Нашел 5.7 на http://www.woodmann.com/crackz/Ida.htm ![]() ![]() |
|
Создано: 22 апреля 2013 09:53 · Личное сообщение · #11 |
|
Создано: 22 апреля 2013 10:19 · Личное сообщение · #12 |
|
Создано: 22 апреля 2013 10:55 · Личное сообщение · #13 |
|
Создано: 22 апреля 2013 12:57 · Личное сообщение · #14 |
|
Создано: 22 апреля 2013 13:42 · Личное сообщение · #15 |
|
Создано: 22 апреля 2013 13:48 · Личное сообщение · #16 |
|
Создано: 22 апреля 2013 13:55 · Поправил: robot666 · Личное сообщение · #17 reversecode, спасибо, погляжу. Демка умеет плагины? Тогда это хорошая новость. Под 6.4 тоже не компилируется. Не понимаю, что же мне пишет компилятор, ругается на следующую структуру в файле rpc_engine.h: socket rpc_socket; // то есть нет такого типа SOCKET In file included from rpc_client.h:4:0, from dosbox_rstub.cpp:21: rpc_engine.h:32:3: ошибка: ‘socket’ не является именем типа rpc_engine.h:49:23: ошибка: expected ‘)’ before ‘rpc_socket’ In file included from dosbox_rstub.cpp:21:0: rpc_client.h:14:23: ошибка: expected ‘)’ before ‘rpc_socket’ make: *** [dosbox_rstub.o] Error 1 Всё, для меня тупик наступил. ![]() |
|
Создано: 23 апреля 2013 18:07 · Личное сообщение · #18 Скомпилирован, пишет: Запуск программы невозможен, так как на компьютере отсутствует IDA.WLL. Попробуйте переустановить программу. Этот файл нужен из IDA 6.4, так как подставил я его из 6.1 и он ругнулся нет такой библиотеки, что ты просишь. В предыдущей версии он был по пути d:\IDA Pro Advanced 6.1 RDW\Hex-Rays.IDA.Pro.Advanced.v6.1.Windows.incl.Hex-Rays.x86.Decompiler.v1.5.READ.NFO-RDW\ida61-hexrays15-rdw.rar\ida61\ida.wll ![]() |
|
Создано: 23 апреля 2013 19:04 · Личное сообщение · #19 |
|
Создано: 23 апреля 2013 20:27 · Поправил: gloomdemon · Личное сообщение · #20 robot666 пишет: Запуск программы невозможен, так как на компьютере отсутствует IDA.WLL. а рядом положить ida.wll не пробовали? =) robot666 Кстати, патченный dosbox для работы с плагином на самом деле лежит в отдельной ветке и путь у него https://github.com/wjp/dosbox/tree/idados =) Плюс там надо чуть патчить, в общем вот собрал под ida 6.4, если будет время соберу под 6.1. Патчи для сборки самому и собранное добро для 6.4 в архиве (пасс ida-dosbox.zip). Да, для сборки под mingw нужен gcc версии 4.6.2, 4.7 не подойдет. У dosbox на странице http://www.dosbox.com/wiki/BuildingDOSBox есть сслыка на нормальный дистриб. ![]() ЗЫ Отлаживаться так: в ida выбирается remote dosbox debugger и в debugger->process options устанавливается hostname на текущий комп, а в dosbox запускается прога, к примеру debug prince.exe и в ida жмакаем start. Выложенная сборка dosbox падает при закрытии оного =) не критично и почему падает ломало разбираться. И еще одно =) ломало ставить sdl_sound, поэтому dosbox звук вроде не поддерживает, хотя могу и ошибаться, посже могу собрать со звуком если кому надо. ![]() |
|
Создано: 23 апреля 2013 21:02 · Поправил: robot666 · Личное сообщение · #21 |
|
Создано: 23 апреля 2013 21:11 · Поправил: reversecode · Личное сообщение · #22 |
|
Создано: 23 апреля 2013 21:44 · Поправил: robot666 · Личное сообщение · #23 reversecode игра 96 года использует дос dpmi запускается один ехе файл затем игра переходит в 32 битный режим и запускает второй файл. Я ее ковыряю и мне бы сборка досбокс с идой жизнь упростили. ![]() |
|
Создано: 23 апреля 2013 22:26 · Поправил: gloomdemon · Личное сообщение · #24 robot666 Обновил пост, положил файлы для 61 =) robot666 пишет: закинь дифф на гитхаб Дифф на гитхаб заливать смысла пока нет, потому что надо патчить входные скрипты для autogen, для правильной генерации Makefile, что бы потом после configure не править src/Makefile. Плюс для того что бы это собрать, надо еще патчить sdk, даже последний. Хотя у меня своя сборка mingw, там много чего в хидерах напатчено, может с оригинальным mingw соберется без проблем. ![]() |
|
Создано: 23 апреля 2013 22:52 · Поправил: robot666 · Личное сообщение · #25 |
![]() |
eXeL@B —› Вопросы новичков —› Компиляция idados под Windows |