Selling, and taking items from trading post menu

User Tag List

Page 4 of 5 FirstFirst 12345 LastLast
Results 46 to 60 of 68
  1. #46
    Paranaix's Avatar Member
    Reputation
    1
    Join Date
    Apr 2009
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Gameserver

    Selling, and taking items from trading post
  2. #47
    roobre's Avatar Private
    Reputation
    1
    Join Date
    Dec 2012
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by im3x View Post
    First I want to thank you guy for the Information you provide in this thread.
    Some of the information really helped me to program several helpful TradingPost tools.

    But now it seems like I hit a dead end with the attempt to automatically sell my stuff.
    As some of you already mentioned, the problem is that
    1. the Game and the GW Server use a encrypted connection
    2. retrieving your Items (in your Bag) /the sell request is not handled by the TCP connection BUT by a request the GameClient sends to the ANet servers.

    My workaround attempt to this problem was, to work with AutoIts PixelSearch commands. Compare Pixels and stuff to click on the different buttons.
    And you know what, it works quiet well. Because the dimensions of the TP stop to scale with the window size up until a certain point, you can define where the buttons are by using a fixed "ankerpoint".
    If it sounds confusing let me explain.
    First i do a PixelSearch for the "Gem-Icon" and save the coords.
    Because the size of the TP Window doesn´t change, and you know know the position of the different Buttons and Textfields in relation to your AnkerPoint, you can click them by
    ButtonX=ankerpointX-"CoordsX for this Button" <- ButtonX is now the distance on the X axis to the ankerpoint.
    MouseClick("left",ankerpointX+ButtonX,ankerpointY+ButtonY,1)

    It´s not the optimal way, but it works up to the point where i need to put in the price for the item i want to sell. I have a script to find out the current price of an Item, but i need to feed the script the ItemID, which i cannot provide. Sure, i Could just sell the Item for the current highest price....but meh, want to undercut for 1 copper.

    I also tried to capture the TCP packets between GW2 and the ANet server with <Winpcap.au3>. But all I get is the encrypted response. So to make this work, I guess i would need to change my AutoIt script to perform as a Man In The middle like Fiddler. But then again, i know nothing about certificates...

    Soo is there a way to get the itemID of the goods you have in your bags? I suppose this information could be found in the memory....
    I would highly appreciate a solution or any hint/info of how i could approach this problem.
    Yeah, an app wich interact with the native client may be an option... but I still refuse to believe that it isn't possible to do just with networking stuff

    About your problem: What about a database which relate the image of an item with its ID? It wouldn't be difficult to compare having it, and the DB itself it's not difficult to create as well (as long as we assume you will work with a SMALL amount of different items).
    However, if you don't like the idea, you can always look in memory for something like an array of IDs: Search memory for the ID of a known item of your inventory, then move it, or remove... play around, I'm sure you'll be able to deduce where the IDs are stored :

    Moreover, going back to the non-graphical workaround, all the TCP packets (or at least the important ones) are encrypted w/ tls, so we would have to recreate all the negociation proccess as the client does, forge the TPC packets, encrypt them and send to the server. It's a tricky thing to do, at least for me, because my knowledge about SSL negociation && packet forge is near to 0 >__<

    Any hint would be appreciated here, guys :\

    Regards
    Last edited by roobre; 12-06-2012 at 10:14 PM.

  3. #48
    Paranaix's Avatar Member
    Reputation
    1
    Join Date
    Apr 2009
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    The packets arent transmitted over TLS but are encrypted with RC4. And as I already told you, the problem is not, that it isnt possible but that it is extremly difficult to create a stand alone client, especially without any knowledge about the gw2 networking. Although if your still convinced that you can do it, this should help you getting you started: [A journey to the center of GW2] - Chapter 1: Preperations

  4. #49
    mdomino's Avatar Member
    Reputation
    1
    Join Date
    May 2008
    Posts
    15
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I've got my app to buy and search the TP working perfectly but as of now I have to enter my session cookie and char ID from fiddler each time. Can anyone drop a hint on how they found the pointer so I could just write a class to pull it from memory?

    Thanks

  5. #50
    Netzgeist's Avatar Contributor
    Reputation
    144
    Join Date
    Jan 2008
    Posts
    353
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Code:
    /**
         * Returns the current GuildWars2 ingame Session.
         * @return is the Ingame Session.
         */
        public static String getIngameSession() {
            
            try {
                
                File file = new File(System.getProperty("user.home") 
                        + "\\AppData\\Local\\Temp");
                
                String gw2cacheDir = null;
                
                for (Object o : file.list()) {
                    
                    if (o.toString().contains("gw2cache")) {
                        gw2cacheDir = o.toString();      
                    }
                }  
                
                String loc = System.getProperty("user.home") 
                        + "\\AppData\\Local\\Temp\\"
                        + gw2cacheDir + "\\data\\Cookies";
                
                Class.forName("org.sqlite.JDBC");
                Connection conn = DriverManager.getConnection("jdbc:sqlite:" + loc);
                Statement stat = conn.createStatement();
                ResultSet rs = stat.executeQuery("select * from cookies;");
                
                ArrayList<String[]> possibles = new ArrayList();
                while (rs.next()) {
                    
                    if (rs.getString("creation_utc") != null
                            && rs.getString("value") != null) {
    
                        possibles.add(new String[] {rs.getString("creation_utc")
                                ,rs.getString("value")});
                    } 
                }
                
                rs.close();
                conn.close();
                int newestUtc = 0;
                String actualSession = "";
                
                for (String[] str : possibles) {
                    if (Integer.valueOf(str[0].substring(8)) > newestUtc) {
                        actualSession = str[1];
                    }
                }
                
                return actualSession;
                
            } catch (Exception ex) {
                
                return null;
            }  
        }
    charid details are inside this thread.
    Last edited by Netzgeist; 12-18-2012 at 04:07 AM.
    regards,
    NG

  6. #51
    roobre's Avatar Private
    Reputation
    1
    Join Date
    Dec 2012
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Netzgeist View Post
    Code:
    /**
         * Returns the current GuildWars2 ingame Session.
         * @return is the Ingame Session.
         */
        public static String getIngameSession() {
            
            try {
                
                File file = new File(System.getProperty("user.home") 
                        + "\\AppData\\Local\\Temp");
                
                String gw2cacheDir = null;
                
                for (Object o : file.list()) {
                    
                    if (o.toString().contains("gw2cache")) {
                        gw2cacheDir = o.toString();      
                    }
                }  
                
                String loc = System.getProperty("user.home") 
                        + "\\AppData\\Local\\Temp\\"
                        + gw2cacheDir + "\\data\\Cookies";
                
                Class.forName("org.sqlite.JDBC");
                Connection conn = DriverManager.getConnection("jdbc:sqlite:" + loc);
                Statement stat = conn.createStatement();
                ResultSet rs = stat.executeQuery("select * from cookies;");
                
                ArrayList<String[]> possibles = new ArrayList();
                while (rs.next()) {
                    
                    if (rs.getString("creation_utc") != null
                            && rs.getString("value") != null) {
    
                        possibles.add(new String[] {rs.getString("creation_utc")
                                ,rs.getString("value")});
                    } 
                }
                
                rs.close();
                conn.close();
                int newestUtc = 0;
                String actualSession = "";
                
                for (String[] str : possibles) {
                    if (Integer.valueOf(str[0].substring(8)) > newestUtc) {
                        actualSession = str[1];
                    }
                }
                
                return actualSession;
                
            } catch (Exception ex) {
                
                return null;
            }  
        }
    charid details are inside this thread.
    Hm, just compiled that code on NB (lastest bot GW & JDK version) and it doesen't seems to work (it always returns null).
    It might be my fault, anyway.

  7. #52
    Paranaix's Avatar Member
    Reputation
    1
    Join Date
    Apr 2009
    Posts
    8
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by roobre View Post
    Hm, just compiled that code on NB (lastest bot GW & JDK version) and it doesen't seems to work (it always returns null).
    It might be my fault, anyway.
    Maybe you should try to debug it instead of taking all the code you get and expect it to work flawlessly. As anyone can clearly see, the function reads the session id from a local sqlite db. And, whoah, if an exception occurs, the function just returns null. Now guess what, JDBC code, well lets say java code in general is known to rely quit much on exceptions. First of all, remove the try block and log the exception. So many things could have happened: maybe you dont have the JDBC driver (im quite sure this is the case...) or the path is wrong or the query is wrong etc. etc. Secondly, you should really consider to investigate the db by your own with a sqlite client. I know, its quite time intensive, atleast 5 minutes and those clients arent that easy to use, but hey, doesnt it feel good to do something on your own?

  8. #53
    Netzgeist's Avatar Contributor
    Reputation
    144
    Join Date
    Jan 2008
    Posts
    353
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    * path is correct for winsystems. i dont know a shit about macs, less i do care.
    * you will need to add support for sqlite-jdbc to your project (eg: sqlite-jdbc - SQLite JDBC Driver - Google Project Hosting)
    regards,
    NG

  9. #54
    roobre's Avatar Private
    Reputation
    1
    Join Date
    Dec 2012
    Posts
    7
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Paranaix View Post
    Maybe you should try to debug it instead of taking all the code you get and expect it to work flawlessly. As anyone can clearly see, the function reads the session id from a local sqlite db. And, whoah, if an exception occurs, the function just returns null. Now guess what, JDBC code, well lets say java code in general is known to rely quit much on exceptions. First of all, remove the try block and log the exception. So many things could have happened: maybe you dont have the JDBC driver (im quite sure this is the case...) or the path is wrong or the query is wrong etc. etc. Secondly, you should really consider to investigate the db by your own with a sqlite client. I know, its quite time intensive, atleast 5 minutes and those clients arent that easy to use, but hey, doesnt it feel good to do something on your own?
    Hey, cool down, I just said the code didn't work FOR ME, not that it wew wrong, or something...
    I imported everythig needed for the code to compile, but, anyway, I'll check the drive twice...

    Regards.

  10. #55
    mdomino's Avatar Member
    Reputation
    1
    Join Date
    May 2008
    Posts
    15
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thanks a ton, exactly what I needed!

  11. #56
    Dwink's Avatar Private
    Reputation
    6
    Join Date
    Sep 2012
    Posts
    13
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    did anyone develop anything out of this. im looking to purchase a simple program that will bid on 68-80 rares 1 copper more than the lowest bidder i can collect myself just want it to place bids automatically

  12. #57
    razor118's Avatar Member
    Reputation
    1
    Join Date
    Dec 2007
    Posts
    1
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,
    Cookie version works fine in my application but there is an issue connecting with cookie life. I think that if sb close gw2 and game doesn't send any ping to game server thats why our cookie has about 5-10 minutes before expires. Creating a bot that will search for items with huge profit and demand and will sell it is not a problem. Problem is with cookie that expires very soon after closing game client. Did anybody made any research or reversed game client?

  13. #58
    Globeul's Avatar Member
    Reputation
    1
    Join Date
    Oct 2012
    Posts
    12
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,

    Looks like that with the update yesterday, its not longuer based on HTTPS if i'm right ?
    Filddler does not get anymore entry for TradingPost.

    Could some can confirm this ? Or is this just me ?

    Ty
    Last edited by Globeul; 11-05-2014 at 05:51 AM.

  14. #59
    cr0c's Avatar Member
    Reputation
    1
    Join Date
    Mar 2014
    Posts
    12
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,

    I can confirm that the TP stuff is now handled in game, not in HTTPS anymore.

    I have many pieces of information about it and I'd like to share them but I am not sure this is the right place.

    Anyone could grant the Elite section access to me, please?

  15. #60
    Globeul's Avatar Member
    Reputation
    1
    Join Date
    Oct 2012
    Posts
    12
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm looking for some information about this

    Actually got some trouble trying to devellop a new tool for it.

    Any advice . piece of code or information is helpful to me

Page 4 of 5 FirstFirst 12345 LastLast

Similar Threads

  1. [Gold] Old place to Farm some gold, and some items ( from junk to epic ).
    By markons in forum World of Warcraft Guides
    Replies: 49
    Last Post: 02-17-2013, 07:58 PM
  2. Replies: 2
    Last Post: 09-25-2012, 02:37 AM
  3. [Selling] ANY ITEMS FROM TRaDING POST!
    By bigray in forum GW2 Buy Sell Trade
    Replies: 7
    Last Post: 09-17-2012, 08:23 AM
  4. Gold missing from Trade post
    By somaliasky in forum Guild Wars 2
    Replies: 3
    Last Post: 09-06-2012, 08:53 AM
  5. Few Problems and missing items from server.
    By tarleton in forum WoW EMU Questions & Requests
    Replies: 1
    Last Post: 08-26-2008, 07:21 AM
All times are GMT -5. The time now is 12:18 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search