Подскажите пожалуйста как после определения структуры т.е. Alt+Q получить содержимое поля в скрипте. auto addr, addr1; addr=ScreenEA(); *** MakeStruct(addr,"TComponent_obj"); addr1=MakeOffset(addr+0x08); ??? MakeStr(addr1, BADADDR); ??? MakeName(addr,GetZStr(addr1));
Честно говоря, я не очень понял, чего ты хотел сделать в своем скрипте (зачем, например, тебе нужны 'MakeStr' и 'MakeName'? А 'MakeOffset' что за зверь??? 8o|). Если ты уже определил нужную тебе структуру в самой IDA (Alt-Q), то в скрипте ты сможешь получить смещение на любой ее элемент по его имени (и имени соответствующей структуры). Код (Text): auto addr, StructId, MembOff, value; StructId = GetStrucIdByName("_имя_структуры_"); MembOff = GetMemberOffset(StructId,"_имя_члена_структуры_"); addr = ScreenEA(); // тип члена структуры можно определить // функцией 'GetMemberFlag(StructId, MembOff)' // и использовать дОлжную команду, например value = Dword(addr + MembOff);
Большое спасибо!! Sergey_R MakeStr' и 'MakeName'? А 'MakeOffset' позаимтвованные разработки. Метод так называемого научного тыка