1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

How to make bots. Where do I begin?

Discussion in 'BlackHat Lounge' started by michaeladewale2010, Sep 25, 2016.

  1. michaeladewale2010

    michaeladewale2010 Junior Member

    Joined:
    Jan 14, 2015
    Messages:
    185
    Likes Received:
    62
    Hello guys I have no programming skills really besides basic html and css but I've learned that knowledge is the only thing that can substitute for money power in this IM industry so I figured if I don't have the funds to buy the best bots out there, I can of course learn how to create them.

    So my question is where do I begin? What programming languages do I have to learn first? Or what tools are available to help in this pursuit? I really want to learn this as the be drugs are unlimited. Its going to decrease my cost of labor tremendously and I can be a lot more productive. Any advise is greatly appreciated. Thanks

    Also I searched the whole forum but couldn't find any such guide to help.
     
  2. DrPorn

    DrPorn Junior Member

    Joined:
    Mar 20, 2016
    Messages:
    124
    Likes Received:
    191
    I've been writing bots for around 7 years. I've used a number of languages so hopefully my advice will be useful for you.

    Browser Based Bots

    Browser based bots are bots that run in a web browser. You use extensions such as iMacros or other tools. I've never had the need or desire to use these types of botting extensions so I can't comment on them.

    If you want to do browser based bots I would seriously consider Tampermonkey. You can write bots in JavaScript that utilize the browser. This is a much more powerful way of writing browser bots. I have used Tampermokey a lot and will often sell scripts to clients that use Tampermonkey because they're easy to work with for them.

    You can also create native Firefox or Chrome extensions. They work well too depending on the use case.

    Headless Browser Bots

    A headless browser is a browser that runs in the background. It's invisible. You program it to perform actions on a website. For example, if you write a bot to post status updates on Facebook using a headless browser, when you run the bot it will literally navigate to Facebook and perform the required actions to login. You just don't see it.

    I used a headless browser to create a Facebook Ad Scraper for a client. It worked out very well.

    Here's a couple of popular headless browsers:
    • Selenium
    • Webkit
    • PhantomJS
    • CasperJS
    • NightmareJS
    There's more ... but those are the ones I use.

    HTTP Bots

    A http bot can be written in any language that can send HTTP requests. Everything that you do on the Internet is done with HTTP requests. When you enter your login details on Facebook and press "login" it sends a HTTP POST request to Facebook with the required data to perform the login.

    When writing HTTP bots you have to clone this request and rewrite it in your language of choice passing in the required data (username, password, a csrf token if one is required).

    HTTP bots are my favourite. People think that websites that use Ajax are secure from these types of bots. That's incorrect because you just make a HTTP request to the Ajax endpoint. Easy.

    Things can get tricky though. For example a site that relies on JavaScript can seem impossible to bot. I once did a client job on a site that set the CSRF token with JavaScript. The method for generating the token was obfuscated hidden deep in their JavaScript. It relied on other data to generate the token. I basically had to replicate these methods in my bot to generate the correct token.

    Recommended Languages
    • Python
    • NodeJS
    • Bash
    • C#
    • JavaScript
    • Go
    • C/C++
    Scripts vs. Desktop Applications

    I started writing bots using .NET. I would create complete desktop applications with lots of features and buttons on the GUI.

    Later I ditched Windows for Linux and could no longer create bots with a GUI unless I stuck to using Windows, or invested some time into using Qt. I had to find another way.

    I started scripting. Which means writing small scripts or programs that can be ran on the terminal. After a while of doing this, and learning Linux, I felt like I just levelled up into a completely new level of bot writing.

    Some bots could be written in pure bash utilising Linux programs such as cURL, grep, sed and awk. Seriously, you can write some powerful bots in Bash alone. What I loved about Linux and scripting was I could put things into cron jobs, or pipe the output of one bot into the input of another. You can also utilise databases such as Redis, or message queues like ZeroMQ much easier.

    The Unix philosophy is true. Write lots of small programs and together they make a large application. Which is what I do now. I will script a lot of small utilities in NodeJS, Python or C and chain them together in any fashion I like.

    The benefit of doing it this way means I can spin up a server on Amazon or Digital Ocean, pull in my scripts from my repo's and hey presto I now have a dedicated box running my bots 24/7 :)

    I rarely create applications with a GUI unless they're intended for commercial use. The development time takes much longer, and when it comes to putting it on a server and utilising automation things get costly and more of a challenge.

    I hope the advice has been useful. If you have any questions at all feel free to ask.
     
    • Thanks Thanks x 18
  3. jamie3000

    jamie3000 Supreme Member

    Joined:
    Jun 30, 2014
    Messages:
    1,411
    Likes Received:
    652
    Occupation:
    Finance coder looking for semi-retirement
    Location:
    uk
    Ive been coding for 20 years and botting for about 5. You won't get much of a better answer than the above. Very detailed and accurate. Might also be worth getting a copy of fiddler. It lets you see http traffic so you can simulate requests :)
     
    • Thanks Thanks x 2
  4. michaeladewale2010

    michaeladewale2010 Junior Member

    Joined:
    Jan 14, 2015
    Messages:
    185
    Likes Received:
    62
    Even though I only understand 20% of what you said I will begin by what I understand and follow through. Can I add u on Skype to stay in touch?
     
  5. ZennoBlaster

    ZennoBlaster Senior Member

    Joined:
    Jan 17, 2014
    Messages:
    1,029
    Likes Received:
    310
    I don't programme, but made decent bots from Zennoposter. I tried uBot (the full dev ed), and I didn't get on with it that well.
     
    • Thanks Thanks x 1
  6. blogtaufiq

    blogtaufiq Junior Member

    Joined:
    Mar 22, 2011
    Messages:
    149
    Likes Received:
    10
    i use ubot. i also do not know about programming. with ubot i can make bot easily. it just drag and drop. you can check it on youtube
     
    • Thanks Thanks x 2
  7. samcram

    samcram Junior Member

    Joined:
    Sep 10, 2014
    Messages:
    138
    Likes Received:
    36
    Occupation:
    SEO
    Location:
    Moscow
    Home Page:
    I recommend start from ZennoPoster - best tool for beginers
     
    • Thanks Thanks x 1
  8. AryabhattZero

    AryabhattZero Power Member

    Joined:
    Jul 28, 2015
    Messages:
    771
    Likes Received:
    300
    I just loved your answer.
    Soon I'll contact you with a order for a custom bot :)
     
  9. Joseph Lich

    Joseph Lich BANNED BANNED

    Joined:
    Nov 25, 2015
    Messages:
    402
    Likes Received:
    79
    There is a tool which has browsers "kernel" and http interceptor.
    Database ensure make tons of bots.
     
    • Thanks Thanks x 1
  10. bae

    bae Newbie

    Joined:
    Sep 9, 2016
    Messages:
    28
    Likes Received:
    26
    Gender:
    Male
    Location:
    Portugal
    What DrPorn said is great for you. Let me just add a few notes in the hope you can understand.

    You'll see a lot about creating bots using iMacros or similar, which mean you record actions (either with a screen/capture, mouse events and keyboard) or defining a list of actions like enter site, put text in this textbox, submit this button, etc. I don't recommend this if you really want to learn how to develop "bots".

    Now i quoted bots because you aren't really programming bots. You're writing a code to execute something, a bot is totally different from what we're discussing here. Go for python or PHP, i prefer C# but it'll be a pita for you as the most examples/discussions you'll find are on PHP or python. This are server side languages, you write scripts instead of defining actions like the browser stuff DrPorn said.

    Imagine this flow of commands:
    • http_get('httpx://m.facebook.com')
      This command will get the mobile version of facebook website. It's easier to use mobile versions of websites for writing custom scripts
    • http_post(httpx://m.facebook.com')
      Send a POST request to the URL containing this data: {username: '[email protected]', password: '123'}. You'll then learn that facebook sent others params to protect itself like random parameters that must be re-sent to them in the data.
    • read_post
      Now you'll read what you received from http_post and you'll use that information to do authenticated actions. Facebook responded an cookie with the authentication information
    • http_post('httpx://m.facebook.com/publish) - you send a publish request to facebook


    In the above example you're writing a custom script. Another option is to use the Facebook SDK. They give you a software development kit that you can use to interact with Facebook but it isn't the same as the above method because they know the actions you're performing are done by a third party application (the same way you see posts with a link to applications that post by phone, or a website that post to your profile. Those applications request your permission to publish in your behalf.

    With the iMacros (web based "bots") you don't have this power, you just define actions. Programming you can check if everything is ok, you can extend the stuff to another level like using several VPNs, etc.

    A real bot is something that is excepted to handle different situations re-authentication, handling recaptcha requests, etc. It isn't just a script that do what you want (scrape, and publish) but has a way more complex rules and reason to exist (scrape, check if already published or not, check if is viral, then where, if it's not competitive but viral share and send PM to friends, add query params to links to see reports on each action, give reputation/based to actions/report to see what works best in scrape/viral content, adjust the algorithm to improve, etc).

    I myself have been programming for +10 years and teaching software programming for +4 years and can confirm that you can learn this type of programming in a matter of days. You'll have to study specific stuff like HTTP handling or DOM manipulation but it's easier to learn software programming now than it was 5 years ago.

    A small tip: unless you get a teacher to give you private lessons, never pay for content to learn basic software programming. Never mate, you don't need it because guys like me explain it a lot on several websites/blog in order to gain users attentions. You pay to learn hard stuff like low level programming languages or areas not much coverage on web but writting python and PHP scripts to do this? You've a lot :)
     
    • Thanks Thanks x 2
    Last edited: Sep 25, 2016
  11. Noah Hawryshko

    Noah Hawryshko Senior Member

    Joined:
    Apr 28, 2016
    Messages:
    871
    Likes Received:
    729
    Gender:
    Male
    Occupation:
    Biotechnology Engineer at Silph. Co, Saffron
    Location:
    Kanto
    Tell me again why you're not a Jr. VIP and don't have a sales thread? :)
     
  12. jonwilliams

    jonwilliams Junior Member

    Joined:
    Jun 22, 2016
    Messages:
    188
    Likes Received:
    23
    Gender:
    Male
    Home Page:
    I think ubot would be best option to start making bots. It easy to use. You can buy it or get VPS with Ubot and start making bots!
     
    • Thanks Thanks x 1
  13. whiteblackseo

    whiteblackseo Jr. VIP Jr. VIP

    Joined:
    Apr 11, 2015
    Messages:
    2,608
    Likes Received:
    958
    Home Page:
  14. WatchWho

    WatchWho Registered Member

    Joined:
    Dec 18, 2015
    Messages:
    81
    Likes Received:
    36
    The easiest way...

    Hire a freelance programmer. You can waste lots of time trying to DIY or pay someone a little bit and focus on revenue. Just my opinion.

    There are great freelancers here and you can also go to upwork and other places to get a simple bit build done for pretty cheap.
     
  15. bae

    bae Newbie

    Joined:
    Sep 9, 2016
    Messages:
    28
    Likes Received:
    26
    Gender:
    Male
    Location:
    Portugal
    Before trying to discourage you should explain more the "lots of time". I've seen people with 0% knowledge learning high programming languages in days. Writing this type of script is the same, just need good highlights and guidance.

    You do need "lots of time" to write a framework, write scalable applications, etc. Not for this.
     
  16. WatchWho

    WatchWho Registered Member

    Joined:
    Dec 18, 2015
    Messages:
    81
    Likes Received:
    36
    Fair enough. I suppose it's relative. For me, even an hour or two would be too much time to justify the effort.
     
  17. tokstesla

    tokstesla Power Member

    Joined:
    Aug 21, 2016
    Messages:
    732
    Likes Received:
    140
    Occupation:
    .....!
    Location:
    Cloud9
    This is just pure refined info. Have been groping in the dark halls of bot making,now i have a torch light to walk with. Thanks @DrPorn
     
  18. Sebastian Rooks

    Sebastian Rooks Registered Member

    Joined:
    Nov 16, 2015
    Messages:
    82
    Likes Received:
    54
    Location:
    Middle America
    DrPorn's answer can't be beat.

    The only thing I want to add is stay away from the drag and drop garbage that others are suggesting if you ever want to get anywhere with programming.
    I wasted 3 months of my life and several hundreds of my dollars on one of those pieces of shit before I discovered Python.

    I'd liken the difference between the two to eating the other colored pill in the Matrix.

    Ultimately, what's going to suit you best comes down to what your longer term goals are, and more importantly, what kind of a person is setting them.
    Keep that in mind moving forward and make the choice that's right for you.
     
  19. imax Vision

    imax Vision Newbie

    Joined:
    Jul 16, 2016
    Messages:
    6
    Likes Received:
    0
    Gender:
    Male
    Occupation:
    Ticket Bots

    Can you help me bypassing recaptcha to get direct tokens? if you have any solution or you could suggest any service except 2captcha?