StrangeDylan, А как ты будешь локальную переменную изменять если она только во время выполнения функции существует, и то слово существует спорное. Даже в стеке ее может комплятор не хранить а соптимизировать.
Для того кто умеет программировать реверс инженеринг без защиты элементарная задача и никаких вопросов не вызывает (c++ предполагает что ты знаешь ассемблер архитектур под которые пишешь). Так что нужно учить cpp и OS, а не цифры тыкать в CE.
Inviz Custos, Как раз наоборот, все знают что делает VMP, даже знают как дивиртуализировать, уже есть готовые решения, а вот что будет делать его виртуальная машина никто не знает.
Защита это как раз про то, что чем более индвивидуально подойдешь, тем лучше. Даже к антидебагу. Если сделаешь что то что TitanHide не может обойти. Немала вероятность что сильные реверсеры забьют на тебя просто. А Vmp например титан хайду ниче не делает.
Скопировать он ПРОСТО он не сможет, если защитить системные вызовы. Часто применяемая техника - server mmap. Лоадер скидывает все адреса системных вызовов на серверер. А сервер в код вставляет адреса этих системных вызовов(Просто jmp на адрес, либо вставляет код, который этот адрес вычисляет, всякими сдвигами битовыми и тд, чтобы дополнительно усложнить анализ). В итоге если даже злоумышленник скопирует этот код, все эти jmp будут крашить, потому что адреса системных либ поменяются.
А в чем сложность дизассемблирования заключается ? То что немного статический анализ усложнится ? В дебагере то все равно все видно будет. Просто дойти до момента когда он сгенерит код, можно сдампить, потом в иде открыть, можно прям в дебагере проанализировать. По уровню защиты это не сильно сложнее чем upx(нулевой уровень).
Слышал, что есть Малварь, которая модифицирует банковские сайты прям в браузере, тоесть что сертификат отображается правильно, а сам сайт модифицирован. Вот мне их сорцы бы не помешали, но нет опенсорсных.
ёпта, приложение - покерный клиент. Нужно поменять формат отображения кеша в биг блайндах а не в доллорах. Причем это именно должно работать как инжект в процесс, нельзя менять исходное приложение, понятно, что если файлики менять. Более того уже после того как я задал вопрос, у меня получилось врубить dev tools, там оказалось что сам покерный стол хранится в webview(iframe) и он с другого домена.
Насколько я уже разобрался, мне нужно сначала найти RenderProcess с вот этим вот айфреймом. Потому что для кросс ориджн Фреймов создается отдельный RenderProcess. Найти в этом процессе DOM дерево, ну а дальше уже его модифицировать и добавить нужный мне функционал. Чтобы найти это нужно копать сорцы webkit или blkink, насколько я понимаю. Я не смог посмотреть что в этом айфрейме находится(дев тулс не дают открыть) , я искренне надеюсь что там DOM, а не webgl/canvas, или еще хуже того flashplayer(в приложении лежит дллка peperflash).
Для того кто умеет программировать реверс инженеринг без защиты элементарная задача и никаких вопросов не вызывает (c++ предполагает что ты знаешь ассемблер архитектур под которые пишешь). Так что нужно учить cpp и OS, а не цифры тыкать в CE.