Gameserver
Gameserver
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.
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
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
charid details are inside this thread.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; } }
Last edited by Netzgeist; 12-18-2012 at 04:07 AM.
regards,
NG
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?
* 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
Thanks a ton, exactly what I needed!
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
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?
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.
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?
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