Сейчас на форуме: asfa, Rio, _MBK_, Adler (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Компиляция idados под Windows
Посл.ответ Сообщение

Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 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
Самому собрать не хватает знаний и опыта.



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 20 апреля 2013 16:42
· Личное сообщение · #2

под cygnus'ом не пробовали?

-----
старый пень




Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 20 апреля 2013 21:24 · Поправил: robot666
· Личное сообщение · #3

Сперва мучились с minigw, ничего не вышло. Я сегодня до создания темы скачал cygwin, но еще не пробовал, буду пробовать.
Под minigw там есть свой makefile.minigw, вот чего с него начали, но он валит кучу ошибок.



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 апреля 2013 09:44
· Личное сообщение · #4

cygwin как я понял позволяет запускать приложения только в своей эмулируемой среде, немного не то, что я хотел. Опять всё упирается в недостаток знаний и умений.



Ранг: 53.9 (постоянный), 33thx
Активность: 0.050
Статус: Участник

Создано: 21 апреля 2013 10:32
· Личное сообщение · #5

попробуйте скомпилировать используя этот пакет, и не забудьте про инклуды с ida sdk 6.1



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 21 апреля 2013 11:00
· Личное сообщение · #6

cygwin - не изолированная среда. должно работать.

-----
старый пень




Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 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 он лежит в каталоге рядом.

af77_21.04.2013_EXELAB.rU.tgz - errors.txt



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 апреля 2013 11:45 · Поправил: robot666
· Личное сообщение · #8

Товарищ Eric Fry еще расстраивает:
I'm not too sure if you will be able to compile idados with idapro 6.1. We usually target the latest release. The ida sdk changes quite frequently which often breaks compatibility with older releases.

Я погуглил и свежее 6.1 не нашел иды ((



Ранг: 53.9 (постоянный), 33thx
Активность: 0.050
Статус: Участник

Создано: 21 апреля 2013 11:49
· Личное сообщение · #9

функции задекларированы по разному, отсюда и ошибки (ида экспортирует функции), можно попробывать --> скачать офф. порт <-- или еще вот это --> tdm-gcc <--



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 21 апреля 2013 15:33 · Поправил: robot666
· Личное сообщение · #10

Зависимости собрал одной кучей, компилировать пробовал в cygwin. Валит кучу ошибок деклараций.
Этот вариант в аттаче пробую с idasdk63, но как мне подсказывают в исходниках к гитхабу указан idasdk57
Нашел 5.7 на http://www.woodmann.com/crackz/Ida.htm

766c_21.04.2013_EXELAB.rU.tgz - idados.zip



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 апреля 2013 09:53
· Личное сообщение · #11

Скачал sdk 6.4 но как пишут здесь в теме, он какой-то плохой. Попробую.



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 апреля 2013 10:19
· Личное сообщение · #12

Куча "не был декларирован"

760e_22.04.2013_EXELAB.rU.tgz - out2.txt



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 апреля 2013 10:55
· Личное сообщение · #13

Заменяю все подключаемые файлы на ida sdk от новой версии 6.4, там чудовищные отличия от версии 6.1




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 22 апреля 2013 12:57
· Личное сообщение · #14

Пользуйся кнопкой "Правка", не создавай сообщения подряд.
А что касается топика-я бы не хватал лучше чужие сдк. Под какой идой собрался юзать-под ту и собирай.



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 22 апреля 2013 13:42
· Личное сообщение · #15

Проблема в том, что авторы тестировали на 6.4, соберется он из-за огромных различий только под 6.4, а на паблике только 6.1, плагин даже если скомпилируется, то не заработает.




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 22 апреля 2013 13:48
· Личное сообщение · #16

демка ida 6.4 уже давно появилась
для отладки я думаю хватит



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 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


Всё, для меня тупик наступил.



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 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




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 23 апреля 2013 19:04
· Личное сообщение · #19

если плагин собирали под 6.4 накой вы его в 6.1 иду пихаете?



Ранг: 18.2 (новичок), 8thx
Активность: 0.010
Статус: Участник

Создано: 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 есть сслыка на нормальный дистриб.



https://anonfiles.com/file/2eda0f16ed99ebba85116be788c5bf2e dosbox + plw

https://anonfiles.com/file/8a844778c36684aa57d825f06aa2383e здесь dll'ки от mingw, забыл совсем.

https://anonfiles.com/file/fa45dab17fee77a1679e39d623af4794 сборка для ida61 от ESET (заменить файлы в первом архиве), там же патчи и для sdk61, работает, проверил

ЗЫ

Отлаживаться так: в ida выбирается remote dosbox debugger и в debugger->process options устанавливается hostname на текущий комп, а в dosbox запускается прога, к примеру debug prince.exe и в ida жмакаем start.

Выложенная сборка dosbox падает при закрытии оного =) не критично и почему падает ломало разбираться.

И еще одно =) ломало ставить sdl_sound, поэтому dosbox звук вроде не поддерживает, хотя могу и ошибаться, посже могу собрать со звуком если кому надо.



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 апреля 2013 21:02 · Поправил: robot666
· Личное сообщение · #21

gloomdemon Спасибо огромное, буду ковырять свою игру теперь и ждать слива 6.4 )
закинь дифф на гитхаб.

ЗЫ: так а 6.4 то ни у кого нет, а демка игру не открывает, опять облом.
с демкой 6.4 плагин не заработал




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 23 апреля 2013 21:11 · Поправил: reversecode
· Личное сообщение · #22

с демкой 6.4, плагин не заработал?

robot666 пишет:
а демка игру не открывает

как не открывает? я считал что дебагер там работает



Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 апреля 2013 21:44 · Поправил: robot666
· Личное сообщение · #23

reversecode игра 96 года использует дос dpmi запускается один ехе файл затем игра переходит в 32 битный режим и запускает второй файл.--> Противостояние<--.
Я ее ковыряю и мне бы сборка досбокс с идой жизнь упростили.



Ранг: 18.2 (новичок), 8thx
Активность: 0.010
Статус: Участник

Создано: 23 апреля 2013 22:26 · Поправил: gloomdemon
· Личное сообщение · #24

robot666

Обновил пост, положил файлы для 61 =)

robot666 пишет:
закинь дифф на гитхаб


Дифф на гитхаб заливать смысла пока нет, потому что надо патчить входные скрипты для autogen, для правильной генерации Makefile, что бы потом после configure не править src/Makefile.

Плюс для того что бы это собрать, надо еще патчить sdk, даже последний. Хотя у меня своя сборка mingw, там много чего в хидерах напатчено, может с оригинальным mingw соберется без проблем.

| Сообщение посчитали полезным: robot666

Ранг: 7.8 (гость)
Активность: 0.010
Статус: Участник

Создано: 23 апреля 2013 22:52 · Поправил: robot666
· Личное сообщение · #25

gloomdemon кстати, звук бы нужен. Я как раз застопорился на декодировании видео с противостояния. Без звука афаир она не запустится. Завтра попробую. Но даже за то что есть спасибо от души.

Говорят звук работает.


 eXeL@B —› Вопросы новичков —› Компиляция idados под Windows
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати