hls是干嘛的 hlsl是什么( 六 )


? Makefile Shell脚本编写等知识
3、Linux系统编程与linux操作系统
? 重点学习标准I/O库 , Linux多任务编程中的多进程和多线程;
? 进程间通信(pipe、FIFO、消息队列、信号量、共享内存、信号)同步与互斥 , 对共享资源访问控制等重要知识;
? 提升对Linux应用开发的理解和代码调试的能力;
? Linux文件系统
4、网络原理与网络编程
? TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、HTTP;
? 重点学习网络编程相关API;
? 熟悉HTTP协议及其实现方法;
? 对比网络框架 , 做源码分析 , 如ACE/ICE/ZMQ/Libevent/Muduo等
5、数据库、中间件
Mysql、redis nginx mongdb等中间件
6、集群与分布式架构
7、高性能组件造轮子的能力高并发IO
五、逆向与反外挂就业方向
岗位技能:
1、熟悉X86汇编、C/C++语言;熟悉PE文件格式;
2、熟悉windows或Android平台下反汇编 , 熟悉X86和arm汇编指令;
3、熟练掌握软件逆向静态分析、动态调试、代码跟踪等技术;
4、熟练使用OllyDBG , IDAPro、GDB等逆向工具;
5、熟悉反跟踪调试技术、脱壳技术;
6、了解各种通用加解密算法;
7、有andriod、IOS反汇编经验优先
……
逆向与反外挂知识架构体系:
1、 C/C++语言的逆向表现与X86汇编语言
C语言/C++逆向语法表现 , 内存分布 , X86汇编语言、数组和指针的逆向表现、函数的逆向表现;
学习逆向如果不掌握一些汇编 , 基本就是盲人摸象 , 能出成果就只能靠运气 。
随着64位机器的普及 , 32位程序会越来越少 , 这块的学习难点在于64位CPU和32位CPU差异明显 , 甚至可以说是差异巨大 , 大家学习时要注意区分 。
2、 操作系统与windowsPE
? 操作系统进程/线程概念 , 互斥量、信号量、事件等;
? PE头 , 导入/导出表;
? 重定位/资源/延迟加载导入表
3、 游戏反外挂/HOOK/注入
? 基于注入的反外挂攻防;
? 基于HOOK的反外挂攻防;
? 基于CALL的反外挂攻防;
? 基于窗口的外挂检测;
? 游戏多开的逆向分析
4、 加密/编码算法
? 基础的 , 比如异或、url编码等;
? base64(出镜率极高)crc校验算法md5;
? 学习tea和aes des
这里建议 , 可以先学习正向开发的部分算法 。用不同的算法处理过的数据 , 会有一些特征;见得多了 , 很多时候可以在你研究逆向时给予很大帮助 。
5、 工具类
? OD、CE、Windbg等调试工具;
? wireshark、x64dbg、frida、visual studio , 其中有一些是开发工具 , 比如visual studio;
? 虽然这些工具是开发工具 , 但是其中包含很多小工具 , 比如spy++、depends等
6、 框架
? 逆向框架比较多 , 比如Cydia、xposed、substrate、ghidra等;
? 每个框架所适用平台和条件也略有差异 , 例如:
? Cydia是在苹果下做逆向;
? xposed是Android下逆向;
? substrate是一种拦截方案;
? ghidra是一个集成环境等
逆向与反外挂这一部分比较特别 , 它们的知识点没有尽头 。
除了这些就业方向 , 还有智能硬件和可穿戴设备(智能硬件VR/C++ , )、音视频解码(协议优化)、C++游戏开发(游戏方向 , 熟悉游戏引擎cocos2dx等)等就业方向可以选择 。
智能硬件和可穿戴设备(智能硬件VR/C++)
岗位技能:
1、熟悉Unity3D引擎架构设计者优先;
2、熟悉网络编程和多线程编程;
3、熟练掌握C/C++ , 具有3年以上的C/C++软件开发工作经验;
4、有3D图形引擎开发相关经验;
5、对物理引擎有深入研究 , 并在游戏等实际应用中有过相关实践;
6、对图形学知识有深入了解 , 熟练使用DirectX、OpenGL或Metal,并有相关作品 。
7、具有一定的英语水平 , 能够阅读外国学术文档 。
8、有Oculus Rift , Samsung Gear VR , 或HTC Vive开发经验者优先 。
……
音视频解码(协议优化)
岗位技能:
1、熟悉音视频编解码处理算法 , 有相关领域一年以上工作经验;
2、熟悉ffmpeg体系结构 , 能够移植和优化该系统到移动客户端;