[Free Source] BDO Market Bot/Animation Speedhack

08/10/2018 03:39 NONOnona#76
Quote:
Originally Posted by hehuo View Post
I don't know much programming, can u help me?
yah im with this guy...

all your work is in vain if we need to be able to make the same thing to use it..
where is the step by step instructions for the average masses?
i came here because i heard it was the best but in the end it seems pretty useless im just as likely to write my own bot lol...
08/10/2018 04:57 ruikangzhu1990#77
Quote:
Originally Posted by NONOnona View Post
yah im with this guy...

all your work is in vain if we need to be able to make the same thing to use it..
where is the step by step instructions for the average masses?
i came here because i heard it was the best but in the end it seems pretty useless im just as likely to write my own bot lol...
cant even update the addresses, but says "gonna write my own bot" 4head. garbage pixel bots will never beat this kind of cheat, its direct input which is faster than any macros/humans. pixel bots cant buy out the entire market within 0.2sec, this can.

example, if there are 10,000 memory fragments on the market, if you have the proper amount of silver this can buy out the entire 10,000 fragments faster than you can blink your eye.
08/10/2018 22:03 NONOnona#78
Quote:
Originally Posted by ruikangzhu1990 View Post
cant even update the addresses, but says "gonna write my own bot" 4head. garbage pixel bots will never beat this kind of cheat, its direct input which is faster than any macros/humans. pixel bots cant buy out the entire market within 0.2sec, this can.

example, if there are 10,000 memory fragments on the market, if you have the proper amount of silver this can buy out the entire 10,000 fragments faster than you can blink your eye.
You misinterpret what i said with a lack of reading comprehension then ramble on about some nonsense... i never said i was "gonna write my own bot" and dont put the words in my mouth you little nerdy shitstain. Bottom line i will never use this.. ive another program i use.. one that actually not only tells you how to use it from install to even which injector.. us normal folks that arnt IT guys like programmers that like us enough to explain there product.. i can tell you something like this will never be worth paying for or donating to no matter how good it is because it says f u to the average masses which are the consumers of such things. Get your head out of your ass. Dont ever fucking misinterpret me and rant on with meaningless bullshit again.

I also dont think you understand the market speed isnt an issue the rng is the issue and why people seek a bot.. no one cares if it does it in .2 seconds.. any bot that can do it period is what matters.. also my macros fire off far faster than that.. mine go through at .05 but can be sped up even faster.. not sure you know wtf youre talking about...
08/10/2018 23:21 R3p#79
this is a hacker board with a lot of people seeking source code to actually start learning stuff

this software is such a thing where people can learn

updating a few addresses to make this run after every patch isnt that hard actually

takes like 1 minute upto 5 minutes with a few weeks of experience
08/11/2018 03:40 ruikangzhu1990#80
Quote:
Originally Posted by NONOnona View Post
mine go through at .05 but can be sped up even faster.. not sure you know wtf youre talking about...
not sure if you can even comprehend what i was saying, this bypass a lot of the market restrictions lmao.

example if an item goes from bid -> buy, the second it goes to buy this will instantaneously buy the item as it goes to buy phase, a regular macro will NEVER beat this kind of speed as there is a 2000ms delay, only way for you to lose a snipe with this is someone else who is also using it and who have a faster upload speed.
08/11/2018 12:38 r3dblack75#81
how can i find the new addresses?
08/14/2018 00:48 KaliMinion#82
Could someone guide me in what I'm doing wrong, I've got this far:
[Only registered and activated users can see links. Click Here To Register...]

However, I'm confused on what LUA_GETTOP really is, as I kinda don't think it's this:
[Only registered and activated users can see links. Click Here To Register...]

I've got on the game with the injection not causing any known issues, but when I try pressing the numpad keys, no message outputs in the window, just the default hello world.
[Only registered and activated users can see links. Click Here To Register...]
08/14/2018 04:33 ruikangzhu1990#83
Quote:
Originally Posted by KaliMinion View Post
Could someone guide me in what I'm doing wrong, I've got this far:
[Only registered and activated users can see links. Click Here To Register...]

However, I'm confused on what LUA_GETTOP really is, as I kinda don't think it's this:
[Only registered and activated users can see links. Click Here To Register...]

I've got on the game with the injection not causing any known issues, but when I try pressing the numpad keys, no message outputs in the window, just the default hello world.
[Only registered and activated users can see links. Click Here To Register...]
use breakpoints see if any functions are being called
08/14/2018 04:36 KaliMinion#84
Quote:
Originally Posted by ruikangzhu1990 View Post
use breakpoints see if any functions are being called
nothing within
Code:
uint64_t __fastcall hf_lua_gettop(void* lua_state)
gets called, so obviously my LUA_GETTOP address is wrong, at least that's my thinking.
08/15/2018 22:37 KaliMinion#85
Alright, well, I learned how to find GetTop:

