[Help]In need of some guidance regarding ME, ASM and programing. menu

User Tag List

Results 1 to 11 of 11
  1. #1
    Parog's Avatar Kitsune Da-O! M.L.G. CoreCoins Purchaser Authenticator enabled
    Reputation
    1528
    Join Date
    May 2007
    Posts
    3,160
    Thanks G/R
    540/266
    Trade Feedback
    20 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    [Help]In need of some guidance regarding ME, ASM and programing.

    I've never been one to promote spoon feeding, and I quite enjoy figuring out things myself, but I come here today asking for advice. Sorry for the long read in advance, I just want you to know where I'm at in all this.

    I'm facing issues in the small projects I set for myself.

    Here's what my end goal is:

    Creating tons of small hacks for online flash games on Facebook that are user friendly and eventually merge them all into a client of some kind that requires authentication. Once I manage that, I plan to move on to MMORPG hacking and get more serious about it.

    Here are the issues I'm facing:

    -I don't have enough knowledge of C++ to write my own program from scratch to memory edit yet, although I have seen and can understand how most injectors and hacks work through the source code. I can read code and figure it out most times, I just can't write it yet.
    -I don't have enough knowledge of assembly language or most debuggers unless it's CE, and then again, sometimes I have issues finding base pointers with it. When I do find it, I have no clue what to do with it.
    -I get horribly bored with C++ and tend to waste time testing the various things I can change for shits and giggles in the exercises that are given to me. Most times I end up figuring out what is written a few pages away, but feel like I wasted way too much time on it. I understand that can be a good thing given the nature of the things I intend to do, but it's getting in my way at the moment.

    I tend to start things and get sidetracked by something really interesting that I want to investigate, and it tends to delay my projects quite a bit.

    I'd like to know your stance on what I should do first. Did you face those issues when you were starting to memory edit? How did you overcome them?

    Also, I know there's a ton of books I could read, but I'm wondering a few things.

    I'm currently reading; Sams Teach Yourself C++ in One Hour a Day (6th Edition) ( Stalled after the pointers section as I daydreamed about all the possibilities ) & The Secrets of Reverse Engineering ( Stalled, not far in ). I plan to read both and apply that knowledge to my project, I just wonder if reading The Secrets of Reverse Engineering without being able to write my own intricate and complicated C++ program will do me any good? I dread sitting down and cramming, but I have to do this to get where I want to be. I would prefer reading about Reverse Engineering first, but I fear not being able to apply it. ( Although I understand it so far )

    Will those 2 books teach me enough to understand opcode and use it effectively? I'd hate to overlook something and find out months later the answer was right in front of me from the start. If not, what's a small read pertinent to what I'm trying to achieve?

    Seeing as I'm doing all this on a 64 bit processor, is there anything I should pay attention to more than anything? ( Other than leaving inline assembly out of my code )

    That's about it. Halp!

    EDIT: With Jadd's advice, I'll finish the C++ book, then the reverse engineering and go straight to WoW trial accounts to play with player automation and go from there. If you have any idea, feel free to let me know!
    Last edited by Parog; 08-15-2012 at 03:39 PM.
    What's a Parog?
    Looking for competitive Valorant team!

    [Help]In need of some guidance regarding ME, ASM and programing.
  2. #2
    FuryExploiting's Avatar Contributor
    Reputation
    166
    Join Date
    Mar 2012
    Posts
    340
    Thanks G/R
    0/0
    Trade Feedback
    2 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I can't contribute with helping you (yet) - but it's great to see that more people are getting interested in programming!

    I can however recommend: thenewboston.org
    enthusiastic forum participant (est. 2012)

  3. #3
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Don't hack browser games. Reversing them is generally a brain****.

  4. #4
    Parog's Avatar Kitsune Da-O! M.L.G. CoreCoins Purchaser Authenticator enabled
    Reputation
    1528
    Join Date
    May 2007
    Posts
    3,160
    Thanks G/R
    540/266
    Trade Feedback
    20 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Jadd View Post
    Don't hack browser games. Reversing them is generally a brain****.
    Yeah... Now that I think about it, perhaps I shouldn't start with that. I remember all the things that can be done through flash to prevent reversing. Any specific game you can think of that could help in my current situation?
    What's a Parog?
    Looking for competitive Valorant team!

  5. #5
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Parog View Post
    Yeah... Now that I think about it, perhaps I shouldn't start with that. I remember all the things that can be done through flash to prevent reversing. Any specific game you can think of that could help in my current situation?
    World of Warcraft. There's an insane amount of information available (more than any other game I've seen). It's the perfect starting area.

  6. #6
    Parog's Avatar Kitsune Da-O! M.L.G. CoreCoins Purchaser Authenticator enabled
    Reputation
    1528
    Join Date
    May 2007
    Posts
    3,160
    Thanks G/R
    540/266
    Trade Feedback
    20 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Jadd View Post
    World of Warcraft. There's an insane amount of information available (more than any other game I've seen). It's the perfect starting area.
    I don't have a great understanding of Warden, couldn't that get in my way seeing as I like to tinker a lot? I don't have an account at the moment either. Also, other than using cheat engine, I don't have much knowledge of how to edit memory. Do you recommend finishing that C++ book before I finish my read of Secrets of Reversing?
    What's a Parog?
    Looking for competitive Valorant team!

  7. #7
    Jadd's Avatar 🐸 Premium Seller
    Reputation
    1515
    Join Date
    May 2008
    Posts
    2,433
    Thanks G/R
    81/336
    Trade Feedback
    1 (100%)
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Parog View Post
    I don't have a great understanding of Warden, couldn't that get in my way seeing as I like to tinker a lot? I don't have an account at the moment either. Also, other than using cheat engine, I don't have much knowledge of how to edit memory. Do you recommend finishing that C++ book before I finish my read of Secrets of Reversing?
    Make trial accounts. If you get banned (not likely), no big deal.

    I recommend reading your books first, for sure. If you get lost on any of the topics they're explaining, go and play around with it yourself.

  8. #8
    Empted's Avatar Contributor
    Reputation
    83
    Join Date
    Aug 2011
    Posts
    117
    Thanks G/R
    0/5
    Trade Feedback
    2 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just make some goals and achieve them. There's nothing in programming skill here, really. You don't need to be able to make some really complex programs. The main thing is to be able to make algorithm of what you want your program to do, but not to create this program yourself. The thing that will help you is knowing some Windows API to be able to read/write to WoW mem and some knowledge of process memory organization.
    I started writing WoW tools not so long ago and just was making some small goals like moving, facing, attacking, lua performing and so on. Here is tons of information about anything you'll need.
    What's about ASM and debugging, it's usefull if you want to make things by yourself, but if you don't want to fight with ASM then you can do fine without it (but it is good for you if you understand in what way you do things inside of WoW process or you can reverse any lua function you need to implement in your tool). And what's about warden, i never knew anything about it, but the adresses it scans and i just avoid writing at those. Some things are not that easy to handle with, but results are really impressive to see, when your character do anything without you or when you render WoW maps and models. It's very exciting.
    Last edited by Empted; 08-15-2012 at 06:12 PM.

  9. #9
    Bananenbrot's Avatar Contributor
    Reputation
    153
    Join Date
    Nov 2009
    Posts
    384
    Thanks G/R
    1/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I would not recommend learning ASM (and therefore reading Reversing) until you have a profound understanding of C++. This includes pointers and structure layout in memory in particular. The time you feel comfortable with the (most commonly used) implementation of vtables, you are ready to pick up the ASM side track. Note that this doesn't mean you are done with learning C++ (*), templates and stuff do really increase productivity (or rather code duplication.. which means a decrease in bug count and a plus in maintainability).
    I'm actually using my long term goal of writing a bot as a 'playground' for improving my C# and overall programming skills. I also get sidetracked many times while developing, but I let it go, because for me it doesn't really matter if I get a feature and bug rich bot compared to the effect that 'playing around' has on my programming skills.

    *actually I don't think you can be done with learning idiomatic C++ in less than 3 years with practicing it ~2 hours a day

    Edit: As for books... I can't say much, but learn ... in x hours/days/weeks is the wrong way of putting it. Pick one of http://tinyurl.com/so-cxxbooks, I can recommend the C++ Primer.
    Last edited by Bananenbrot; 08-15-2012 at 08:23 PM.

  10. #10
    Parog's Avatar Kitsune Da-O! M.L.G. CoreCoins Purchaser Authenticator enabled
    Reputation
    1528
    Join Date
    May 2007
    Posts
    3,160
    Thanks G/R
    540/266
    Trade Feedback
    20 (100%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by FuryExploiting View Post
    I can't contribute with helping you (yet) - but it's great to see that more people are getting interested in programming!

    I can however recommend: thenewboston.org
    Listening to those videos and although he does skip a lot, like naming conventions and such and has some coding habits I don't agree with, this is fantastic. I feel like I'm going through it like a breeze and it's to the point with lots of examples. Thank you bro!



    Originally Posted by Bananenbrot View Post
    I would not recommend learning ASM (and therefore reading Reversing) until you have a profound understanding of C++. This includes pointers and structure layout in memory in particular. The time you feel comfortable with the (most commonly used) implementation of vtables, you are ready to pick up the ASM side track. Note that this doesn't mean you are done with learning C++ (*), templates and stuff do really increase productivity (or rather code duplication.. which means a decrease in bug count and a plus in maintainability).
    I'm actually using my long term goal of writing a bot as a 'playground' for improving my C# and overall programming skills. I also get sidetracked many times while developing, but I let it go, because for me it doesn't really matter if I get a feature and bug rich bot compared to the effect that 'playing around' has on my programming skills.

    *actually I don't think you can be done with learning idiomatic C++ in less than 3 years with practicing it ~2 hours a day

    Edit: As for books... I can't say much, but learn ... in x hours/days/weeks is the wrong way of putting it. Pick one of http://tinyurl.com/so-cxxbooks, I can recommend the C++ Primer.
    Thanks! When I first wanted to pick up C++ I had to go with C++ Primer Plus as the primer was "too hard" lol.

    The title of that book makes it sound horrible, but it's divided in about a hundred chapters that take about an hour each to complete. Each chapter has activities and a quiz at the end to put your knowledge on the current chapter to the test all while making sure you didn't forget the last few chapters you read. You have to apply everything you've learned so far on most activities. It's similar to C++ Primer in the amount of information it provides on the subject but it's worded differently and easier to understand for me I guess.

    I will finish all 72 videos that were linked earlier before continuing on with The Secrets of Reversing.

    I'm glad to know messing around with your project and trying new things is not mostly just a big waste of your time in programing like it is for things like when you are cleaning your house or doing a 100m dash.

    Thanks!

    Originally Posted by Empted View Post
    Just make some goals and achieve them. There's nothing in programming skill here, really. You don't need to be able to make some really complex programs. The main thing is to be able to make algorithm of what you want your program to do, but not to create this program yourself. The thing that will help you is knowing some Windows API to be able to read/write to WoW mem and some knowledge of process memory organization.
    I started writing WoW tools not so long ago and just was making some small goals like moving, facing, attacking, lua performing and so on. Here is tons of information about anything you'll need.
    What's about ASM and debugging, it's usefull if you want to make things by yourself, but if you don't want to fight with ASM then you can do fine without it (but it is good for you if you understand in what way you do things inside of WoW process or you can reverse any lua function you need to implement in your tool). And what's about warden, i never knew anything about it, but the adresses it scans and i just avoid writing at those. Some things are not that easy to handle with, but results are really impressive to see, when your character do anything without you or when you render WoW maps and models. It's very exciting.

    The confusing part of all this is that I spend years watching this section grow and source code being shared, looked at people helping each other and I couldn't help but finally understand bits and pieces of what I had seen over the years.

    I look up to certain people in this section as well, and up until now, it was not a goal that made me want to learn and do all this, but a hope to be as successful as some of those people are or have been. Not money wise, but knowledge wise. I'd say Cypher is my biggest influence, making me understand that with a black and white mentality it's near impossible to do what I wanted to do. That was my downfall the first 3 times I tried swallowing a C++ brick expecting it to be clear as water every time.

    As far as making complex programs, I think I'm over thinking this and should just read the 2 books and go from there. I'm far from where I was 2 years ago and I wish to look back 2 years from now and call myself a determined idiot if I ever read this post again.

    I'll make the call once I'm done with both the C++ and secrets of reversing books if I really want to get into ASM right away. Thinking about it doesn't do me much good.

    I gave reputation to all those who helped in this thread. Thank you again!
    Last edited by Parog; 08-15-2012 at 09:52 PM.
    What's a Parog?
    Looking for competitive Valorant team!

  11. #11
    jjaa's Avatar Contributor
    Reputation
    245
    Join Date
    Dec 2006
    Posts
    562
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    You should know all the language features of C++ and roughly how they map to the compiled version. You will need intermediate knowledge of C++, you are after all reversing a C++ application. However, you don't really need to be an expert in C++, and i definitely wouldn't recommend writing simple non-performance critical applications in it. Its been a very long time since i've written a full application in C++, you just don't need it. I also agree with others, WoW is an excellent reversing playground. No obfuscation, no real anti-cheat and tons of information.

Similar Threads

  1. [Tool] [HELP] i need wow luncher to work on LAN and how to set up server
    By metalooo in forum WoW EMU Programs
    Replies: 0
    Last Post: 08-04-2011, 06:25 AM
  2. [Help] Some questions regarding my Database, and hacks.
    By Ashmund in forum WoW EMU Questions & Requests
    Replies: 4
    Last Post: 04-17-2009, 12:59 AM
  3. [HELP]I need some help will +REP
    By C.C. in forum World of Warcraft Emulator Servers
    Replies: 5
    Last Post: 02-08-2008, 08:57 PM
  4. In need of some quick help
    By Abcdetc in forum WoW ME Questions and Requests
    Replies: 3
    Last Post: 08-13-2007, 05:11 AM
All times are GMT -5. The time now is 07:28 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search