1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

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

  1. jeka101

    jeka101 Гость

    Репутация:
    0
    Добрый вечер уважаемые.
    У меня появилась проблема, я к сожалению очень не опытный и в этом слабо разбираюсь, но я искал, гуглил и т д пока не решился всетаки создать тему...
    Вообщем есть класс
    Код:
    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 файл
    кусок...
    Код:
    .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 Гость

    Репутация:
    0
  3. jeka101

    jeka101 Гость

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

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