Code:
#define ATA_LUA_GETTOP		0x0000000141576A80
/* Search: ToString > xrefs to aToString > Generate Pseudocode >
Line above tostring, look for sub_xxxxxxxxx, double click, should look like:

return (*(_QWORD *)(a1 + 16) - *(_QWORD *)(a1 + 24)) >> 4; */
one down, 10 to go? That first one was only easy because of documentation, the rest... no clue.

I'm trying to cross reference the BDO Lua files, but the pseudocode doesn't seem to match up very easily to what I examine.

Code:
#define ATA_REQUEST_ITEM_MARKET_SELL_INFO			0x0000000141964250 // Search: requestItemMarketSellInfo
#define ATA_GET_ITEM_MARKET_SELL_INFO_IN_CLIENT_COUNT		0x00000001419640F0 // Search: getItemMarketSellInfoInClientCount
#define ATA_GET_ITEM_MARKET_SELL_INFO_IN_CLIENT_BY_INDEX	0x0000000141964160 // Search: getItemMarketSellInfoInClientByIndex
#define ATA_REQUEST_BUY_ITEM_FOR_ITEM_MARKET			0x0000000141964188 // Search: requestBuyItemForItemMarket
#define ATA_IS_BIDDING_ITEM					0x0000000141963DB0 // Search: isBiddingItem
#define ATA_IS_BIDDING_JOIN_TIME				0x0000000141963E80 // Search: isBiddingJoinTime
#define ATA_GET_ITEM_MARKET_NO					0x0000000141963E70 // Search: getItemMarketNo
#define ATA_IS_BIDDING_JOIN_ITEM				0x0000000141964148 // Search: isBiddingJoinItem
#define ATA_GET_ONE_PRICE					0x0000000141963DA0 // Search: getOnePrice
#define ATA_WAREHOUSE_MONEY_FROM_NPC_SHOP			0x0000000141994450 // Search: warehouse_moneyFromNpcShop_s64

// However these aren't correct because when I press Num6 the game instantly freezes

#define ADA_LOCAL_PLAYER					0x00000001421F5260 // Search: FromClient_consoleQuickSlot > xrefs to aFromclient_c_2 > scroll up until you find [mov   rax, cs:qword_xxxxxxxxx]

// Local Player should be correct
-----------------------------------------

Such a proud moment, *sniff*

[Only registered and activated users can see links. Click Here To Register...]

-----------------------------------------

Well, I managed to get this far tonight.

[Only registered and activated users can see links. Click Here To Register...]

It can read the amount of silver in your current Heidel warehouse, and when an item is ready to bid I believe it is trying to execute the command for it, as when a Value Pack went up, about 30 seconds later it froze, so I'm not quite there yet.

So confusing, think I'll manage to get it with trial and error here in a few days, then I just have to document how I found those addresses so I don't forget how to update it in the future. I think...
08/16/2018 04:54 ruikangzhu1990#86
Quote:
Originally Posted by KaliMinion View Post
Alright, well, I learned how to find GetTop:

Code:
#define ATA_LUA_GETTOP		0x0000000141576A80
/* Search: ToString > xrefs to aToString > Generate Pseudocode >
Line above tostring, look for sub_xxxxxxxxx, double click, should look like:

return (*(_QWORD *)(a1 + 16) - *(_QWORD *)(a1 + 24)) >> 4; */
one down, 10 to go? That first one was only easy because of documentation, the rest... no clue.

I'm trying to cross reference the BDO Lua files, but the pseudocode doesn't seem to match up very easily to what I examine.

Code:
#define ATA_REQUEST_ITEM_MARKET_SELL_INFO			0x0000000141964250 // Search: requestItemMarketSellInfo
#define ATA_GET_ITEM_MARKET_SELL_INFO_IN_CLIENT_COUNT		0x00000001419640F0 // Search: getItemMarketSellInfoInClientCount
#define ATA_GET_ITEM_MARKET_SELL_INFO_IN_CLIENT_BY_INDEX	0x0000000141964160 // Search: getItemMarketSellInfoInClientByIndex
#define ATA_REQUEST_BUY_ITEM_FOR_ITEM_MARKET			0x0000000141964188 // Search: requestBuyItemForItemMarket
#define ATA_IS_BIDDING_ITEM					0x0000000141963DB0 // Search: isBiddingItem
#define ATA_IS_BIDDING_JOIN_TIME				0x0000000141963E80 // Search: isBiddingJoinTime
#define ATA_GET_ITEM_MARKET_NO					0x0000000141963E70 // Search: getItemMarketNo
#define ATA_IS_BIDDING_JOIN_ITEM				0x0000000141964148 // Search: isBiddingJoinItem
#define ATA_GET_ONE_PRICE					0x0000000141963DA0 // Search: getOnePrice
#define ATA_WAREHOUSE_MONEY_FROM_NPC_SHOP			0x0000000141994450 // Search: warehouse_moneyFromNpcShop_s64

// However these aren't correct because when I press Num6 the game instantly freezes

