Jump to content
Korean Random
fecell

Создание PYD для embedded python

Recommended Posts

Я только 4.0.7 в исходниках нашел, в идеале нужно 4.5.31.

Edited by Mixaill

Share this post


Link to post

Short link
Share on other sites

Я только 4.0.7 в исходниках нашел

4.0.14 http://rutracker.org/forum/viewtopic.php?t=4502731

хотя...

#define GFX_VERSION_STRING       "4.0.7"
Может есть какой-то смысл скомпилить это в VS 2015?..

 

Самая очевидная функция, которая есть и там и там:

WoT 09.16.11080:
Scaleform::GFx::AS3::ASVM::ASVM 0xCB1240
Ну и еще десяток... Edited by SkepticalFox

Share this post


Link to post

Short link
Share on other sites

Я только 4.0.7 в исходниках нашел, в идеале нужно 4.5.31.

 

похакал, если так можно сказать, официальную страницу загрузок - поправил ява код сняв с кнопки загрузки недоступность клика.

"в итоге получил прямую ссылку:"

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

Share this post


Link to post

Short link
Share on other sites

Кто-нибудь может поделиться хорошими ссылками на адекватное объяснение для не совсем чайника вещей, которые вы тут обсуждаете? Просто сам С я знаю, немного работали с ним в универе, но вот с либами практически не работал, и не совсем понимаю принцип работы некоторых вещей.

В частности интересуют pyd'ы в питоне как таковые, да и вообще по части работы с библиотеками на С.

Share this post


Link to post

Short link
Share on other sites

частности интересуют pyd'ы в питоне как таковые,

А оно тебе надо? :)

Share this post


Link to post

Short link
Share on other sites

@Mixaill, а ScaleformBW::PyGFxValue и ScaleformBW::PyGFxDisplayObject можно как-то в Си получить?

Хотя без функций они бесполезны...

Просто стало интересно, почему нельзя передать PyGFxDisplayObject из питона обратно во флеш.

Является ли это ограничение специальным, или нет?..

from gui.app_loader import g_appLoader
app = g_appLoader.getApp()
shapeObj = app.flashObject.utils.classFactory.getObject('flash.display.Shape')
shapeCls = app.flashObject.utils.classFactory.getClass('flash.display.Shape')
print shapeObj.__class__ # <type 'ScaleformBW::PyGFxDisplayObject'>
print shapeCls.__class__ # <type 'ScaleformBW::PyGFxValue'>
send_to_flash({'obj':shapeObj, 'cls':shapeCls})
public function send_to_flash(object: Object):void
{
    DebugUtils.LOG_OBJECT(object);
    // ('obj', ('undefined',))
    // ('cls', ('[class Sprite]',))
}
Edited by SkepticalFox

Share this post


Link to post

Short link
Share on other sites

@Mixaill, можно как-то по простому сделать вывод этих сообщений, а то они никуда так и не выводятся, хотя и нужны...

post-16296-0-09242300-1505934019_thumb.png

Share this post


Link to post

Short link
Share on other sites

@fecell, @SkepticalFox, после компиляции и запуска что-то происходит с DX'ом. экран чернеет. игра зависает. не связано ли это с изменением смещений функций в нынешнем клиенте?

и еще кое-что. мне надо найти смещение функции BigWorld.Model() и попробовать вызвать ее непосредственно в pyd.

Share this post


Link to post

Short link
Share on other sites
1 час назад, Pavel3333 сказал:

 

@fecell, @SkepticalFox, после компиляции и запуска что-то происходит с DX'ом. экран чернеет. игра зависает. не связано ли это с изменением смещений функций в нынешнем клиенте?

 

Надо юзать XFW, там всегда актуальные смещения

1 час назад, Pavel3333 сказал:

BigWorld.Model() и попробовать вызвать ее непосредственно в pyd.

PyRun_SimpleString("import BigWorld\n"
                   "model = BigWorld.Model(...)\n");

Хотя что-то не вижу здесь PyRun_SimpleString

Ну можно тогда так(просто код с нета, хз работает ли):

PyObject* myModel, pBigWorld, pArgs, pValue, pModel;
pBigWorld = PyImport_ImportModule("BigWorld");
pModel = PyObject_GetAttrString(pBigWorld, "Model");
pArgs = PyTuple_New(1);
pValue = PyString_FromString("path/to.model");
PyTuple_SetItem(pArgs, 0, pValue);
myModel = PyObject_CallObject(pModel, pArgs);
Py_DECREF(pArgs);
Py_DECREF(pValue);
Py_DECREF(pModel);
Py_DECREF(pBigWorld);

 

Edited by SkepticalFox
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
13 часа назад, SkepticalFox сказал:

Хотя что-то не вижу здесь PyRun_SimpleString

 

#define PyRun_SimpleString(s) PyRun_SimpleStringFlags(s, NULL)

 

Share this post


Link to post

Short link
Share on other sites

В 9.21 обновили компилятор, у меня 101 из 627 слетели.

Edited by Mixaill

Share this post


Link to post

Short link
Share on other sites

- У Radare плохо с GUI, cutter(ранее назывался iaito) ещё не готов.

- Раньше не было поддержки декомпиляции. Но тут к счастью пришел Avast, который буквально на днях выложил исходный код своего RetDec, так что тут скоро всё будет ок.

- Нет разбора RTTI

 

В целом, Radare насколько мощный, настолько же и неудобный :)

 

Edited by Mixaill
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Неполноценный, но уже хоть что-то подсвечивает. Результаты разбора в Hex-Rays не используются.

  • Upvote 2

Share this post


Link to post

Short link
Share on other sites
5 hours ago, Mixaill said:

Неполноценный, но уже хоть что-то подсвечивает.

Я сегодня уже оценил.

Для разбора space.bin много полезного подсвечивать стал.

Share this post


Link to post

Short link
Share on other sites
2 минуты назад, SkepticalFox сказал:

Я сегодня уже оценил.

Для разбора space.bin много полезного подсвечивать стал.

 

А шо он там подсвечивает? Ищет закономерности что ли?

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.

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