Posts: 25 Threads: 0 Joined: N/A August 25, 2022 at 9:08 AM My question is exactly as the title "Should I learn C for better computer understanding?". Since C is a simple language where I need to implement a lot of things by myself and deal with lower level stuff directly. My goal is to be better in cybersecurity overall, I'm just on the fence on pouring resource to learn between C/C++/Rust for lower level stuff. If you guys have any better idea than learning C is welcome.
Thank you for your answers guys Posts: 338 Threads: 0 Joined: N/A August 25, 2022 at 9:13 AM the main difference between C and C++ is that C is a procedural with no support for objects and classes whereas C++ is a combination of procedural and object-oriented programming languages. Posts: 4 Threads: 0 Joined: N/A August 25, 2022 at 5:48 PM Yes, as well as Assembler, these languages close to how computer architecture really works Posts: 26 Threads: 0 Joined: N/A     August 25, 2022 at 9:04 PM Well obviously, you said it yourself: it enables you to interact with low-level stuff directly and you'll learn a ton about safe memory management. Now, do you need to build everything by yourself? No, not on Windows atleast. The Windows API library (windows.h) offers a ton of useful functions such as: WriteProcessMemory, ReadProcessMemory and opening a process with maximum privileges through a handle with OpenProcess.
Read more about the WinAPI here: https://docs.microsoft.com/en-us/windows/win32/api/
Here's an amazing website that let's you choose pretty much any language and view the Assembly code of it in real time: https://godbolt.org/
Hope this helped. Posts: 48 Threads: 0 Joined: N/A August 25, 2022 at 10:37 PM You can take a look to Python Posts: 9 Threads: 0 Joined: N/A August 26, 2022 at 3:29 AM Yeah you should, but dont hold yourself to some silly notion of just learning one language. Branch out and experiment with a ton of different languages. Youll quickly learn there are actually quite a bit of similarities between different languages, but will have different strengths and weaknesses. The more languages you expose yourself to the quicker it will be to just pick up a new language and run with it.
C, C++, C#, Python, Golang, Rust, Javascript, ect are all useful languages to pick up in some capacity. Posts: 582 Threads: 0 Joined: N/A August 26, 2022 at 8:04 AM I think it helps to do some c/c++..the question is what part of cybersecurity is relevant. To crack / exploit programs..yeah..to understand network..hmm..maybe Posts: 5 Threads: 0 Joined: N/A August 26, 2022 at 8:28 AM Currently starting with C myself. I have some experience with Arduino, but I still don't really get how memory works on devices that are not computers per say Posts: 25 Threads: 0 Joined: N/A August 26, 2022 at 10:47 AM (August 25, 2022, 10:37 PM)DuckODuck Wrote: You can take a look to Python been scripting on python a lot, trying other thing to "step up" my game a little bit (August 26, 2022, 03:29 AM)wh0fox Wrote: Yeah you should, but dont hold yourself to some silly notion of just learning one language. Branch out and experiment with a ton of different languages. Youll quickly learn there are actually quite a bit of similarities between different languages, but will have different strengths and weaknesses. The more languages you expose yourself to the quicker it will be to just pick up a new language and run with it.
C, C++, C#, Python, Golang, Rust, Javascript, ect are all useful languages to pick up in some capacity. thank you for your advice, I have learned python, js, and C#! (August 26, 2022, 08:28 AM)Sadandologne Wrote: Currently starting with C myself. I have some experience with Arduino, but I still don't really get how memory works on devices that are not computers per say pretty cool! is it for work or for study?
(August 25, 2022, 05:48 PM)simuluant225786 Wrote: Yes, as well as Assembler, these languages close to how computer architecture really works assembler kinda turn me down a bit since right now I focuses more on high level stuff, but I will eventually touch assembly whether I like it or not, thanks for the advice (August 25, 2022, 09:04 PM)nullptr Wrote: Well obviously, you said it yourself: it enables you to interact with low-level stuff directly and you'll learn a ton about safe memory management. Now, do you need to build everything by yourself? No, not on Windows atleast. The Windows API library (windows.h) offers a ton of useful functions such as: WriteProcessMemory, ReadProcessMemory and opening a process with maximum privileges through a handle with OpenProcess.
Read more about the WinAPI here: https://docs.microsoft.com/en-us/windows/win32/api/
Here's an amazing website that let's you choose pretty much any language and view the Assembly code of it in real time: https://godbolt.org/
Hope this helped. this helped a lot, I would never knew about this as quickly if you haven't replied. thank you very much Posts: 5 Threads: 0 Joined: N/A August 28, 2022 at 8:35 PM pekofrog Wrote:pretty cool! is it for work or for study? A bit of both, it always comes in handy to be able to understand more in depth what the companies hardware providers are developing because you can easily tell if they are slacking off or being honest. BTW did you actually find the Godbolt tool useful? I have tried it myself and haven't really gotten anything out of it. It wasn't able to translate my Visual Basic app into any other language. I might be a bit paranoid but I believe it could be a way to exfiltrate code from other organisations by having people upload their code expecting the website to transform it to idk assembly or C or whatever when in actuality they are receiving the sample of the code and checking the content, because if that is the case they might be getting pretty useful stuff, they can learn from it. Dunno might be I just haven't learned how to properly use it |