Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2016, 22:53   #1
Mineral
Новичок
Джуниор
 
Регистрация: 27.02.2016
Сообщений: 1
По умолчанию Контрольная сумма участка кода

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

Код:
#include <stdio.h>
#include <stdint.h>
 
 
int main()
{
    uint16_t i, hash=0;
    uint8_t *end, *mainP=(uint8_t*)&main;
 
    _asm
    {
            mov eax, endLabel
            mov end, eax
    }
 
    for(i=0;i<(end-mainP);++i)
        hash+=mainP[i];
    printf("sum: %X\n", hash);
 
endLabel:   
    return 0;
}
И оно действительно выдает что то похожее на контрольную сумму, но после перезагрузки компьютера или изменения хотя бы одного бита в EXE (бита, не относящегося к коду) - получается иное значение (как я понял, из за изменения виртуальных адресов).
Как это победить?
Mineral вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобратся с работой участка кода Dimka-novitsek Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 07.04.2014 23:53
Назначение участка ассемблерного кода Schmidt Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 17.07.2013 19:09
Выполнение участка кода без ожидания ввода БалаШагаЛ Общие вопросы C/C++ 5 09.06.2011 12:17
Вызов события из произвольного участка кода в WPF Casper-SC Общие вопросы .NET 1 24.07.2010 10:23