Проблема, не могу понять принцип....

Тема в разделе "C и С++ FAQ", создана пользователем jeka101, 4 окт 2009.

  1. jeka101

    jeka101 Гость

    Добрый вечер уважаемые.
    У меня появилась проблема, я к сожалению очень не опытный и в этом слабо разбираюсь, но я искал, гуглил и т д пока не решился всетаки создать тему...
    Вообщем есть класс
    Код (Text):
    SharedData
    {
    public:
    /* Variables */
    /* 0000 */ s32 _dw0000;
    /* 0004 */ s32 _dw0004;
    /* 0008 */ d64 x;
    /* 0010 */ d64 y;
    /* 0018 */ d64 z;

    /* 0020 */ s32 nHeading;
    /* 0024 */ s32 nObjectID;
    /* 0028 */ s32 _dw0028;     //0x06
    /* 002C */ s32 nCIndex;  //0x5279
    и т д.....
    Конец класса:
    /* 0BDC */ bool bCer;
    /* 0BDD */ INT8 restbCer[3];
    /* 0BE0 */ __int64 nExp64;
    /* 0BE8 */ bool nIsPackSell;
    /* */ s32 nObjIdLHair;
    /* */ s32 nObjIdRHair;
    /* */ s32 nObjIdBracelet;
    /* */ s32 nObjIdTalisman;
    /* */ s32 nObjIdTalismanor;
    /* */ s32 nObjIdDeco2;
    };
    есть другой класс который использует эти обьекты...
    Есть asm файл
    кусок...
    Код (Text):
    .const
    PAPERDOL_INDEX_TABLE_END    =   0BECh;s32 nObjIdDeco1
    PAPERDOL_INDEX_TABLE_START  =   0BDCh;s32 nObjIdLHair
    TOTAL_PAPERDOLL_ITEM_COUNT  =   20h
    .code
    EquExtendedSlotHook proc
    mov rbp, 400000h
    mov r8, r12             ;slot id
    mov rdx, rsi            ;item
    mov rcx, rbx            ;user
    call EquExtendedSlot
    mov rax, 519DE7h
    jmp rax
    EquExtendedSlotHook endp
    ValidateAttacheHook proc
    ;0051759F mov    r8d, 2545h ; __int64
    cmp rsi, 170h                   ;offset in SD after last paperdoll item index
    je startExChecks
    cmp rsi, PAPERDOL_INDEX_TABLE_END;end of extended paperdoll index table
    jae @F
    mov rdx, 5174C0h
    jmp rdx
    @@:
    mov r8d, 2545h
    mov rdx, 5175A5h
    jmp rdx
    startExChecks:;default slots checked. started checking extended slots
    mov rsi, PAPERDOL_INDEX_TABLE_START;start of extended paperdoll index table
    mov rdx, 5174C0h
    jmp rdx
    ValidateAttacheHook endp
    Как видите в asm коде 0BECh это s32 nObjIdDeco1; а у меня добавилось 4 новых итема это bool vCer;/bool nIsPackSell;
    и s32 nObjIdLHair; сместились, и PAPERDOL_INDEX_TABLE_START стала работать не корректно...(тоесть перестала работать)
    У меня проблема как тут присваеваеться значение? К Примеру 0BEC?
    Повторяю я новичек и слабо в этом разбираюсь =) буду рад любой помощи...
     
  2. jeka101

    jeka101 Гость

  3. jeka101

    jeka101 Гость

    Все проблема решена вопрос снят, IDA рулит =)
     
Загрузка...

Поделиться этой страницей