Qulan сказал(а):
Как подступиться к реверсу?
Чтобы заниматься обратным инженерингом (реверсом), для начала нужно выучить "прямой" инженеринг, т.е. язык программирования, а это как-правило машинный ассемблер. Это первое и основное требование. Во-вторых, поскольку всё действо происходит в памяти ОЗУ, нужно делать упор на изучение её организации - ячейки, как выделяется и освобождается, и прочее. Ну и дальше разнообразные хитрости программирования, которые старается использовать разработчик софта. Это придёт со-временем.
Ситуацию усугубляет то, что программы в основном пишутся на С++, причём без ключей оптимизации. В результате, обычный "HelloWorld" написанный на чистом ассме и плюсах, в отладчике будет выглядеть совсем иначе. В плюсах будет огромное кол-во шелухи и пару строчек полезного кода, найти которые не так просто. Здесь выручают точки-останова BreakPoint, которые необходимо освоить. Но и тут нужно знать, на что именно сбавить бряк, а значит по-любому нужно учить язык, чтобы понимать происходящее.
Более того, в современном мире ручной реверс уже не актуален - всё должна решать автоматика, которая экономит время и нервы. Только столкнувшись с упаковщиками и протекторами понимаешь, почему.