Где изучить unix и reverse?
Начните не только с основ с++ а с основ WinApi 
Ваш путь 
1) Пройти все уроки туториала CheatEngine
2) Написать простейший external используя функции WinApi (#include windows.h)
То есть самому реализовать то что делает CheatEngine
К примеру простейший взлом - через OpenHandle и WriteProcessMemory
2) Изучить основы памяти - написать свой простейший LoadLibrary+CreateRemoteThread инжектор
3) Поиграться с античитами GameWer( можно обойти с Ring3 Internal)
Vac (можно обойти с Ring3 External)
4) Изучить основы NativeApi (то что ntdll.dll) (к примеру поиграться с LdrLoadDll)
5) Написать свое чисто NativeApi приложение не использовав ни одного #include (благодаря знаниям peb/teb)
Изучить MASM||NASM||FASM - в взломах в нативе без асма будет не приятно...
6) Изучить разработку драйверов - надо установить wdk
7) Поиграться с EAC
8) Тут у всех разный путь, надеюсь вы сделаете правильный выбор))
Ps: 0) Guided Hacking/UnKnoWnCheaTs
установи себе Unix (хотя лучше Linux, имхо) и начинай его изучать
Книжек и курсов полно.

С реверсом сложнее, но и книги есть, и есть некоторое количество гайдов, софта, и прочего.
Hack the box, например.

Но начните с *nix