Pull to refresh

Comments 3

Этот подход создаёт не больше трудностей (а то и меньше), чем виртуализация. По идее, хороший анализ девиртуализации спокойно может отменить все подобные приседания. Поэтому такой подход не масштабируется.

Если его пытаться масштабировать, то получится что-то в стиле vmprotect. То есть просто сделать виртуальную машину и транслировать код под эту вм. При этом, одна инструкция этой вм может делать весьма много действий. А чтобы масштабировать защиту, вм генерируется при каждой компиляции новая.

Этот подход создаёт не больше трудностей (а то и меньше), чем виртуализация

Определенно меньше, достаточно лишь проанализировать одну диспач функцию, чтобы всё встало на места.

Когда начинал писать статью, за ВМки покурить еще не успел, но если будет свободное время, то хотел бы написать как раз пакер в духе vmprotect, Themida и подобных.

Определенно меньше, достаточно лишь проанализировать одну диспач функцию, чтобы всё встало на места.

Здесь не очень очевидно. Речь же, разумеется, идёт не о том, чтобы анализировать руками — речь об автоматическом анализе. И там в одном случае нужно хешмап разворачивать, а в другом следить за указателем в данных. Но не суть — что то, что другое решаются.

Sign up to leave a comment.

Articles