Jump to content
Korean Random

Ошибка при импортировании пида


Recommended Posts

@Mixaill СКОМПИЛИЛОСЬ!!! :great:

Спасибо!!!
@Mixaill

При отчаянной попытке выполнить 

i += 2

или же

i = 0
i.__add__(2)

ловлю подобное исключение:

test_.obj : error LNK2019: <...> __imp__PyNumber_Add <...> ___Pyx_PyInt_AddObjC [C:\WoTPython\test_.vcxproj]
test_.obj : error LNK2019: <...> __imp__PyNumber_InPlaceAdd <...> ___Pyx_PyInt_AddObjC [C:\WoTPython\test_.vcxproj]
C:\WoTPython\Release\test_.pyd : fatal error LNK1120: <...>: 2 [C:\WoTPython\test_.vcxproj]

__imp__PyNumber_Add не нашелся worry.gif 


И вопрос.

Можете вкратце написать, как найти смещение сигнатуры в танковом питоне?

Вот еще, получил при компиляции скрипта, который сильно нагружен в игре:

2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyUnicodeUCS2_Compare в функции ___Pyx_ParseOptionalKeywords
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Add в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_58__syncWithServerTurretYaw
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Subtract в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_18setShotPosition
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Multiply в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_42__calcAngleBetweenShotPointAndMarker
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Divide в функции ___Pyx_PyFloat_DivideObjC
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Remainder в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_58__syncWithServerTurretYaw
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Negative в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_22getShotParams
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Absolute в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_42__calcAngleBetweenShotPointAndMarker
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceAdd в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_20predictLockedTargetShotPoint
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceSubtract в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_6stop
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceMultiply в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_68getNextGunPitch
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceDivide в функции ___Pyx_PyFloat_DivideObjC
2>VehicleGunRotator.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceOr в функции ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_82__getGunPitchLimits

 

По сути в XFW нет большой части по работе с числами и нет 1 функции по работе со строкой.

 

Далее уже идут менее нагруженные скрипты. Повторяющиеся символы удалены.

1>Account.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PySet_New в функции ___pyx_pf_7Account_13PlayerAccount_293__synchronizeEventNotifications
1>Account.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Index в функции ___Pyx_PyObject_GetIndex
1>Account.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Int в функции ___pyx_pf_7Account_13PlayerAccount_112requestPrebattles

 

1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Lshift в функции ___pyx_pw_7sources_8__init___13BitmaskHelper_13isBitSet
1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Rshift в функции ___Pyx_PyInt_RshiftObjC
1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_And в функции ___pyx_pw_7sources_8__init___13BitmaskHelper_9hasAllBitsSet
1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_Xor в функции ___pyx_gb_7sources_8__init___13BitmaskHelper_23generator2
1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceRshift в функции ___Pyx_PyInt_RshiftObjC
1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceAnd в функции ___Pyx_PyInt_AndObjC
1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceXor в функции ___pyx_pf_7sources_8__init___13BitmaskHelper_4remove
1>__init__.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__PyNumber_InPlaceOr в функции ___pyx_pw_7sources_8__init___13BitmaskHelper_1add

 

 

Ну и чисто мой скрипт конфига.

Config.obj : error LNK2019: <...> __imp__PyUnicodeUCS2_Compare <...> ___Pyx_ParseOptionalKeywords [C:\WoTPython\Config.vcxproj]

 

5 часов назад, Pavel3333 сказал:

И вопрос.

Можете вкратце написать, как найти смещение сигнатуры в танковом питоне?

Еще более конкретно - с какой версии питона Вы черпаете сигнатуры функций и как настроить IDA под тулзу на репозитории?

Edited by Pavel3333
Link to comment
Short link
Share on other sites

3 hours ago, Pavel3333 said:

Еще более конкретно - с какой версии питона Вы черпаете сигнатуры функций и как настроить IDA под тулзу на репозитории?

2.7.7 же

а в IDA смотришь где встречается та или иная функция и ищешь ее в теле уже найденных внутри exe или же по отличительным особенностям(в основном строковые константы)

Link to comment
Short link
Share on other sites

Just now, Pavel3333 said:

 а смещения откуда берутся? с начала exe'шника или с точки входа танковой python27.lib?

просто берешь название функции в IDA что то вроде sub_1234567 вот 1234567 - это смещение

  • Upvote 1
Link to comment
Short link
Share on other sites

@Mixaill спасибо, файл конфига скомпилился, уже отлично. Компилятор голосит лишь про две функции:

VehicleGunRotator.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp__PyNumber_Subtract т ЇєэъЎшш ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_18setShotPosition [C:\WoTPython\VehicleGunRotator.vcxproj]
VehicleGunRotator.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp__PyNumber_InPlaceSubtract т ЇєэъЎшш ___pyx_pf_17VehicleGunRotator_17VehicleGunRotator_6stop [C:\WoTPython\VehicleGunRotator.vcxproj]


 

Account.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp__PyNumber_Subtract т ЇєэъЎшш ___pyx_pf_7Account_13PlayerAccount_293__synchronizeEventNotifications [C:\WoTPython\Account.vcxproj]
Account.obj : error LNK2019: ёё√ыър эр эхЁрчЁх°хээ√щ тэх°эшщ ёшьтюы __imp__PyNumber_InPlaceSubtract т ЇєэъЎшш ___pyx_pf_7Account_13PlayerAccount___init__ [C:\WoTPython\Account.vcxproj]

Сейчас буду копаться в Иде, самому интересно получать сигны.

Edited by Pavel3333
Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...