Help understanding progs
Results 1 to 8 of 8

Thread: Help understanding progs

  1. #1
    Member
    Join Date
    Jun 2003
    Posts
    58

    Question Help understanding progs

    Hi guys:

    I know this might be (most probably is) a newbie question, but I posted it in programing because it's more relevant to this. Here it is:

    I am wondering how it is that a program (for example, written in C++) can interact with other running programs in a pc. This might sound like a very hackish example, but it's the only relevant one I can find: For instance, a zip password cracker. I've seen them work. They crack it in the interface. So it must have some way of manipulating (if not at least reading) the zip file, right? There are other examples, like scanners and sniffers (like I said, hackish, but it's the best I can come up with) Please, enlighten me. My mind is in need of knowledge.

    P.S.:
    Anyone know a good sight with docs on writing assembly. MOV, MOV, ect, ect. It's always fascinated me (If you didn't notice, the only command I remember is MOV)
    \"I ONLY DRINK THE BLOOD OF MY ENEMIES....and maybe a strawberry yoohoo....and a...Pina Co-la-da!...
    If you like pina coladas....ugh!, gettin\' caught in the rain....ugh!\"
    -Sarge

  2. #2
    Member
    Join Date
    Jun 2003
    Posts
    58

    Question Help understanding progs

    Hi guys:

    I know this might be (most probably is) a newbie question, but I posted it in programing because it's more relevant to this. Here it is:

    I am wondering how it is that a program (for example, written in C++) can interact with other running programs in a pc. This might sound like a very hackish example, but it's the only relevant one I can find: For instance, a zip password cracker. I've seen them work. They crack it in the interface. So it must have some way of manipulating (if not at least reading) the zip file, right? There are other examples, like scanners and sniffers (like I said, hackish, but it's the best I can come up with) Please, enlighten me. My mind is in need of knowledge.

    P.S.:
    Anyone know a good sight with docs on writing assembly. MOV, MOV, ect, ect. It's always fascinated me (If you didn't notice, the only command I remember is MOV)
    \"I ONLY DRINK THE BLOOD OF MY ENEMIES....and maybe a strawberry yoohoo....and a...Pina Co-la-da!...
    If you like pina coladas....ugh!, gettin\' caught in the rain....ugh!\"
    -Sarge

  3. #3
    Senior Member
    Join Date
    Aug 2003
    Posts
    1,019
    Here is the motherload of assembly links (not really, but it's agood place to start)

    http://webster.cs.ucr.edu/

    Also, this:

    how it is that a program (for example, written in C++) can interact with other running programs in a pc.
    seemed like a perfectly legitimate question until this:

    This might sound like a very hackish example,
    Other than a (maybe) guilty conscience, why would you assume anybody would think anything different? Scanners and sniffers have perfectly legitimate uses...just ask your question. Somebody will let you know if it's not appropriate.

    EDIT: Just for clarification, I'm not making an accusation, just an observation.

    It's been my experience that the person that tells me "swear to God" or "honestly" is lying to my face, otherwise there would be no need to try and reinforce their honesty.

    That's just my opinion. Your mileage may vary.

    EDIT: To answer your first question, it doesn't matter which programming language is used, the end result is to send binary commands that the processor will understand and execute.

  4. #4
    Senior Member
    Join Date
    Aug 2003
    Posts
    1,019
    Here is the motherload of assembly links (not really, but it's agood place to start)

    http://webster.cs.ucr.edu/

    Also, this:

    how it is that a program (for example, written in C++) can interact with other running programs in a pc.
    seemed like a perfectly legitimate question until this:

    This might sound like a very hackish example,
    Other than a (maybe) guilty conscience, why would you assume anybody would think anything different? Scanners and sniffers have perfectly legitimate uses...just ask your question. Somebody will let you know if it's not appropriate.

    EDIT: Just for clarification, I'm not making an accusation, just an observation.

    It's been my experience that the person that tells me "swear to God" or "honestly" is lying to my face, otherwise there would be no need to try and reinforce their honesty.

    That's just my opinion. Your mileage may vary.

    EDIT: To answer your first question, it doesn't matter which programming language is used, the end result is to send binary commands that the processor will understand and execute.

  5. #5
    Senior Member
    Join Date
    Feb 2004
    Posts
    270

    program intercation

    Programs can interact on a number of levels. I only know about windows so here goes.

    A very logical and very easy to do is the windows api. This is the interaction of the program with windows. Like opening a new window when klicking on a certain button on a form when writing windows programs most of this code is taken over by for instance Visual C. But the windows API goes much further. You can activate other windows perform, select buttons and click them. Send text strings to certain controlls. You can read stuff about the windows api in lots of places try www.microsoft.com

    Then there is direct memory acces and modifacation. This is a harder piece of programming. Direct memory acces is performed in for instance trainers for certain games that give you unlimeted money or health "on the fly". This requires a lot of knolidge of the app you are changing because one wrong offset could crash it. This can also be found on the internet www.google.com

    A very sneaky thing wich i don't have a name for is fusing with the program in a number of way's like acting like a plugin. Or sneaking into a dll. This allows you to actually execute code like you are the program this is used in things like certain trainers for games and aimbots.

    I know very little about a archive protection but. I assume the program reads the archive finds the encrypted part and then brute forces with the same encrytion algorithem until it finds a match. No true "interaction" with a program. Tell me if I am wrong yust assuming here.

    Last thing is in a debug program like win32dasm or ollydbg. This is manual interaction you can change value's look up variables and stuff. It doesn't sound like you need this.

    Now for the first thing you need to read up on windows api programming and the likes. It's quite simple.

    For the second two you are going to need to do a lot of reading searching and trying out. It changes with every program and stuff.

    Now I don't have to tell you to use google for learning asmbler do I?
    Since the beginning of time, Man has searched for the answers to the big questions: \'How did we get here?\' \'Is there life after death?\' \'Are we alone?\' But today, in this very theatre, you will be asked to answer the biggest question of them all...WHO LIVES IN A PINEAPPLE UNDER THE SEA?

  6. #6
    Senior Member
    Join Date
    Feb 2004
    Posts
    270

    program intercation

    Programs can interact on a number of levels. I only know about windows so here goes.

    A very logical and very easy to do is the windows api. This is the interaction of the program with windows. Like opening a new window when klicking on a certain button on a form when writing windows programs most of this code is taken over by for instance Visual C. But the windows API goes much further. You can activate other windows perform, select buttons and click them. Send text strings to certain controlls. You can read stuff about the windows api in lots of places try www.microsoft.com

    Then there is direct memory acces and modifacation. This is a harder piece of programming. Direct memory acces is performed in for instance trainers for certain games that give you unlimeted money or health "on the fly". This requires a lot of knolidge of the app you are changing because one wrong offset could crash it. This can also be found on the internet www.google.com

    A very sneaky thing wich i don't have a name for is fusing with the program in a number of way's like acting like a plugin. Or sneaking into a dll. This allows you to actually execute code like you are the program this is used in things like certain trainers for games and aimbots.

    I know very little about a archive protection but. I assume the program reads the archive finds the encrypted part and then brute forces with the same encrytion algorithem until it finds a match. No true "interaction" with a program. Tell me if I am wrong yust assuming here.

    Last thing is in a debug program like win32dasm or ollydbg. This is manual interaction you can change value's look up variables and stuff. It doesn't sound like you need this.

    Now for the first thing you need to read up on windows api programming and the likes. It's quite simple.

    For the second two you are going to need to do a lot of reading searching and trying out. It changes with every program and stuff.

    Now I don't have to tell you to use google for learning asmbler do I?
    Since the beginning of time, Man has searched for the answers to the big questions: \'How did we get here?\' \'Is there life after death?\' \'Are we alone?\' But today, in this very theatre, you will be asked to answer the biggest question of them all...WHO LIVES IN A PINEAPPLE UNDER THE SEA?

  7. #7
    Ninja Code Monkey
    Join Date
    Nov 2001
    Location
    Washington State
    Posts
    1,027
    People are forgetting methods such as COM, DCOM, Corba, simply service interation (i contact program x on port y with program z), rpc, etc. There are a ton of ways for applications/services to interact. It all really depends on the environment and the best way the developers in question felt they could handle it with their resources/skillsets.
    "When I get a little money I buy books; and if any is left I buy food and clothes." - Erasmus
    "There is no programming language, no matter how structured, that will prevent programmers from writing bad programs." - L. Flon
    "Mischief my ass, you are an unethical moron." - chsh
    Blog of X

  8. #8
    Ninja Code Monkey
    Join Date
    Nov 2001
    Location
    Washington State
    Posts
    1,027
    People are forgetting methods such as COM, DCOM, Corba, simply service interation (i contact program x on port y with program z), rpc, etc. There are a ton of ways for applications/services to interact. It all really depends on the environment and the best way the developers in question felt they could handle it with their resources/skillsets.
    "When I get a little money I buy books; and if any is left I buy food and clothes." - Erasmus
    "There is no programming language, no matter how structured, that will prevent programmers from writing bad programs." - L. Flon
    "Mischief my ass, you are an unethical moron." - chsh
    Blog of X

Posting Permissions

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