DLL CheckSum after LoadLibrary.

Тема в разделе "WASM.WIN32", создана пользователем WIN32, 2 ноя 2009.

  1. WIN32

    WIN32 Member

    Публикаций:
    0
    Регистрация:
    20 янв 2007
    Сообщения:
    338
    Как посчитать чексумму уже промапленной библиотеки ?
     
  2. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    CheckSumMappedFile
     
  3. WIN32

    WIN32 Member

    Публикаций:
    0
    Регистрация:
    20 янв 2007
    Сообщения:
    338
    точно. спасибо
     
  4. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    без лишних проверок так

    Код (Text):
    1. UINT32
    2. PeFaChkSum(
    3.     IN  PVOID       pRawFileView,
    4.     IN  ULONG       FileSize
    5.     )
    6. {
    7.     ULONG   i           = 0;
    8.     UINT32  Checksum    = 0;
    9.  
    10.     for(i = 0; i < (FileSize+1)>>1; i++)
    11.     {
    12.         Checksum += ((UINT16 *)pRawFileView)[i];
    13.         Checksum = (Checksum>>16)+(Checksum&0xFFFF);
    14.     }
    15.     Checksum = (Checksum>>16)+(Checksum&0xFFFF);
    16.     Checksum += FileSize;
    17.  
    18.     return Checksum;
    19. }
     
  5. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    кстати после LoadLibrary посчитать уже не выйдет
     
  6. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    можно аккуратно сдампить и посчитать CheckSum
     
  7. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    http://wasm.ru/forum/viewtopic.php?id=34083
    - в энтом инструменте есть "умный" дампер "Dump On Page" в том числе с автоподсчетом CheckSum (её можно будет посмотреть в PE-заголовке)
     
  8. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    RET
    у той суммы, что в заголовке другое назначение, она покрывает неформатированный поток
    смысла в ее пересчете для образа нет, т к в общем случае применены будут релоки, изменены глобальные данные и так далее
     
  9. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    я говорил про дамп... а вообще нафига это автору темы надо???