Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Top Posters

Who's Online (1)

Powered by Vanilla. Made with Bootstrap.
What programming language should i learn ?
  • wTg
    Posts: 38
    Some of you know that i am quite new to exploiting and i thought that i should learn a programming language. So i was wondering what would be the best one to learn to start with ? :)
  • Heres how I started:
    Python -> C

    Both good languages. But it's probably better to start with Python.
  • wTg
    Posts: 38
    Oooh okay thanks. I was thinking about python. Are there any tutorials that you know would be good? I am big noob btw haa :L
  • Sh3llc0d3
    Posts: 1,910
    No experience with Python so I can't comment but for exploiting the main ones for exploiting are.... C, ruby, python, perl and assembly.

    Now lets narrow those down for the noobs:
    - C
    - Ruby
    - Python
    - Perl
    - ASM (assembly)

    Now my reasons for counting out C and ASM as your first choices... a hell of a lot of people end up giving up/quitting learning C and C++ just because it takes a long time to learn and become fluent. If you can apply yourself then C or C++ are very good languages to learn if you can apply yourself. I'm not joking about it so don't go against what i'm saying thinking i'm "just saying that". Assembly is a low level language and takes a level of understanding about computers you have to get a grasp of, like very low level info on the architecture, how memory works within the microprocessor etc. No easy feat as a beginner and could put you off for life if you fail miserably, if you enjoy that kinda thing on the other hand then it may be worth looking into as a second language to learn after an easier one.

    Ruby, Python and perl are used extensively in writing exploits, exploits for web app security, system and network compromises. Ruby makes up the metasploit framework. So may be worth considering if metasploit coding is your thing. Perl is like ruby, just a hell of a lot easier to get a grasp of in terms of syntax. Python, like I said I can't say a lot about because i've not looked into it.

    You could always choose something completely off the wall like vb.net and code a trojan and be universally hated by anyone who knows any other language. I think lolcoder's would probably start hating.
  • Xin
    Posts: 3,251
    Python would be a nice easy start, to learn the fundamentals, or if your up for something slightly harder maybe try learn

    ruby - as its useful for metasploit
    c - Good solid language
    C++ and Java - Industry programming standard

    But you can write exploits in most languages really.
    Xin
  • sangf
    Posts: 203
    depends on your intention, but:

    high level interpreted languages like python and perl are good for general purpose stuff, you can have some really functional programs up and running much quicker than lower level languages, and the support and third party libraries make it easy to do whatever you need in a short amount of time. they are also generally easier to pickup (depending on design) and learn.

    lower level compiled languages like c/c++ can be harder to learn and things can go wrong much easier, as not much abstraction is provided unlike higher level languages. however, they perform far more optimal and give you more control in general. they also make for great end-user targetted programs, as they can essentially have 0 dependancies. if you want to write a high quality, fast application/server of some sort, learning a language like this can yeild the best results if done correctly, but there is always the tradeoff of development time.

    i think if you're interested in learning to code, it's best to at least learn both a lower and higher level language at some point. there's never a single goto tool for the job!
  • wTg
    Posts: 38
    Thanks guys i think i will stick with python then as you all seem to say that it is quite good. After hearing that i definitely done think that ASM is for me haha. Maybe C or C++ in future but not now.

    Also does anyone have a kind of rough idea of how long it takes to fully grasp a language like python. I'm not impatient lol, just wondering.

    Cheers for all the help guys! :)
  • Sh3llc0d3
    Posts: 1,910
    said:


    Thanks guys i think i will stick with python then as you all seem to say that it is quite good. After hearing that i definitely done think that ASM is for me haha. Maybe C or C++ in future but not now.

    Also does anyone have a kind of rough idea of how long it takes to fully grasp a language like python. I'm not impatient lol, just wondering.

    Cheers for all the help guys! :)



    I heard it bounced around a while ago if you sit down and commit to it you can learn in 3 months. That's solid study.
  • wTg
    Posts: 38
    Oh that isn't too bad. I won't be solid studying but i will be doing it regularly so maybe 4 or 5 months maybe more. Again thanks for the help, this will help me a lot :D
  • Xin
    Posts: 3,251
    said:


    Oh that isn't too bad. I won't be solid studying but i will be doing it regularly so maybe 4 or 5 months maybe more. Again thanks for the help, this will help me a lot :D



    You can grasp the basics really soon in like 1-2 hours, then its just up to googling and researching the advanced areas. Depends how fast you are at learning
    Xin
  • wTg
    Posts: 38
    Thanks :) I have been looking at youtube today for tutorials and have already picked up some basic info.

    Are there any specific websites that you know of that could help me with the more advanced coding ?
  • Xin
    Posts: 3,251
    said:


    Thanks :) I have been looking at youtube today for tutorials and have already picked up some basic info.

    Are there any specific websites that you know of that could help me with the more advanced coding ?



    The python's own website has good descriptions of its libraries, for example say you wanted to get into the networking and sockets you could google that. Also thenewboston on youtube does loads of good programming tutorials
    Xin
  • m0rph
    Posts: 332
    said:


    well i started of with c/c++ then java then lisp and ruby but i recommend that u start with python and then lisp since it's functional language


    I have never seen an exploit programmed in lisp. I'm not doubting it's power or anything, but python, perl, ruby, and C are all intended for practical applications (which is what we as hackers target). lisp, delphi, and all that other stuff is more for the extreme programming hobbyists.


    @OP
    stick around here until I finish my exploit series. Granted it is taking me a while to complete, just stay informed. I wish someone would have gone through a buffer overflow demonstration for me when I was first getting serious about hacking.

    There will be a long and awkward transition from where you are now (noob level, no offense), to becoming a more experienced hacker. I don't know how to explain it, other than I just one day understood exploit code, and what it was doing. It was almost like an epiphany. I just all of a sudden knew what was going on.

    From what I've seen, perl and C are the most used languages for exploits, although python is quickly catching up. Thanks to the metasploit project, more people are looking into ruby as well.
    while( !(succeed = try() ) );
  • Sh3llc0d3
    Posts: 1,910
    Anyone wanting to learn this stuff needs to pay attention to M0rph, he knows his stuff. I'd say perl, if you want to be part of the 'new-breed' then python but i'd say perl is still the most used.

    I'd suggest learning a C language (C or C++) and a scripting language (perl, python or ruby). It will stand you in good stead for a lot of the hacking 'fields'.
  • Xin
    Posts: 3,251
    If you can code in C++ then its very easy to learn java and other languages. The two are simillar
    Xin
  • George
    Posts: 707
    php is a good language to learn, it's commonly used. I know HTML isn't a programming language, but a mark up text, but HTML would also be handy to learn. With the combination of HTML and php, you can create a decent website.