Показать сообщение отдельно

  #4  
Старый 07.07.2008, 21:55
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
Провел на форуме:
4226446

Репутация: 1564
Отправить сообщение для 0x0c0de с помощью ICQ
По умолчанию

22. Получение информации о модуле

Код:
Findmod(addr)
Адрес, принадлежащий модулю в качестве параметра. Функция возвращает структуру t_module . Опять привожу ее здесь, но не полностью (все тот же Plugin SDK OllyDbg). Только часто используемые поля

Код:
typedef struct t_module {          // Executable module descriptor
  ulong          base;             // Base address of module
  ulong          size;             // Size occupied by module
  ulong          type;             // Service information, TY_xxx
  ulong          codebase;         // Base address of module code block
  ulong          codesize;         // Size of module code block

  ulong          resbase;          // Base address of resources
  ulong          ressize;          // Size of resources
  t_stringtable  *stringtable;     // Pointers to string resources or NULL
  int            nstringtable;     // Actual number of used stringtable
  int            maxstringtable;   // Actual number of allocated stringtable
  ulong          entry;            // Address of <ModuleEntryPoint> or NULL
  ulong          database;         // Base address of module data block

  ulong          idatatable;       // Base address of import data table
  ulong          idatabase;        // Base address of import data block
  ulong          edatatable;       // Base address of export data table
  ulong          edatasize;        // Size of export data table
  ulong          reloctable;       // Base address of relocation table
  ulong          relocsize;        // Size of relocation table
  char           name[SHORTLEN];   // Short name of the module

  char           path[MAXPATH];    // Full name of the module
  int            nsect;            // Number of sections in the module
  IMAGE_SECTION_HEADER *sect;      // Copy of section headers from file
  ulong          headersize;       // Total size of headers in executable
  ulong          fixupbase;        // Base of image in executable file
  int            nfixup;           // Number of fixups in executable
  t_fixup        *fixup;           // Extracted fixups or NULL
…..
  
} t_module;

OllyDbg Plugin API v1.10

Пример использования в файле modul.py

23.Получение ид текущей нити

Код:
Getcputhrdid()
24. Получение информации о треде

Код:
Findthrd(id)
Возвращает структуру t_thread, которую я уже не привожу здесь. Смотрим пример в файле
thrd.py

25. Получение имени треда

Код:
Decodethrdname(buf, tid,mode)
Буфер для хранения имени, ид треда, режим. Пример в thrd.py

26. Обнаружение VmWare
Обнаружение VmWare.

Код:
IsVmWare()
Возвращает 0, если мы не под варей и 1 в противном случае

Пример в файле vmWarecheck.py.

27. Ввод строки пользователем

Функция

Код:
 
 Gettxt(title,text,letter,type,ind)
Пример в файле get_text.py

28. Поиск команды “вперед” от текущей инструкции

Код:
Disasmin(addr,str)
Где первый параметр адрес, с которого надо начинать поиск. Второй – текстовое представление инструкции. Например вам нужна инструкция push ebp. Тогда вы пишите в качестве аргумента "PUSH EBP". Заглавными. Возвращаемое значение - адрес инструкции, если она найдена и 0, если не найдена.
Пример можно посмотреть в файле disasm_test.py

29. Поиск команды “назад” от текущей инструкции


Код:
Disasmback(addr,str)
Где первый параметр адрес, с которого надо начинать поиск. Второй – текстовое представление инструкции. Возвращаемое значение - адрес инструкции, если она найдена и 0, если не найдена.
Пример можно посмотреть в файле disasm_test.py

30. Поиск команда по опкоду "вперед"

Код:
 
Disasminbyopcode(addr,str)
То, же, что и 28, только поиск по опкоду. Например вы хотите найти инструкцию с опкодом 33 C0. Тогда в качестве второго аргумента вы пишите "33C0". без пробелов заглавными. Первым аргументом - адрес, с которого следует начинать поиск. Пример там же, где и 28,29

31. Поиск команда по опкоду "назад"

Код:
 
Disasmbackbyopcode(addr,str)
То, же, что и 29, только по опкоду. Описание такое же, как и в 30 и пример там же.

Последний раз редактировалось 0x0c0de; 09.07.2008 в 22:21..
 
Ответить с цитированием