1
Nosub 327 天前
看出来,楼主的目的是 4 ,逆向,你这初心有点不太对。
|
3
ariasigh 327 天前 via iPhone
直接上 Qt 吧
|
4
dearmymy 327 天前 1
假设你目标是 4 的话
1 ,b 站随便找个 c11 以上的教程就行 2 ,window 核心编程,看雪的 加密与解密 3 ,如果 c++话,qt 是最好的。 4 ,学逆向特别是 win 平台,学会 c++继承 多态理论就够了。去看看 window pe 权威指南,了解下内存布局,不过能把 window 核心编程,跟加密与解密 搞懂基本算入门了。不过也没什么意义。win 下早就成熟了。这点技术什么都搞不了。真想学逆向,还是直接移动端把。 |
5
jones2000 327 天前
一般看 win32.
逆向 c++就算了,有些全程都是指针,各类类型的强制转换, 就算给你源码, 估计也头大的。 |
6
chesha1 327 天前
从找工作考虑,你可以试试学 js ,然后用 electron 开发应用程序的路,毕竟感觉 c++岗位少,开发效率低,除了 qt 的软件性能确实强于 electron ,没啥突出优点了。你学完 js/node.js ,还可以用于前端或者全栈
|
7
henix 327 天前 3
先学一些 C / C++ 基础,如果你要逆向的程序用了 C++ 的话那也得会,而且逆向可能需要会一点汇编。
你需要学一些 Windows 系统级 API 的使用,也就是 Win32 API 。 不妨以开发一个简单的 Windows 窗口应用为目标,但是一些操作系统的基本概念也是需要了解的,比如进程线程、文件 IO 、网络 IO 等等。 推荐书籍: * Windows 程序设计 https://book.douban.com/subject/5273955/ 注意不是讲 Win8 的那个新版,是这个旧版,了解 Win32 API 和窗口 * Windows 系统编程 https://book.douban.com/subject/5323432/ 了解其他 Win32 API * Windows 环境下 32 位汇编语言程序设计 https://book.douban.com/subject/24846626/ 了解窗口相关 API 和消息循环,学完之后你可以创建自己的窗口应用程序了 * 程序员的自我修养 链接、装载与库 https://book.douban.com/subject/3652388/ 进阶内容,了解 DLL 动态运行库的原理 由于以上书籍较老,里面的代码可能有些不能用了,自己写代码的时候可以参考最新的 MSDN ,例如: https://learn.microsoft.com/zh-cn/windows/win32/api/winuser/nf-winuser-createwindowa 看一下后面的样例 |
8
acbot 327 天前
有 Java 基础和经验
优势:c++ 基础学习方面应该很快,因为很多理念差不多可以触类旁通。 劣势:c/c++做一个应用如果仅仅只考虑 Windows 还好点,如果要考虑快平台那么框架(轮子)选型和学习对于没有经验的人来说是一个巨大挑战!不像 Java 和后续的新语言大家基本就用那么几个框架(轮子)做后续的应用。 |
9
janus77 327 天前
说一下学习理念的区别:
- 首先 java 是跨平台,但是开发有用户界面的 GUI 程序的话,不好跨平台,如果是专指 win 平台程序,那要先学 win32 API - 然后就是,开发 GUI 程序也是需要一大套轮子的,类似 java 里面的 spring 全家桶吧,按钮怎么绘制、点击效果怎么设置这些,都不是系统级的,而是轮子级的 api 。这边商业级项目的话,一般是用 QT - 剩下的么,就是 GUI 程序和 server 程序的架构理念了,在 GUI 程序里面,生命周期的概念、UI 适配、线程切换、缓存、数据传递、跨进程通信这些都是很重要的,server 程序一般都是永远存活,不需要考虑别的,一撸到底就行了。这个区别自己去在开发中感受 |
10
PepperEgg 327 天前
先学基础在考虑开发,c++这玩意不是直接上手就能开发软件的语言
|
11
ysc3839 327 天前 via Android 1
1. 个人没什么书或视频推荐,建议看看 Win32 基础的注册窗口类、创建窗口、创建控件、消息循环、窗口事件处理的示例代码,大概就能入门了。后续还可以看看 GDI 、Direct2D 等。
2. 建议先学 C++平台无关的部分,尤其是 C++11 之后的内容,了解智能指针、RAII 等,然后就可以看看前面提到的 Win32 API 用法,理解得差不多了就可以试试配合 wil https://github.com/microsoft/wil 调用 Win32 API ,wil 把一些常用的 Win32 API 封装成了 RAII 对象,避免了手动释放的麻烦,又不像 MFC 那样侵入性很大。 3. 按上述流程就可以边学边写了。 4. 建议至少理解 C/C++的指针和 C++的虚函数表,配合 IDA 反编译。 |
12
fromdark 327 天前
1. 如果有 C++ 基础的话就好说了
2. 我看的是《 Windows 核心编程》挺好的一本书,也挺老的,不过依然管用,讲的是 win 的一些机理,一些 api ,不过很少涉及代码层面,因为 win 不开源,所以里面有些东西也是作者自己猜测的(原话) 3. 另外还看了一本《 windows 高级调试》,感觉也还行,没看完 4. 如果要做产品的话,说白了就是做出 UI 界面,那就用 QT 吧 |
13
noErr 327 天前
不浪费时间,直接找个项目复刻
|
14
haohaolee 327 天前 via Android
想搞逆向,应该学汇编啊,要是逆向的程序不是 C++写的,而是 golang 或者 rust 写的,学了 C++用处不大。还是好好学习汇编吧,Windows 的话那就是 x86 汇编
|
15
skye 327 天前
windows 开发的话,还是 c#
|
16
zhuangzhuang1988 327 天前
先跟着官方 学习下 https://learn.microsoft.com/zh-cn/windows/win32/learnwin32/learn-to-program-for-windows
从 0 开始,绘图部分直接是 direct2d, 里面还牵扯到简单 c++封装。 |
17
macha 327 天前
现在投入搞 Windows 开发收益不高呀。
|
20
seedhk OP 非常感谢各位大佬们,人多我就不一一 @了。祝大家新年事事顺利,财源广进~
|
21
proxytoworld 326 天前
讲真的不建议逆向 c++,这就是一坨狗屎,c++写代码可能才几行,等编译器展开各种宏/函数模板/类,逆向出来的伪代码恶心的要死
|
23
4u1kto 326 天前
真羡慕还有那么多时间学 C++,这种神坑建议别跳,人生苦短
|
25
sbldehanhan 326 天前
先过一遍语法,要是其他语言,我就劝你直接上项目了。但这是 C++。看书就那本 C++ Primer ,视频的话,随便 B 站播放量高的。
|
26
morgan1freeman 326 天前 1
别玩 win 平台了,都已经被人搞烂了,
还逆向,你逆向个啥啊, 写外挂?逆向微信 pc 端弄 sdk 拿出去卖钱?写病毒? 这都 08 年 国内老早就玩成熟了,后面一堆的反反调试,还有各种虚拟机代码混淆, 现在还来玩这个,狗都不玩了, 你玩这个根本就没收益,要么就大神级别的搞内核,专门给人做驱动过 TP ,或者出海搞外挂 基本上都是很刑的路子,如果是为了赚钱,还不如直接卖梯子,搞 win 下的逆向,真的没搞头 |
27
morgan1freeman 326 天前
windows 下 那些内核编程的书 都老早不更新了
|
28
morgan1freeman 326 天前 1
@levelworm
没啥搞头了,以前有灰产 黑产可以做,08 年还能开私服,ddos 也是一门生意,做免杀,灰鸽子,过驱动,写外挂,什么的,都是完整成熟的一条产业链,现在这些东西搞不了,搞私服,稍微大一点立马被警察端,有钱的大佬也不玩私服,之前那些搞私服的后面 积累了第一桶金 很多搞页游发财去了,目前 ddos 也不敢大规模搞了,肉鸡很多也在面向嵌入式设备了,windows 安全防御也成熟了一些,你现在学这个 除了很刑的路子 像出海搞外挂之类的 ,基本上没啥就业岗位,花了这么大的精力 结果发现是屠龙技,没有几条能搞钱的路子 那还搞他干嘛 |
29
morgan1freeman 326 天前
|
30
wei619588621 326 天前
信息闭塞
|
31
seedhk OP @morgan1freeman 谢谢大佬的致命三连 哈哈哈
我不是为了用这个赚钱,自己都多少斤两我也很清楚,Java 学了好多年都谈不上精通,更别说 C++了。 想学这个纯粹是兴趣使然。至于那些不该碰的,不会碰也没有能力碰。 |
32
nong99 326 天前 via iPhone
那么…C#可入吗? NET 系列……
|
33
Promtheus 324 天前
我也是 java 开发 搞 QT 就花了一周 挺简单的
|
34
levelworm 307 天前
@morgan1freeman 我其实不是很理解做黑产的,这种不是迟早被抓吗?就算在境外,也不是很安全啊。。。
|