Дополнения и изменения:
От patreon 7.4.3 до public 7.5:
- удалено требование драйвера для инструмента доступа к областям памяти
- добавлены 1-байтовые инструкции jmp (которые установят обработчик исключений и разместят int3 в указанном месте)
- добавлена опция сканирования, позволяющая пропускать невыгружаемую память (должно предотвратить чрезмерное потребление ОЗУ целевыми объектами при сканировании)
- reassemble() теперь переписывает инструкцию, используя несколько строк при необходимости
- некоторые сообщения об ошибках стали более подробными
- добавлена опция центрирования выделенного кода дизассемблера
- добавлено объяснение, почему драйвер не загружается, и ссылка с информацией о том, как заставить его загрузиться сейчас
- горячие клавиши записи памяти теперь можно отключать по отдельности
- codefilter: информация unwind теперь дает менее плохие результаты
- добавлена поддержка псевдоопераций, таких как cmpss/sd/ps/pd
- lua: добавлены команды ceserver
- lua: показывать трассировку стека при ошибке выполнения
- lua: добавлена convertToUTF8(stringbytetable, regioncode)
- сделана возможной загрузка файлов CT с подписями под wine и proton
От patreon 7.4.2 до patreon 7.4.3:
- ceserver: поддержка каналов (mono data dissector)
- ceserver: добавлена возможность изменения защиты памяти
- ceserver: доступные опции теперь могут быть отправлены в графический интерфейс CE
- .netinfo: представление полей заменено деревом
- network config: список процессов теперь находится в фокусе после открытия сервера
- lua: добавлен virtualstringtree
- lua: добавлен invertColor
- lua: добавлен disassembleBytes(bytestring)
- autoassembler: теперь отображается визуальное предупреждение при неудачной ближайшей аллокации
- autoassembler: шаблоны теперь генерируют также 14-байтовые безопасные блоки оригинального кода jmp
- pointerscan теперь имеет опцию отклонения для «указатель должен заканчиваться смещением», чтобы помочь найти указатели после обновления
- ultimap: добавлено копирование выбранных результатов в буфер обмена
От patreon 7.4.1 до patreon 7.4.2
- ipt: Добавлена функция Intel Process Trace, предоставленная Microsoft.
- ceserver: Улучшена скорость получения списка модулей, более стабильно
- ceserver: опция отключения от закрытых ceservers
- ceserver: список обнаружения теперь также является списком истории
- ceserver: реализована инъекция также на arm64
- ceserver: теперь также получает регистры FPU
- assembler x86_64: предпочитать mov rax,[rip+xxx] вместо mov rax,[imm64]
- disassembler x86_64: переключено с r#l на r#b, почему бы и нет
- mono: dll теперь имеет проверку версии, чтобы вы случайно не смешали dll’ки monodatacollector
- mono: обработка ситуаций, когда нет основной формы
- mono/.net: список методов теперь отсортирован по имени
- улучшенный дизассемблер и ассемблер arm
- улучшенный дизассемблер и ассемблер arm64
- области сканирования могут быть сохранены/загружены при закрытии/запуске CE (отдельная опция в настройках)
- добавлена опция пропуска загрузки файлов .PDB
- гораздо больше функций доступно для новых потоков состояния
- добавлены сканирования диапазонов в groupscan
- freeze+allow increase/decrease теперь также проверяет, является ли значение знаковым
- трейнеры: формы и элементы управления теперь масштабируются в зависимости от DPI
- изменение записи showassigned/showashex теперь также применяется к другим выбранным записям
- трассировки текста теперь сохраняются не как .cetrace, а как .txt
- ccode: #include теперь ищет файлы и в табличных файлах
- ccode: внутренний обработчик символов теперь может работать с символами функций, вызванных stdcall
- lua: добавлено свойство ImageIndex для TTreeNode
- lua: добавлены коллбэки OnValuechanged и OnValueChangedByUser для объектов MemoryRecord
- lua: добавлен getOpenedFileSize()
- lua: добавлен коллбэк onHelpEvent
- lua: добавлен releaseDebugFiles()
- lua: добавлены enumRegisteredSymbolLists() и enumRegisteredSymbols()
- lua: добавлен метод getBitmap для объектов ImageList
От public 7.4 до patreon 7.4.1:
- добавлено свойство .Visible для записей treenode
- добавлены .VisibleRowCount и .TopItem для listviews
- добавлены дизассемблирование и ассемблирование arm64
- добавлена функция lua «runCommand»
- добавлена радиокнопка для выбора, будет ли генерируемый скрипт использовать 5- или 14-байтовые jmps.
- условные переходы теперь могут обрабатывать назначения 2 ГБ+ (будут переписаны)
- dotnetinfo: Улучшение производительности
- горячие клавиши записи памяти теперь имеют опцию «Только при нажатии»
- обновлен dbghelp до более свежей версии, которая лучше обрабатывает современные символы PDB
- различные аллокации памяти теперь размещаются внутри исходного блока аллокации. Защита изменяется впоследствии
- трассировщик теперь может перешагивать через инструкции rep
- lua stringstream теперь наследует от memorystream, поэтому у вас есть доступ к полю Memory
- lua: добавлен коллбэк для случаев изменения списка структур
- добавлено различение архитектур в ceserver
- нажатие escape в форме горячих клавиш теперь закрывает ее
- добавлена поддержка вложенных структур
- добавлены строковые пользовательские типы
- ctrl+enter в дизассемблере теперь показывает относительные адреса от этой точки
- diffcount в «find out what accessess/writes» теперь остается, даже если отключить опцию поиска количества различных адресов, к которым обращается инструкция
Исправления:
От patreon 7.4.3 до public 7.5:
- vehdebug: Исправлен случай, когда создание нового потока или другое событие вызывало другое событие, которое срабатывало точно в то же время, приводило к игнорированию исключения и простому продолжению
- monodatacollector: исправлен метод invoke
- dotnetdatacollector: Исправлена проблема загрузки неверной версии dbgshim.dll
- исправлено дизассемблирование cvtdq2pd
От patreon 7.4.2 до patreon 7.4.3:
- ceserver: Исправлена загрузка расширений в некоторых случаях
- ceserver: исправлено пошаговое выполнение на x86-целях
- исправлено отображение имени как [physical memory] вместо имени файла при открытии файла
- исправлена редкая ошибка при сканировании с использованием специфических опций
- исправлена некоторая документация в celua в некоторых местах
- исправлен stackview в «more info» (мусор/нарушение доступа)
- исправлен поиск инструкций трассировщиком, заканчивающихся на ]
- исправлена функция lua enumExports
- исправлена проблема, когда vehdebug аварийно завершал работу
- исправлен ассемблер, который обрабатывал [rex+reg*x] как символ при отладке
- исправлен черный список дизассемблера
- исправлена проблема завершения работы объекта memscan
От patreon 7.4.1 до patreon 7.4.2
- Исправлен поиск инструкций трассировщиком, заканчивающихся на ]
- VEH debug: Исправлен потенциал использования недействительных дескрипторов
- Kernelmode debug и VEH debug: Исправлена установка контекста для неподвешенных потоков
- исправлен делегат lua_pcallk в примере плагина c#
- исправлен speedhack на wine 7.0
- исправлена проблема с высоким DPI при первом просмотре структуры
- исправлена проблема с высоким DPI в диалоговых окнах «find what access/writes»
- восстановлен редактор якорей (отсутствовал в 7.4.1)
- исправлена проблема поиска экземпляров .net info
- исправлено, что пользовательские типы помечались как строка (ошибка, появившаяся в 7.4.1)
- исправлен runcommand
- исправлено, что модальные формы теряли свой цвет текста внутри (ошибка, появившаяся в 7.4.1)
- mac: исправлено, что некоторые прогресс-бары не обновлялись должным образом
От public 7.4 до patreon 7.4.1:
- исправлено, что тип «all» не находил 4 типа, когда double был отменен
- исправлен тип «all» при неиспользовании double
- исправлен доступ к esp в 32-битном ccode и типы «reg»f
- исправлено дизассемблирование при использовании binutils для дизассемблирования
- исправлено, что menulist табличных файлов потреблял память, потому что они не удалялись должным образом
- исправлены проблемы .net, использующие обфусцированные модули и отсутствующие метаданные
- исправлен парсинг значения, начинающегося с — или +
- исправлено ассемблирование pmovmskb
- исправлено дизассемблирование инструкций vgather* vex256 и разрешено использование регистров xmm/ymm в качестве адреса (для инструкций, которые это позволяют. Как эта)
- исправлено, что addresslist не выдавал надлежащую ошибку при использовании нескольких секций включения или выключения
- исправлена ошибка при использовании ctrl для горячих клавиш speedhack
- исправлен парсер команд groupscan, который назначал wildcard неправильному combobox
- исправлено дизассемблирование xchg eax/rax,xxx
- исправлена регистрация пользовательского типа lua как float при использовании метода, отличного от функции lua
- исправлена небольшая проблема со сканированием памяти для данных в конце блока памяти
- ccode больше не регистрирует бесполезные символы