#define ADA_LOCAL_PLAYER					0x00000001421F5260 // Search: FromClient_consoleQuickSlot > xrefs to aFromclient_c_2 > scroll up until you find [mov   rax, cs:qword_xxxxxxxxx]

// Local Player should be correct
-----------------------------------------

Such a proud moment, *sniff*

[Only registered and activated users can see links. Click Here To Register...]

-----------------------------------------

Well, I managed to get this far tonight.

[Only registered and activated users can see links. Click Here To Register...]

It can read the amount of silver in your current Heidel warehouse, and when an item is ready to bid I believe it is trying to execute the command for it, as when a Value Pack went up, about 30 seconds later it froze, so I'm not quite there yet.

So confusing, think I'll manage to get it with trial and error here in a few days, then I just have to document how I found those addresses so I don't forget how to update it in the future. I think...
if there is a will, there is a way :)
08/17/2018 16:33 a882794#87
May I ask what program you use? Did you use IDA Pro? and just load blackdesert64.exe into it?
08/17/2018 18:23 KaliMinion#88
I answered in PM, but for anyone else wondering, this is what I have done to get to this point so far. Warning, I'm not exactly experienced in this at all, so the instructions below are probably beyond noobish.

Step 1 - Unpack the BlackDesert64.exe Process
For this step, I personally used [Only registered and activated users can see links. Click Here To Register...]. You'll need to build the project to create the EXE on your own, very simple to do in the free version of Microsoft Visual Studio, just make sure you build it as a 64bit EXE or it won't work for BlackDesert64.exe, obviously. Once you build the EXE, open CMD in the folder location (I ran as admin), and dump the BDO process using a command like [pd -pid 15484].
Step 2 - IDA / IDA Pro to disassemble the newly created unpacked BlackDesert64.exe, and decompile if you use Pro with Hex-Rays
Both the free version and the crazy expensive Pro version will work here. I personally "used" Pro, mainly because I'm not doing this for profit and simply for educational purposes. The only advantage the Pro version has over the free version for someone with my experience is the ability to Generate Pseudocode, which is actually very helpful when you compare it with the original BDO Lua files. Speaking of which, you can find the Lua files already unpacked and converted to their Lua form here: [Only registered and activated users can see links. Click Here To Register...]. Full credit for these files being uploaded and updated goes to R3p.
Step 3 - ...Good Luck?
From this point on I can't really help very much, as this is where I'm currently stuck in trying to make this project work again for this update. Like I said above, I'm a few trial and error's away I believe until it works, but it basically involves using IDA to generate a list of strings after disassembling the executable (Shift+F12), looking for the string you need to examine (which isn't always direct, and you have to examine an indirect string unfortunately), then xref'ing it to find a pointer that hopefully is for the function you're trying to access. This is the time-consuming process for noobies like me, as it's just a bunch of garbage code you're trying to make sense of by cross-referencing the Lua files.
08/18/2018 18:52 Hahahahahahahahaha#89
Quote:
Originally Posted by KaliMinion View Post
I answered in PM, but for anyone else wondering, this is what I have done to get to this point so far. Warning, I'm not exactly experienced in this at all, so the instructions below are probably beyond noobish.

Step 1 - Unpack the BlackDesert64.exe Process
For this step, I personally used [Only registered and activated users can see links. Click Here To Register...]. You'll need to build the project to create the EXE on your own, very simple to do in the free version of Microsoft Visual Studio, just make sure you build it as a 64bit EXE or it won't work for BlackDesert64.exe, obviously. Once you build the EXE, open CMD in the folder location (I ran as admin), and dump the BDO process using a command like [pd -pid 15484].
Step 2 - IDA / IDA Pro to disassemble the newly created unpacked BlackDesert64.exe, and decompile if you use Pro with Hex-Rays
Both the free version and the crazy expensive Pro version will work here. I personally "used" Pro, mainly because I'm not doing this for profit and simply for educational purposes. The only advantage the Pro version has over the free version for someone with my experience is the ability to Generate Pseudocode, which is actually very helpful when you compare it with the original BDO Lua files. Speaking of which, you can find the Lua files already unpacked and converted to their Lua form here: [Only registered and activated users can see links. Click Here To Register...]. Full credit for these files being uploaded and updated goes to R3p.
Step 3 - ...Good Luck?
From this point on I can't really help very much, as this is where I'm currently stuck in trying to make this project work again for this update. Like I said above, I'm a few trial and error's away I believe until it works, but it basically involves using IDA to generate a list of strings after disassembling the executable (Shift+F12), looking for the string you need to examine (which isn't always direct, and you have to examine an indirect string unfortunately), then xref'ing it to find a pointer that hopefully is for the function you're trying to access. This is the time-consuming process for noobies like me, as it's just a bunch of garbage code you're trying to make sense of by cross-referencing the Lua files.
I've gotten as far as you have for the SEA regional client. Do us a favour and let me know if you learn anything further :)
08/19/2018 14:25 r3dblack75#90
@[Only registered and activated users can see links. Click Here To Register...] check my pm