Results 1 to 9 of 9

Thread: Anyone have blade aber source code?

  1. #1
    Josh's Avatar
    Joined
    Dec 2011
    Posts
    415
    Userbars
    2
    Thanks
    25
    Thanked
    378/143
    DL/UL
    82/6
    Mentioned
    120 times
    Time Online
    17d 9h 48m
    Avg. Time Online
    5m

    Anyone have blade aber source code?

    Trying to find it. I know chaos_blader released it on icyneo a long time ago, but I was wondering if anyone here still had it.

    If anyone has a way to contact chaos_blader, that would be helpful too.

    For newish people:
    Blade aber was an aber coded to python by chaos_blader. It was originally made for my site. It was made to look/work like atmos, which was the most popular (and first?) aber a long time ago.

    Edit: Plan is to make an aber in python for the site. I really just want the gui. Ive had permission for awhile to modify it and re-release it, but I lost the source code.
    Last edited by Josh; 06-16-2013 at 02:37 PM.

  2. #2
    Saiyan Race
    j03's Avatar
    Joined
    Dec 2011
    Posts
    13,738
    Userbars
    176
    Thanks
    5,926
    Thanked
    33,147/6,615
    DL/UL
    23/36
    Mentioned
    3,871 times
    Time Online
    564d 1h 54m
    Avg. Time Online
    3h 13m
    Quote Originally Posted by Josh21227 View Post
    Trying to find it. I know chaos_blader released it on icyneo a long time ago, but I was wondering if anyone here still had it.

    If anyone has a way to contact chaos_blader, that would be helpful too.

    For newish people:
    Blade aber was an aber coded to python by chaos_blader. It was originally made for my site. It was made to look/work like atmos, which was the most popular (and first?) aber a long time ago.

    Edit: Plan is to make an aber in python for the site. I really just want the gui. Ive had permission for awhile to modify it and re-release it, but I lost the source code.
    It wasn't the first ABer, the first one was by some guy who had "fire" in his name, @(you need an account to see links) released the first proven working captcha for the pet images I believe. And I remember using Badger before Atmos from NF.

    CheeSie replicated the GUI in VB6 using the TreeList View control. Try that in .NET/Python if there is one for it?
    (you need an account to see links)
    (you need an account to see links)(you need an account to see links)

    ------------------------
    [02/24/2013] Stealth CORE is made into the first standalone Neopets auto-player.
    ------------------------


  3. #3

    Joined
    Jun 2012
    Posts
    1,699
    Thanks
    876
    Thanked
    2,881/1,142
    DL/UL
    44/1
    Mentioned
    562 times
    Time Online
    118d 6h 45m
    Avg. Time Online
    40m
    Quote Originally Posted by Infamous Joe View Post
    It wasn't the first ABer, the first one was by some guy who had "fire" in his name
    G.M Buyer - FireBirdGm

    a simple python aber:

    PHP Code:



    #Import Needed Classes:
    import urllib2re
    import os 
    #Used for normalizing pyton strings like folders wich use "/" in folder instead of "\" when running on windows debug server
    import ConfigParser # Config parser class (.cfg files)
    import time #Time module , used for sleeping
    import random #used to randomise numbers and get a random number between a range 
    #import sqllink # Sql link used to connect to the sql database
    from sqllink import sqllink
    from InventoryManager import InventoryManager
    #Setup Default vars / classes
    confighandler ConfigParser.RawConfigParser() #Used for .cfg files
    #import Image
    from PIL import Image #Pyamf class used for amf request (slightly edited)


    class autobuyer:

        
    #Initialize this class
        
    def __init__(self,acc,newsql,theuserid,debugmode):
            
    self.acc acc
            self
    .newsql newsql
            self
    .debugmode debugmode
            self
    .theuserid theuserid
            self
    .shopid str(self.newsql.getsettingrecode("abshopid"))
            
    self.ablist = []
            
    self.nextabtime self.newsql.getsettingrecode("nextabtime")
        
    def downloadimage(self,imgurl):
            print 
    "dl image"
            
    cookie_handler urllib2.HTTPCookieProcessor(self.acc.cj)
            
            if 
    self.debugmode ==0:
                
    #outputfolder = 'C:\xampp\htdocs\logs\'C:\xampp\htdocs\neo\logs
                
    outputfolder '/root/bin/cache/'    
            
    else:
                
                
    outputfolder='C:/Users/rdd/Desktop/amf new/cache/'

            
    open(outputfolder self.acc.user '.jpg','wb'#w+ makes file if not exist

            
            
    thedata self.acc.get(imgurl)
            print 
    "test"
            
            
    #thedata = thedata.replace("\n", "");

            
    f.write(thedata)
            
    f.close()

        
    def loglogic(self,html,theitemname):
            
    #do logic for logging based on html


            #Bought item
            
    if html.find("added to your inventory") > 0:
                
    filename "Abbuy" str(time.time())
                
    html "Bought Item : " theitemname
               

                
                sql 
    "INSERT INTO dailylogs(id,logname, logresult , userid , username)  VALUES (NULL,'Autobuyer','%s','%s','%s')" % (html,str(self.theuserid),self.acc.user)  
                
    self.newsql.insertsql(sql)
                print 
    sql
                
    #self.writestringtofile( filename,html)
                
    print "Bought Item " theitemname

        def checkitemeexist
    (self,itemname):
           
    foundone=0
           
           
    for x in self.ablist:
                if 
    == itemname:
                    
    foundone=1
                    
                    
                    
    return foundone
           
    return foundone


        
        def dotick2
    (self):
             
    stockhtml self.acc.get("http://www.neopets.com/objects.phtml?type=shop&obj_type=" self.shopid,"http://www.neopets.com/space/index.phtml")
             
    self.itemdblogic(stockhtml)

        
    def docaptcha(self):
            
            if 
    self.debugmode ==0:
                
    #outputfolder = 'C:\xampp\htdocs\logs\'C:\xampp\htdocs\neo\logs
                
    outputfolder '/root/bin/cache/'    
            
    else:
                
                
    outputfolder='C:/Users/rdd/Desktop/amf new/cache/'

            
    filename outputfolder self.acc.user '.jpg'





                      
            
    im Image.open(filename)
            
    #colors = {}
            #for color in im.getdata():
               # colors[color] = colors.get(color, 0) + 1
                #print colors[x]


                ###############

            
    widthheight im.size
            pixel_list 
    = list(im.getdata())
            
    lowest_brite=9999
            
    for y in range(0height,10):
                for 
    x in range(0width10):
                    
    #print "x=" + str(x) + "y=" + str(y)
                    
    pixelRGB im.getpixel((x,y))
                    
    R,G,pixelRGB 
                    rgb 
    pixel_list[x:y]
                    
    brightness sum([R,G,B])/##0 is dark (black) and 255 is bright (white)
                    
    if brightness lowest_brite:
                        
    lowest_brite=brightness
                        lowestx
    =x
                        lowesty
    =y
            
    print lowest_brite
            
    return [lowestx,lowesty]
           
    # print width

            
        
    def dotick(self):
             print 
    "abtick"
             
             
    if self.ablist == []:
                 
    self.ablist self.loadabfile()
             
    #print self.ablist
             #return 1
             
    stockhtml self.acc.get("http://www.neopets.com/objects.phtml?type=shop&obj_type=" self.shopid,"http://www.neopets.com/space/index.phtml")
             
    #for x in self.ablist:
                 #print x
             
    endpos1=0
             
             html 
    stockhtml
             
    while not html.find("haggle.phtml?obj_info_id=",endpos1)== -1:
                
    #Start url
                
    startpos1 html.find("haggle.phtml?obj_info_id=",endpos1
                
    endpos1 html.find('"',startpos1#Item id end
                
    haggleurl="http://www.neopets.com/" html[startpos1:endpos1]
                
    #print "Haggleurl=" + haggleurl
               
                
    endpos1 endpos1 4


                
    #Start item name
                
    startpos2=html.find("wish to purchase ",endpos1) + 17
                endpos2
    =html.find(" at ",startpos2)
                
    theitemname=html[startpos2:endpos2]
                print 
    theitemname
                
    #Start ITEM PRICE
                
    startpos3=html.find(" at ",startpos2)+ 4   
                endpos3
    =html.find(" NP",startpos3)
                
    theitemprice html[startpos3:endpos3]
                
    theitemprice=theitemprice.replace(",","")
                
    #print "theitemprice=" + theitemprice

                
    if self.checkitemeexist(theitemname)  == 1:
                    print 
    "Buying item " theitemname
                    
                    html
    =self.acc.get(haggleurl ,"http://www.neopets.com/objects.phtml?type=shop&obj_type=" self.shopid)
                    
    #print html
                    
                    
    if html.find("captcha_show.phtml?_x_pwned=") > 1#img dosent exist so item expired
                        
    cappos1 html.find("captcha_show.phtml?_x_pwned=")+ 28
                        capendpos1
    =html.find('"',cappos1)
                        
    capurlhtml[cappos1:capendpos1]
                        print 
    "http://www.neopets.com/captcha_show.phtml?_x_pwned=" capurl
                        self
    .downloadimage("http://www.neopets.com/captcha_show.phtml?_x_pwned=" capurl)
                        
    captchapoints self.docaptcha()
                        
    capxcaptchapoints[0]
                        
    capycaptchapoints[1]
                        print 
    "captcha x" str(capx)
                        
    startprice=html.find("less than ") + 11
                        endprice
    =html.find(" Neopoints",startprice)
                        print 
    "price=" theitemprice
                        postdata 
    = {'current_offer'theitemprice"x"str(capx), "y"str(capy)}
                        
    html=self.acc.post("http://www.neopets.com/haggle.phtml" postdata ,  "http://www.neopets.com/haggle.phtml")
                        
    self.loglogic(html,theitemname)

                        
             
    self.nextabtime time.time() + 300 #Next ab time = + 5 mins
             
    self.newsql.setsetting("nextabtime",self.nextabtime#Save Settings
             #self.itemdblogic(stockhtml) #Itemdblogic
                    #Find captcha img url

        
    def writestringtofile(self,file_namestr_to_be_written):
           
    # print self.outputfolder + file_name + ".htm"
            
    if self.debugmode ==0:
                
    #outputfolder = 'C:\xampp\htdocs\logs\'C:\xampp\htdocs\neo\logs
                
    outputfolder '/root/bin/cache/'    
            
    else:
                
    outputfolder='C:/Users/rdd/Desktop/amf new/cache/'
           
            
    file_writer open(outputfolder file_name ".htm"'w+')
            
    file_writer.write(str(str_to_be_written))
            
    #print ("String written successfully.")
            
    file_writer.close()


            
        
    def loadabfile(self):
            print 
    "tik2"
            
    outputfolder='/var/www/html/uploads'




            
    sql """SELECT itemlist FROM ablist WHERE neoowner='%s'"""% (self.theuserid)
            
    row self.newsql.execdbwithret(sql)
            print 
    str(row[0])
            
    open(outputfolder  row[0])
            
    lines f.readlines()
            
    f.close()
            
    lines2=[]
            for 
    x in lines:
                
    lines2.append(x.replace("\n",""))
            return 
    lines2









        

        def itemdblogic
    (self,html):
            print 
    "item db logic"
            
    #print  html
            
    endpos1=0
            
    while not html.find("haggle.phtml?obj_info_id=",endpos1)== -1:
                
    startpos1 html.find("haggle.phtml?obj_info_id=",endpos1) + 25
                endpos1 
    html.find('&',startpos1#Item id end
                
    print "itemid=" html[startpos1:endpos1]
                
    theitemid=html[startpos1:endpos1]
                
    endpos1 endpos1 4


                
    #Start item name
                
    startpos2=html.find("wish to purchase ",endpos1) + 17
                endpos2
    =html.find(" at ",startpos2)
                
    theitemname=html[startpos2:endpos2]

                
                
    #Start ITEM PRICE
                
    startpos3=html.find(" at ",startpos2)+ 4   
                endpos3
    =html.find(" NP",startpos3)
                
    theitemprice html[startpos3:endpos3]
                
    theitemprice=theitemprice.replace(",","")
                print 
    "theitemprice=" theitemprice


                
    #Start image url
                
    startpos4=html.find('src="',endpos3)+ 5
                endpos4
    =html.find('"',startpos4)
                
    imgurl =  html[startpos4:endpos4]
                print 
    "imageurl=" html[startpos4:endpos4]

                
    #Start alt text
                
    startpos5=html.find('alt="',endpos4)+ 5
                endpos5
    =html.find('"',startpos5)
                print 
    "alttext=" html[startpos5:endpos5]
                
    itemtext=html[startpos5:endpos5]



                
    #Check  if item already exist in db via name if so we need to execute update if not we insert
                
    row=0
                sql 
    """SELECT id  from fquestjobs WHERE accid='%s'"""% (theitemname)
                
    row self.newsql.execdbwithret(sql)            
                if 
    row == None#Item does not exist in db so insert it
                    
    print "New Item found , inserting..."


                    
                    
    sql """INSERT INTO  itemdb(id,itemname,itemid,itemtext,imageurl,lastshopprice,shopid)  VALUES (NULL,'%s','%s','%s' ,'%s','%s','%s')""" % (theitemname,theitemid,itemtext,imgurl,theitemprice,self.shopid)
                    
    self.newsql.insertsql(sql)

                else:
                    print 
    "old item found , updating..."
                    
    #sql = "UPDATE bagalogs SET count=count + 1  WHERE playid='%s'" % (1)
                    
    sql """UPDATE itemdb  SET  itemname='%s' ,itemid='%s', itemtext='%s', imageurl='%s', lastshopprice='%s', shopid='%s' WHERE itemname='%s'""" % (theitemname,theitemid,itemtext,imgurl,theitemprice,self.shopid,theitemname)
                    
    self.newsql.insertsql(sql
    Last edited by DarkByte; 06-16-2013 at 05:22 PM.

  4. The Following User Says Thank You to DarkByte For This Useful Post:

    Josh (06-16-2013)

  5. #4
    Josh's Avatar
    Joined
    Dec 2011
    Posts
    415
    Userbars
    2
    Thanks
    25
    Thanked
    378/143
    DL/UL
    82/6
    Mentioned
    120 times
    Time Online
    17d 9h 48m
    Avg. Time Online
    5m
    Still one of the most popular abers ever. First neo program I ever used.

    And thanks raredaredevil. Gonna make a few simple programs before I start working on an aber. Ive messed with python in the past, but its been awhile.

  6. #5
    Mrfugix's Avatar
    Joined
    May 2012
    Posts
    95
    Userbars
    1
    Thanks
    5
    Thanked
    24/15
    DL/UL
    16/0
    Mentioned
    17 times
    Time Online
    5d 7h 38m
    Avg. Time Online
    1m
    I remember using FireBirdGM, then Badger, and then Atmo. After that there were a multitude of others. For any of you looking for some serious nostalgia NF is still up and running. You can find a huge core of the super active members checking in there from time to time. I'm not too sure why Freaky still has it up.

  7. #6

    Joined
    Jun 2012
    Posts
    1,699
    Thanks
    876
    Thanked
    2,881/1,142
    DL/UL
    44/1
    Mentioned
    562 times
    Time Online
    118d 6h 45m
    Avg. Time Online
    40m
    Not sure either but heres what I remember of abers:

    First Decent aber was FirebirdGm. This was just due to several shifts in the cheating community. For those programmers reading this we basically shifted from using instr() and mid() loops with inet (very very unstable). To a httpwrapper (gluraks) with Mid/Instr functions automated into a nice function that is now known as "GetStringBetween" and "ExtractAll".

    The second decent aber was badger aber by freaky this far surpassed FirebirdGms aber but was probably one of the best. My aber Rare Buyer was pretty decent also if I may say so myself. It was open source and people learned lots from it I would hope anyway . I also released the first open source working captcha that worked using darkest pixel functions.

    Before this we would take the corner of the captcha image and compare it to all the blank backgrounds corner. From this you could calculate the actual image background used for each image. Then you would convert the background to black and white and run a a function to calculate the difference in colors , this would give you a base value of the random color neopets use to make each background image a slightly different shade. You could then check for drastic changes in the background image pixels + shade color and this would be the neopet.

    100% accurate but to slow now days.

  8. #7
    Mrfugix's Avatar
    Joined
    May 2012
    Posts
    95
    Userbars
    1
    Thanks
    5
    Thanked
    24/15
    DL/UL
    16/0
    Mentioned
    17 times
    Time Online
    5d 7h 38m
    Avg. Time Online
    1m
    Quote Originally Posted by raredaredevil View Post
    Not sure either but heres what I remember of abers:

    First Decent aber was FirebirdGm. This was just due to several shifts in the cheating community. For those programmers reading this we basically shifted from using instr() and mid() loops with inet (very very unstable). To a httpwrapper (gluraks) with Mid/Instr functions automated into a nice function that is now known as "GetStringBetween" and "ExtractAll".

    The second decent aber was badger aber by freaky this far surpassed FirebirdGms aber but was probably one of the best. My aber Rare Buyer was pretty decent also if I may say so myself. It was open source and people learned lots from it I would hope anyway . I also released the first open source working captcha that worked using darkest pixel functions.

    Before this we would take the corner of the captcha image and compare it to all the blank backgrounds corner. From this you could calculate the actual image background used for each image. Then you would convert the background to black and white and run a a function to calculate the difference in colors , this would give you a base value of the random color neopets use to make each background image a slightly different shade. You could then check for drastic changes in the background image pixels + shade color and this would be the neopet.

    100% accurate but to slow now days.
    Freaky has quite a bit of talent IMO. I'm pretty sure he's gone on and graduated from Cambridge or wherever. After you released your source was when a huge wave of ab'ers came from everywhere. The captcha change was really great because it made a sort of forum war happen. It was really exciting.

  9. #8
    Saiyan Race
    j03's Avatar
    Joined
    Dec 2011
    Posts
    13,738
    Userbars
    176
    Thanks
    5,926
    Thanked
    33,147/6,615
    DL/UL
    23/36
    Mentioned
    3,871 times
    Time Online
    564d 1h 54m
    Avg. Time Online
    3h 13m
    These are interesting to look at







    Almost 10 years ago!!
    (you need an account to see links)
    (you need an account to see links)(you need an account to see links)

    ------------------------
    [02/24/2013] Stealth CORE is made into the first standalone Neopets auto-player.
    ------------------------


  10. The Following 2 Users Say Thank You to j03 For This Useful Post:

    SmileYaDead (06-17-2013),Zachafer (06-17-2013)

  11. #9

    Joined
    Jun 2012
    Posts
    1,699
    Thanks
    876
    Thanked
    2,881/1,142
    DL/UL
    44/1
    Mentioned
    562 times
    Time Online
    118d 6h 45m
    Avg. Time Online
    40m
    I remember that program well it inspired me to finally take the httpwrapper jump (I always preferred inet as it used ie cookies , until firefox got big anyway) many people would not trust logins on a program back in the day of nhacks because there was scams everywhere. So using Inet u could just say "login to ie first then run the program". That all changed when I realized how stable you could make ur progs with it .

Posting Permissions

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