Что может быть причиной ошибки «порядковый N не найден в DLL», если она действительно экспортирована?

0

Я был настолько глуп, чтобы получить игру GFWL -encumbered (и GFWL не работает). Я нашел какой-то проект под названием XLiveLess, целью которого является повторное внедрение XLive.dll в качестве заглушки, которая выполняет только минимальную работу, необходимую для запуска игры.

Когда я разместил предварительно встроенную DLL, у меня есть "Ошибка ординала 29 в динамической библиотеке ссылок". Поэтому я запустил отладчик, чтобы найти вызов этого экспорта, вывел подпись, добавил соответствующий код в файлы.cpp и.def и построил библиотеку. Теперь, после обновления DLL, я все равно получаю ту же ошибку, но dumpbin/exports xlive.dll ясно показывает мне, что # 29 экспортируется - там строка 29 000024A0 [NONAME] на выходе.

Я также уверен, что моя собственная библиотека - это точная игра xlive.dll, доступная - если я удалю двоичный код, он начинает жаловаться на отсутствие DLL. Если это имеет значение, в настоящее время я запускаю это под Windows 8.0 x86_64.

Теперь я потерян и смущен, и я не имею опыта программирования Windows (делал около 15 лет назад, но забыл почти все с тех пор). Что может быть возможно, вызывает загрузчик, который все еще не находит экспортированную функцию, даже если это прямо там? Я что-то упускаю?

(Что касается законности моих действий, если это имеет значение, под юрисдикцией, в которой я живу, я вправе разрешить перепроектировать программное обеспечение для обеспечения совместимости и совместимости).

  • 2
    Запустите его под Dependency Walker . Возможно, что сам Xlive.dll пытается импортировать # 29 из некоторой другой DLL.
Теги:
dll
reverse-engineering

1 ответ

0
Лучший ответ

Решил.

По какой-то причине, полностью неизвестной мне, порядковый номер в окне сообщений об ошибках отключен одним для меня. Поэтому, когда сообщение об ошибке говорит "порядковый номер 29", это означает @30. Который, действительно, отсутствовал, поскольку я намеревался добавить экспорт один за другим и только добавил @29 (и этого тоже не хватало, но перед ним было проверено @30) и задалось вопросом, почему сообщение об ошибке не изменилось.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню