DLL CheckSum after LoadLibrary.

Discussion in 'WASM.WIN32' started by WIN32, Nov 2, 2009.

  1. WIN32

    WIN32 Member

    Blog Posts:
    0
    Joined:
    Jan 20, 2007
    Messages:
    338
    Как посчитать чексумму уже промапленной библиотеки ?
     
  2. deLight

    deLight New Member

    Blog Posts:
    0
    Joined:
    May 26, 2008
    Messages:
    879
    CheckSumMappedFile
     
  3. WIN32

    WIN32 Member

    Blog Posts:
    0
    Joined:
    Jan 20, 2007
    Messages:
    338
    точно. спасибо
     
  4. o14189

    o14189 New Member

    Blog Posts:
    0
    Joined:
    Jul 19, 2009
    Messages:
    320
    без лишних проверок так

    Code (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

    Blog Posts:
    0
    Joined:
    Jul 19, 2009
    Messages:
    320
    кстати после LoadLibrary посчитать уже не выйдет
     
  6. RET

    RET Well-Known Member

    Blog Posts:
    17
    Joined:
    Jan 5, 2008
    Messages:
    789
    Location:
    Jabber: darksys@sj.ms
    можно аккуратно сдампить и посчитать CheckSum
     
  7. RET

    RET Well-Known Member

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

    o14189 New Member

    Blog Posts:
    0
    Joined:
    Jul 19, 2009
    Messages:
    320
    RET
    у той суммы, что в заголовке другое назначение, она покрывает неформатированный поток
    смысла в ее пересчете для образа нет, т к в общем случае применены будут релоки, изменены глобальные данные и так далее
     
  9. RET

    RET Well-Known Member

    Blog Posts:
    17
    Joined:
    Jan 5, 2008
    Messages:
    789
    Location:
    Jabber: darksys@sj.ms
    я говорил про дамп... а вообще нафига это автору темы надо???