+ Reply to Thread
Results 1 to 6 of 6

Thread: Почему глючат скрипты в IDA 6.8?

  1. #1

    Default Почему глючат скрипты в IDA 6.8?

    import idaapi

    ea = 0x00402ebc
    x=0
    while x<10:
    idaapi.step_into()
    rv = idaapi.regval_t()
    idaapi.get_reg_val('EIP',rv)
    ea = rv.ival
    print hex(ea)
    x+=1

    Привет, сделал простецкий скрипт , сохранил его в папку python под названием traceCalls.py

    Потом вызываю его из командной строки в IDA
    0xffffffffffffffffL
    0xffffffffffffffffL
    0xffffffffffffffffL
    0xffffffffffffffffL
    0xffffffffffffffffL
    0xffffffffffffffffL
    0xffffffffffffffffL
    0xffffffffffffffffL
    0xffffffffffffffffL
    0xffffffffffffffffL
    Выдает вот такую шляпу.
    на момент выдачи результата реальный есть
    EIP = 00405041
    если те же самые команды производить в самом окне, все будет ничтяк. Что за шняга?

  2. #2
    JKornev's Avatar

    Default Re: Почему глючат скрипты в IDA 6.8?

    Так оно трассирует вообще? Успешен ли вызов idaapi.get_reg_val('EIP',rv) ?
    High tech, low life

  3. #3
    Dolphin's Avatar

    Default Re: Почему глючат скрипты в IDA 6.8?

    Действительно не работает, я проверял на следующем коде:

    PHP Code:
    0
    while 10:
        
    eip idc.GetRegValue("EIP")
        print(
    "0x%x %s" % (eipGetDisasm(eip)))
        
    idaapi.step_over()
        
    += 
    Первый вызов отрабатывает, делает шаг в программе и следующй вызов падает в исключение...

  4. #4

    Default Re: Почему глючат скрипты в IDA 6.8?

    Quote Originally Posted by JKornev View Post
    Так оно трассирует вообще? Успешен ли вызов idaapi.get_reg_val('EIP',rv) ?
    Нет не успешен , print <сабж> дает False

  5. #5
    Darwin's Avatar

    Default Re: Почему глючат скрипты в IDA 6.8?

    Quote Originally Posted by antiusninja View Post
    если те же самые команды производить в самом окне, все будет ничтяк. Что за шняга?
    Потому что команда step_into отложенного действия, т.е. не выполняется сразу. Нужно вставлять GetDebuggerEvent(WFNE_SUSP, -1) для ожидания её выполнения. И уже только потом считывать результат.
    Счастлив кто отдал, а не взял. (с) Inception

  6. 5 пользователя(ей) сказали cпасибо:
    Dark Koder (30-12-2015) Dolphin (21-12-2015) antiusninja (21-12-2015) dukeBarman (21-12-2015) mikserok (22-01-2016)
  7. #6

    Default Re: Почему глючат скрипты в IDA 6.8?

    Quote Originally Posted by Darwin View Post
    Потому что команда step_into отложенного действия, т.е. не выполняется сразу. Нужно вставлять GetDebuggerEvent(WFNE_SUSP, -1) для ожидания её выполнения. И уже только потом считывать результат.
    Спасибо, я подозревал что то подобное, но не смог выразить это словами.
    Заработало. Красота

+ Reply to Thread

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:24
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org