How to get the source code of a software/program - Page 2
CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Page 2 of 2 FirstFirst 12
Results 16 to 24 of 24

Thread: How to get the source code of a software/program

  1. #16
    Join Date
    Sep 2000
    Location
    Indianapolis
    Posts
    6,421

    Re: How to get the source code of a software/program

    I just wanted to clarify my comment ---

    I agree that learning to program by looking at existing code is a good thing. Compiling other people's code then messing with it to see what happens is a fantastic way to learn. In fact, in some of the books I write, I created an element called "Type and Run" that's primary focus was exactly that -- you type in a mor4e complete program, compile, and run it. This program could then be played with to learn.

    What I consider bogus is saying you need to decompile an existing program to learn how to program. There is enough available code that decompiling or cracking executable programs isn't needed.

    As to trying to learn a programming language -- for the newbie, C++ and Java are both a bit more complex. I'd suggest starting with an interpreted language such as Visual Basic or C#. Of course, finding a good book or tutorial to start with never hurts!

  2. #17
    Join Date
    May 2009
    Posts
    2,413

    Re: How to get the source code of a software/program

    Quote Originally Posted by Brad Jones View Post
    As to trying to learn a programming language -- for the newbie, C++ and Java are both a bit more complex. I'd suggest starting with an interpreted language such as Visual Basic or C#. Of course, finding a good book or tutorial to start with never hurts!
    The complexity of a programming language isn't determined by how it's executed. In fact runtime systems aren't even part of languages per se. Any language can and most languages are being executed on several different runtime systems ranging from pure static compilation to pure dynamic interpretation to all sorts of mixes thereof.

    So sure, some may consider C# easier to learn than Java but that's hardly due to how a program is made to run once written. Besides, the dominant runtime systems of these languages, the CLR and the JVM respectively, are virtually identical so that's not a distinguishing factor. I wouldn't claim Java is easier but it definately is the smaller more conservative language. Except for generics Java has stayed almost unaltered over the years while C# has grown substantially and is now challenging C++ in size. In this respect Java is far less complex than C#.

    But for a newbie to programming the choise of language isn't that crucial because then it's more about the programming process rather than the language itself. Any multi-paradigmic language should do just fine. I suggested Java not for ease of learning but because it's the most "popular" of the modern general purpose languages. I know the Tiobe index can be criticised in all sorts of ways. Still, although not very precise it's an important indicator of actual language use I think,

    http://www.tiobe.com/index.php/conte...pci/index.html
    Last edited by nuzzle; March 24th, 2013 at 07:14 AM.

  3. #18
    Join Date
    Mar 2013
    Posts
    9

    Re: How to get the source code of a software/program

    Do you suggest any good tutorial?

    EDIT: I can't afford to buy any book, sorry.
    Last edited by wkwkwkwk1; March 23rd, 2013 at 04:27 AM.

  4. #19
    Join Date
    May 2009
    Posts
    2,413

    Re: How to get the source code of a software/program

    Quote Originally Posted by wkwkwkwk1 View Post
    Do you suggest any good tutorial?

    EDIT: I can't afford to buy any book, sorry.
    If you're interested in Java there are quite a few free e-books. This seems to be one of the better,

    http://it-ebooks.info/book/255/

    It covers Java up to version 5. That's no longer the latest version since 8 will soon be introduced. But it's not a big restriction because version 5 was the most substantial update in the history of Java (most importantly introducing generics essentially doubling the complexity of Java in one go). Since then there has been smaller changes only of minor importance to a newbie. But you should download the latest version of Java of course.

    Java has a large user community and there are several forums available. Apart from the one here at Codeguru there's also Oracle's own and Javaranch to name a few,

    http://www.javaranch.com/
    Last edited by nuzzle; March 24th, 2013 at 07:16 AM.

  5. #20
    Join Date
    Mar 2013
    Posts
    9

    Re: How to get the source code of a software/program

    Thank you!

  6. #21
    Join Date
    May 2009
    Posts
    2,413

    Re: How to get the source code of a software/program

    Quote Originally Posted by wkwkwkwk1 View Post
    Thank you!
    You're wellcome.

    And don't give up too easily. I'd say it takes something like 3-5 years to become fluent in Java. At least I needed that long to assimilate all new concepts to the point where they felt natural. I had a strong C background and maybe that was a disadvantage really. It may be easier to grasp object orientation if you're not too set in the procedural way of programming. Good luck.

  7. #22
    Join Date
    Jan 2010
    Posts
    1,099

    Re: How to get the source code of a software/program

    Yeah - Java with the Eclipse IDE is probably a good choice. I must agree that certainly C# isn't simpler - but I think the learning curve for it is pretty much the same as for Java, except if you get lost in some of the features added in the later versions of the language, without actually learning the fundamentals. I think it's better to learn C++ after you've become familiar with a different, more OO language (don't get me wrong, C++ is considered an OO language, however, this paradigm is not really enforced, it's rather an option, so some discipline on the part of the programmer is required - this is nice and flexible on one hand, but requires some experience on the other). Also, once you learn one language, you'll see that other languages are based on similar concepts.

    So, pick a language you can find books, tutorials and tools for, and just start coding. Also make sure that you learn how to do basic debugging early on (beginners often think that is terribly complicated, but it's actually rather simple) - this will allow you to step through your program, executing line by line, checking values of variables as you go, and actually seeing in "slow-mo" what is going on as your program executes, and this will significantly help your understanding. Once you learn enough of the syntax, maybe find some simple programming problems to work on - just to get a better grasp on how to use what you learned so far. Write various test projects all the time - just to see what something does, what to expect, etc. Read stuff and practice, practice, practice. And, of course, use use the forms (here or wherever) to ask questions and enter discussions.

    Regarding your original question - some code can be decompiled, some code might be freely available as open source; however, just looking at the code won't help you much if you can't understand it - this is why you must have a working knowledge of programming first (not so much a knowledge of a specific language, but the knowledge of how the more basic stuff is done) - so that you can understand how different parts of the program interact. But, yeah, open source code is a valuable resource to learn from.
    Last edited by TheGreatCthulhu; March 24th, 2013 at 03:29 PM.

  8. #23
    Join Date
    Apr 2000
    Location
    Belgium (Europe)
    Posts
    3,782

    Re: How to get the source code of a software/program

    Quote Originally Posted by Brad Jones View Post
    General comment --
    The reason there aren't books on how to break into people's houses for sale is because the person that writes the book could become liable if someone uses it and then breaks into a house. The same could be said to be true for breaking into software.
    Oh... you seem to be assuming there aren't any books on how to break into someone's house. that just isn't true...
    Of course, the title won't be "How to break into someone's house"... but how about something like this book on Amazon here...


    As a general rule, information and books on a wide variety of subjects are available, because there are legitimate uses for them. (learning how to be a professional locksmith for example).

    The same is true for programming, there are legitimate reasons for reverse engineering, learning how virusses work (to write anti-virusses), how hackers work (to become beter at writing security) how cheaters work (to become better at stopping them), ...


    In fact, there is so much good code out there that is open, that it makes the concept of cracking/hacking code to learn seem.... bogus.

    Just my perspective....
    A valid perspective, although maybe a narrow one.

    How about...
    Software that the original manufacturer has stopped supporting (maybe they went out of bussiness), and that you need to somehow maintain...
    In that case, reverse engineering to recreate the program, API hooking, application hooking, and other forms of bit twiddling might be a necessity. It's a very specific type of programming, sure, but saying it has no legit use is wrong.

  9. #24
    Join Date
    Mar 2013
    Posts
    9

    Re: How to get the source code of a software/program

    Thank you!

Page 2 of 2 FirstFirst 12

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Azure Activities Information Page

Windows Mobile Development Center


Click Here to Expand Forum to Full Width

This is a CodeGuru survey question.


Featured


HTML5 Development Center