Jump to content
Korean Random
Pavel3333

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

Recommended Posts

Жаль плюсомёт еще вчера закончился :)

 

Чую, я нашел для Вас новую работёнку... 

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites

@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

Share this post


Link to post

Short link
Share on other sites
3 hours ago, Pavel3333 said:

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

2.7.7 же

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

Share this post


Link to post

Short link
Share on other sites

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

Edited by Pavel3333

Share this post


Link to post

Short link
Share on other sites
Just now, Pavel3333 said:

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

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

  • Upvote 1

Share this post


Link to post

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

Share this post


Link to post

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...