eXeLab
eXeL@B DVD 2017 !

Видеокурс программиста и крэкера 5D 2O17
(актуальность: ноябрь 2O17)
Свежие инструменты, новые видеоуроки!

  • 400+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: Alf, redlord
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

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

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

Создано: 20 апреля 2013 14:19 New!
· Личное сообщение · #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
Самому собрать не хватает знаний и опыта.
r_e

Ранг: 526.1 (!)
Статус: Модератор

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

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

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

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

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

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

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

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

Ранг: 49.6 (посетитель)
Статус: Участник

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

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

Ранг: 526.1 (!)
Статус: Модератор

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

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

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

Создано: 21 апреля 2013 11:34 · Поправил: robot666 New!
· Личное сообщение · #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 он лежит в каталоге рядом.

{ Атач доступен только для участников форума } - errors.txt
robot666

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

Создано: 21 апреля 2013 11:45 · Поправил: robot666 New!
· Личное сообщение · #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 не нашел иды ((
deniskore

Ранг: 49.6 (посетитель)
Статус: Участник

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

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

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

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

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

{ Атач доступен только для участников форума } - idados.zip
robot666

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

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

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

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

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

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

{ Атач доступен только для участников форума } - out2.txt
robot666

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

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

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


Ранг: 1914.6 (!!!!)
Статус: Модератор
retired

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

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

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

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

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


Ранг: 950.8 (! ! !)
Статус: Участник

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

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

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

Создано: 22 апреля 2013 13:55 · Поправил: robot666 New!
· Личное сообщение · #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


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

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

Создано: 23 апреля 2013 18:07 New!
· Личное сообщение · #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
reversecode


Ранг: 950.8 (! ! !)
Статус: Участник

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

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

Ранг: 18.2 (новичок)
Статус: Участник

Создано: 23 апреля 2013 20:27 · Поправил: gloomdemon New!
· Личное сообщение · #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 звук вроде не поддерживает, хотя могу и ошибаться, посже могу собрать со звуком если кому надо.
robot666

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

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

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

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


Ранг: 950.8 (! ! !)
Статус: Участник

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

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

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

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

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

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

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

Ранг: 18.2 (новичок)
Статус: Участник

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

robot666

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

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


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

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

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

robot666

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

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

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

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

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS