破解软件属于软件逆向,需要弄懂可执行文件的结构以及它是怎样被操作系统加载进内存的,然后怎样被cpu一条指令一条指令的运行的。必须要有汇编基础。然后推荐本书:看雪学院的《加密与解密第三版》
原理是查找软件的运行的流程,并通过修改这个流程来改变软件的行为。可以直接修改可执行文件,也可以通过dll注入或是远程写入进程等方法在程序正在运行是修改程序。有时候要靠修改素材来实现,比如游戏修改中改变地图,等等的。
需要学习汇编,如连编程基础都没就别妄想破解软件了