среда, 30 ноября 2011 г.

wincheck rc8

download mirror
Changelog:
  • пофиксал неверное определение IAT hooks в kernel mode, о чем нам тактично сообщил Dmitry Varshavsky
  • добавлена опция -uem для поиска в процессах всяких странных регионов памяти, имеющих флаг executable. В них попадают все области памяти, не принадлежащие загруженным модулям, PEB.GdiSharedHandleTable & SHAREDINFO.aheList. Для каждого региона выдается примерно такое:
    00530000   Mapped      80000     2  ER--
      00530000 Mapped       6000        ER-- ---
      00536000 Reserve     7A000        ER-- ---

    Тут все понятно по моему - адрес, размер, атрибуты, детализация
  • несколько изменен формат вывода для driver hooks

w8 KPRCB 64bit

subj

w8 KPRCB

subj

размер KiTimerTableListHead

а вот например вижу я под vista sp2 примерно такой замечательный кусок кода в ф-ции KeSetTimerEx:

  movzx   edi, byte ptr [esi+2] ; KTIMER.Header.Hand
  mov     eax, large fs:20h ; KPCR.Prcb
  mov     ecx, edi
  and     ecx, 1Fh ;
KTIMER.Header.Hand & 0x1F
  lea     ebx, [eax+ecx*8+4A0h] ; somewhere inside KPRCB.LockQueue
  mov     ecx, ebx
  call    KeAcquireQueuedSpinLockAtDpcLevel
  mov     byte ptr [esi+3], 0
  mov     eax, [esi+18h]
  mov     ecx, [esi+1Ch]
  cmp     eax, ecx
  mov     [ecx], eax
  mov     [eax+4], ecx
  jnz     short loc_4ABC30
  shl     edi, 4 ;
KTIMER.Header.Hand * sizeof(KTIMER_TABLE_ENTRY)
  add     edi, offset _KiTimerTableListHead ;
KiTimerTableListHead[KTIMER.Header.Hand]
  cmp     edi, [edi]

Во всех источниках сказано что размер таблицы KiTimerTableListHead под vista равен 512 элементов. Собственно проверить это легко - адрес KiTimerTableListHead 0x4FCB80, адрес следующей за ней структуры AlpcpNPLookasides 0x4FEB80. Размер 0x2000 / 0x10 = 512 элементов. Еще одна проверка - ф-ция KiComputeTimerTableIndex возвращает результат как маску с 0x1FF
В приведенном же коде мы видим что в регистре edi хранится байт, взятый из KTIMER.Header.Hand и используется как индекс в KiTimerTableListHead для проверки всякого. В байте однако число 512 никак не может уместиться. Соотв-но wtf ?

воскресенье, 27 ноября 2011 г.

vs2010 vs w2k

а вот например одна и та же прога собирается на vs2008 & vs2010 (так бывает, бгг)
Собранная на vs2008 вполне себе работает под w2k (пионэры поди и не знаю уже что это такое, бгг)
Собранная же на vs2010 не работает - при запуске гордо сообщает "этот файл не является приложением win32"
Это все отчего например ? Никакими опциями линковщика сие нельзя поправить ?

суббота, 26 ноября 2011 г.

восторженные поклонники

набижали давеча внезапно. Как всем давно известно © антивирусная индустрия™ отличается сильной аргументацией, критическим взглядом на свои продукты и высокой оценкой продуктов конкурентов, а также ведением конструктивных бесед.
Хвалебные отзывы содержат в себе следующие выражения:
  • унылое поделие
  • божественный огрызок
  • лошить несчастных пользователей
  • ваши mini balls
  • пришлите мне дамп !
До лучших образцов Истинной Питерской Интеллигенции далеко канешна, но тоже ничего. Нужно поработать немного над стилем и никогда, вы слышите - никогда не следует качать и тем более запускать какие-либо осуждаемые продукты - очевидно же что они говно !

К несчастью лишен возможности аргументированно ответить в симметричном стиле - их собственный Продукт у меня не запустился под 32 битами, а под 64 бита и вовсе в природе не существует, о чем кстати даже Написано В Хэлпе ©, бгг

Пора делать фан-клуб имени меня ящетаю