HAVEN'T GOTTEN ANSWERS ELSEWHERE!!! - Programmers Heaven

Howdy, Stranger!

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

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

HAVEN'T GOTTEN ANSWERS ELSEWHERE!!!

Hello,

I am inquiring about 2 things:

1) How do you Identify what language a program is written in (I.E. Notepad is written in (C++, Assembly, or ...)). I would like to know how to tell what any given program or applicaton is written with.

2) What or where would you recommend I start to learn programming? I learned TRS-80 Basic in middle school. I then went on to learn Basic for the Commodore VIC-20. I was taught very little assembly and some Visual Basic 6.

I would like to learn about the lowest level of programming possible. I understand it to be the most difficult, but also the most powerful (by powerful I mean it will undermine an operating system, where Visual Basic runs on top of the operating system).

I believe I have a pretty good idea already about this, but would like to get the opinions of some experienced programmers regarding their beliefs and experiences.

As a Network Administrator I believe the best defense is knowing how people infiltrate systems. That means being a good Hacker/Cracker. Likewise being good at stopping viruses or knowing when one is or is not a virus is knowing how and what language they are written in.

I intend to decompile some programs labeled viruses, because there is controversy surrounding one that the publisher insists is not a virus even though the anti-virus claims it is.

The biggest reason for the concern is if the anti-virus labels a given program a virus, then you must trust the person giving it to you or risk being violated. The recommendation that I place this program in my exclusions list so that the anti-virus ignores it is ridiculous to me. I would never consider that.

Any help would be greatly appreciated.

Thank you,

Tom Daniels

Comments

  • 684867684867 Posts: 110Member
    [b][red]This message was edited by 684867 at 2004-12-30 17:0:47[/red][/b][hr]
    1)Best Source of education is the book. Get a book. It's how I learn new languages. Once you've got one or two languages down you can teach yourself.

    2)Viruses can be written in almost any language. Slammer was developed using (of all things) SQL and a good knowledge of machine language. Knowing how they work and how to prevent them is a more abstract issue than the language. One must look first at the mechanics of the computer and then at the concept of the replicating automaton.

    3) Assembly is actually not that hard. But it is best only for isolated needs. C++ is recommended for any real projects. Within the C++ code you can embed assembly routines.

    ****************************************
    Excellence Breeds! Go Hard or Go Home.

    Let Penguins rule the earth.
    Break some windows today.



  • AlexandrescuAlexandrescu Posts: 66Member
    [b][red]This message was edited by Alexandrescu at 2005-4-26 9:14:55[/red][/b][hr]
    About detecting which language was used for developing an application:
    ----------------------------------------------------------------------
    Every single *compiler* must insert a speciffic code, called *startup code*, *at the very begining* of any program's main code segment. That's because the startup code enables the application to use whatever library functions it applies to. Sometimes the startup code is called "unlock code" because it acts like it unlocks those library functions.
    Because every single compiler uses it's own libraries, the startup code is uniquelly assigned to any compiler-libraries couple. Therefore the startup code can be used as any compiler's blueprint that will enable you to tell not only which language was used, but which compiler was used.
    [ Example: this programm was developed using "BORLAND C++ 2.0 ]

    Here comes the tough part: you have to make a two column table containing sutch startup codes and the corresponding compiler.

    About what language to learn:
    ---------------------------------
    First you must have a clear ideea about programming paradigms. In order to learn something about that, check the following link:

    http://www.google.com/search?q=programming+paradigm&sourceid=opera&num=0&ie=utf-8&oe=utf-8

    Then is up to you which language to peek.

    HINT: peek a mature, standardized language for every nowadays paradigm.






  • thomas_d9thomas_d9 Posts: 13Member
    : [b][red]This message was edited by Alexandrescu at 2005-4-26 9:14:55[/red][/b][hr]
    : About detecting which language was used for developing an application:
    : ----------------------------------------------------------------------
    : Every single *compiler* must insert a speciffic code, called *startup code*, *at the very begining* of any program's main code segment. That's because the startup code enables the application to use whatever library functions it applies to. Sometimes the startup code is called "unlock code" because it acts like it unlocks those library functions.
    : Because every single compiler uses it's own libraries, the startup code is uniquelly assigned to any compiler-libraries couple. Therefore the startup code can be used as any compiler's blueprint that will enable you to tell not only which language was used, but which compiler was used.
    : [ Example: this programm was developed using "BORLAND C++ 2.0 ]
    :
    : Here comes the tough part: you have to make a two column table containing sutch startup codes and the corresponding compiler.
    :
    : About what language to learn:
    : ---------------------------------
    : First you must have a clear ideea about programming paradigms. In order to learn something about that, check the following link:
    :
    : http://www.google.com/search?q=programming+paradigm&sourceid=opera&num=0&ie=utf-8&oe=utf-8
    :
    : Then is up to you which language to peek.
    :
    : HINT: peek a mature, standardized language for every nowadays paradigm.
    :
    :
    :
    :
    :
    :
    :
    I posted this in here about 20 - 30 different places and ways. I received very informative answers from many people in here and each had a unique way of stating their replies.

    I found that many of them gave me valuable insight into what I am looking for. I am sorry to say I did not reply to all of them, even though I thought they were helpful to me.

    Your reply was by far the most intellectually challenging response I have received. I felt compelled to respond and say that you have done as I do to many people when I am asked questions, you left me with more questions than when I started.

    You also gave me what I hope I give in my answers to others, a place to get these questions answered too. I do not wish to make any of the others who responded feel their answers were not as good, instead I would say that each was invaluable in unique ways.

    I did like your style of answer better than most though.

    Thank you very much! :)
Sign In or Register to comment.