
Исследование демо-версии HiEW

Скриншот программы HiEW
Если вам приходится заниматься вмешательством в двоичный файл, то есть изменением одного-двух байтов (как правило, 7Fh на EBh) и тому подобным, вы наверняка знаете про HiEW (Hacker's view). В одной из демо-версий HiEW есть такая фраза: "Истинные хакеры конечно же получат недостающие байты анализом и перебором". Конечно, это юмор, г-н Сусликов (аффтар HiEW) вряд ли позволил бы просто так получить работающую полную версию. Ретейловые файлы можно получить только после покупки (неважно, каким образом). Но и с демо-версией HiEW тоже можно работать, естественно, после некоторых дополнений.
Забираем с офсайта дистрибутив последней демо-версии, устанавливаем, смотрим. Главный исполняемый файл ничем не упакован, отправляем его в дизассемблер. Даже странно, неужели демо-версия не упакована?

Триальное окно
Ищем строку "Limitations of DEMO version" и находим trial-окно. Оно выводится отдельной функцией. Отлично: переходим к первой инструкции этой функции, заменяем ее на RET (возврат) по адресу 004190E0 и сохраняем изменения. Trial-окно исчезает, теперь программа сразу открывает главное окно.

Ограничение на открытие файлов
Одно из основных ограничений демо-версии HiEW - она не открывает файлы размером более 256 КБ. Сообщение об этом выглядит как "Demo doesn't support files greater than...". Находим эту строку в коде, по ней вызывается только вывод окна с уведомлением об ограничении.
Code (Assembler) : Убрать нумерацию
- .text:00406530 sub_406530 proc near
- .text:00406530 mov eax, nNumberOfBytesToRead
- .text:00406535 shr eax, 0Ah
- .text:00406538 push eax ; Args
- .text:00406539 push offset aDemoDoesnTSupp
- ; "Demo doesn't support files greater than"...
- .text:0040653E call sub_4061A0
- .text:00406543 add esp, 8
- .text:00406546 retn
- .text:00406546 sub_406530 endp
Code (Assembler) : Убрать нумерацию
- .text:00417670 sub_417670 proc near
- .text:00417670 mov edx, [esp+arg_4]
- .text:00417674 mov ecx, nNumberOfBytesToRead
- .text:0041767A xor eax, eax
- .text:0041767C cmp edx, eax
- ; Проверить размер файла
- .text:0041767E jb short loc_417692
- .text:00417680 ja short loc_41768A
- .text:00417682 mov eax, [esp+arg_0]
- .text:00417686 cmp eax, ecx
- .text:00417688 jbe short loc_417692
- .text:0041768A loc_41768A:
- .text:0041768A call sub_406530
- .text:0041768F xor eax, eax
- .text:00417691 retn
- .text:00417692 ; ------------------------------------------
- ; Все работает без ограничений
- .text:00417692 loc_417692:
- .text:00417692 mov eax, 1
- .text:00417697 retn
- .text:00417697 sub_417670 endp

Ограничение подключения устройств
Далее следует ограничение на прямой доступ к устройствам через префикс \\.\ (пространство имен устройств Windows). Например, программа блокирует попытки открыть диск в формате \\.\C: или \\.\PhysicalDrive0.
Code (Assembler) : Убрать нумерацию
- .text:00406520 sub_406520 proc near
- .text:00406520 push offset aHiewDemoDoesnT
- ; "Hiew Demo doesn't support devices"
- .text:00406525 call sub_4061A0
- .text:0040652A pop ecx
- .text:0040652B retn
- .text:0040652B sub_406520 endp
Code (Assembler) : Убрать нумерацию
- .text:00423BD0 sub_423BD0 proc near
- .text:00423BD0 mov ecx, [esp+arg_0]
- .text:00423BD4 xor eax, eax
- : Проверка строки "\\.\"
- .text:00423BD6 cmp dword ptr [ecx], 5C2E5C5Ch
- .text:00423BDC setz al
- .text:00423BDF retn
- .text:00423BDF sub_423BD0 endp
Code (Assembler) : Убрать нумерацию
- .text:004175A5 cmp ecx, 0FFFFFFFFh
- .text:004175A8 mov dword_685F44, edx
- ; Проверка и условный переход
- .text:004175AE jnz short loc_4175CF
- .text:004175B0 mov edx, off_43A510
- .text:004175B6 push edx ; Format
- .text:004175B7 call sub_4061A0
- .text:004175BC add esp, 4
- .text:004175BF call sub_4047D0
- .text:004175C4 ; --------------------------------------
- .text:004175C4 mov edx, dword_685F44
- .text:004175CA mov eax, dword_685F40
- .text:004175CF loc_4175CF:
- .text:004175CF push edx
- .text:004175D0 push eax
- .text:004175D1 call sub_417670
- ...

Ограничение по формату файлов
Следующее ограничение: "Hiew Demo doesn't support NE/LX/LE/NLM/ELF/PE64 files" - демо-версия не поддерживает различные форматы исполняемых файлов: NE, LX, LE, NLM, ELF и PE64. Соответственно, отсутствует также поддержка дизассемблирования 64-битных PE-файлов.
Code (Assembler) : Убрать нумерацию
- .text:00406510 sub_406510 proc near
- .text:00406510 push offset aHiewDemoDoes_0
- ; "Hiew Demo doesn't support NE/LX/LE/NLM/"...
- .text:00406515 call sub_4061A0
- .text:0040651A pop ecx
- .text:0040651B retn
- .text:0040651B sub_406510 endp

Ограничение на название файлов
Также в демо-версии HiEW существует проблема с открытием файлов, содержащих Юникод в названии - HiEW выдает ошибку. Вообще, работа с именами файлов реализована криво даже в полной версии, и лишь в последнем обновлении появилось подобие поддержки Юникода. Решение - использовать HiEW Loader. Он позволяет открыть любой файл и корректно отображает его имя в заголовке консольного окна.

Скриншот программы HiEW
После всех выполненных изменений демо-версия HiEW превращается в простенький, но рабочий инструмент. Да, не шедевр, конечно, но для просмотра и анализа файлов уже вполне пригодна. При внезапной невозможности (ха-ха) получить полную версию HiEW можно воспользоваться запатченной демо-версией. Цель достигнута.

Скриншот программы QView
В качестве подарка - пасхалка от QView (Shift+F1). Очень жаль, что QView больше не развивается, по функционалу из него гарантированно получился бы "убийца" HiEW. Но... "впрочем, это уже совсем другая история".
Просмотров: 673 | Комментариев: 6
Метки: исследование защиты, реверсинг
Комментарии
Отзывы посетителей сайта о статье
0101
(03.03.2026 в 12:17):
Konst, версия 8.80 лежит бесплатно, вылеченная и без протектора, как и более ранние версии. Что там в новых версиях такого важного и нужного, чтобы демку юзать? Всегда можно купить последнюю версию за 1300 и (опционально) выложить для всех. По нынешним ценам пару часов потраченного времени на реверс демки стоят дороже, чем полная версия)
Konst
(28.02.2026 в 10:05):
> Если вам приходится заниматься вмешательством в двоичный файл, то есть изменением одного-двух байтов...
Что-то я не увидел информацию про снятие основного ограничения, указанного в списке "Limitations of DEMO..." - ограничения "no edit"
Похоже этот функционал относится к
> тут ничего не поделать. Как и с другими функциями, после которых появляется строка "Available in registered version only".
Если так, то hiew превращается просто в viewer кода :(
В этой версии, как я понял, невозможно изменить даже байта...
Что-то я не увидел информацию про снятие основного ограничения, указанного в списке "Limitations of DEMO..." - ограничения "no edit"
Похоже этот функционал относится к
> тут ничего не поделать. Как и с другими функциями, после которых появляется строка "Available in registered version only".
Если так, то hiew превращается просто в viewer кода :(
В этой версии, как я понял, невозможно изменить даже байта...
user
(22.02.2026 в 20:37):
;;Итого:
Hiew32demo rev.P (11/04/2025)
Open files larger 256kb size
hiew32demo.exe
.0041767E: 72 EB ;00016A7E:
Can open devices \\.\ - fix1 (but can't retrieve size)
hiew32demo.exe
.00423BDC: 0F 30 ;00022FDC:
.00423BDD: 94 C0 ;00022FDD:
.00423BDE: C0 90 ;00022FDE:
Can open devices \\.\ - fix2 (Ok)
hiew32demo.exe
.004175AE: 75 EB ;000169AE:
Skip starting DEMO nag
hiew32demo.exe
.00419103: 85 31 ;00018503:
Hiew32demo rev.P (11/04/2025)
Open files larger 256kb size
hiew32demo.exe
.0041767E: 72 EB ;00016A7E:
Can open devices \\.\ - fix1 (but can't retrieve size)
hiew32demo.exe
.00423BDC: 0F 30 ;00022FDC:
.00423BDD: 94 C0 ;00022FDD:
.00423BDE: C0 90 ;00022FDE:
Can open devices \\.\ - fix2 (Ok)
hiew32demo.exe
.004175AE: 75 EB ;000169AE:
Skip starting DEMO nag
hiew32demo.exe
.00419103: 85 31 ;00018503:
Dagal
(11.02.2026 в 20:54):
Note to illegal users: you are using various 'cracked' HIEW versions at your own risk.))))))
ManHunter
(11.02.2026 в 10:40):
Да разговор не совсем про QView, его и так без проблем можно найти. Вот, например: https://www.enlight.ru/qview/download.htm
DeWalt
(11.02.2026 в 09:04):
Очень вкусная статья! Спасибо за то что делитесь с нами такими вещами , это дорогого стоит !
PS пасхалка не открывается ...bad gateway
PS пасхалка не открывается ...bad gateway
Добавить комментарий
Заполните форму для добавления комментария


