5.5 不修改代码实现破解
心得
这节有意思,现场演示怎么把国外收费的C#程序脱壳,把源码逆出来,当然他的脱壳机已经写好了; 讲国内某飞车游戏的瞬移外挂怎么没被封掉,后来实在对抗不过就把外挂作者抓了,哈哈哈;
另外还回顾了一下基础知识: 1.什么是进程和线程? 进程为线程提供资源,实际程序运行执行任务的是线程; 俗语:进程是4GB,线程是EIP(EIP寄存器,保存CPU执行的下一条执行的指令的地址)
3.什么是线程上下文以及为什么需要它? 我看老师Debug的时候能看到线程上下文里有许多寄存器; 因为CPU在执行多个进程中多个线程时,是来回切换的,那么CPU要知道上一次 运行到内存哪个位置了,就需要寄存器对相关运行信息进行保存,这时候就需要到线程上下文;
另外就是讲了一个反调试的技巧,通过对比那啥校验和?不是很懂唉;
上下文切换参考链接
https://zhuanlan.zhihu.com/p/52845869
记录
- 番茄助手:Visual Studio 的插件,可以实现通过一个自定义的快捷字符来创建函数 比如 自定义 thread_create == CreateThread(NULL, NULL, ThreadProc, NULL, NULL) 这样就能直接创建线程