Forum Replies Created
-
AuthorPosts
-
July 11, 2022 at 1:55 am in reply to: Possible combat bug? Miqo does not use Blizzard II on THM #38115
Hello Ai, nice to meet you! š I hope you and the team are doing okay (well, as ‘okay’ as possible given the terrible situation).
In the other thread it was stated that the team only enjoys around 10% of the development work. I’m curious what the other 90% is that the team does not enjoy. (Or perhaps it would be shorter/easier to list the enjoyable things :)) Is that something you have knowledge of?Since it seems (understandably) we are reluctant to post certain info like external usernames/server links/etc on a public forum, here’s a temporary chat room, I guess? We should figure something out sooner rather than later, and at least this is a step outside of the forums… https://hack.chat/?miqo-life-support
Not sure what else to do lol. I can make another one using a different service if that one is bad šI can only agree and recommend to those who have the competence to perhaps contact each other on a section of the forum reserved for these people so that they can work quietly.
@arc do you have the ability to do something like that? š®
According to my knowledge Miqobot has some form of Anti-Cheat implemented.
There have been several occasions of people complaining on the forums about getting their license key revoked, their money refunded and their IP banned, only to result in Miqobot clearing that up, that those people have been attempting to reverse-engineer the bot and got auto-banned from the server.This is also the reason why there is no more free trial of Miqobot. Too many people have attempted to reverse-engineer the trial version to cheat themselves out of the monthly sub.
Something to keep in mind.
There is, but not on every part. I know the extent of their protection, and would advice people to not tamper with it without knowing what youāre doing. Thatās also why itās done in this exact way, no alterations until after you cleared the authentication process.
Iāve modified Miqo for months now, not in any bad way though. I pay for it, just add features that I want or fix broken parts earlier. Would love to have a full programmable interface, more advanced than scenario, in the future, where we could code things and then share it the same way as we do for other things. One example is fixing the crafting calculations. Miqo is community driven, and letting the community do more direct programming could take a significant burden off of Miqos dev team in the long run.
I havenāt personally messed around with your method, and I could be wrong, but from my own knowledge of reversing this is POSSIBLE to turned into a patch for everyone. Itās a matter of finding the assembly instruction(s) that are responsible for allocating + placing the MAR value in memory, no? If the value(s) in question are implemented directly in Miqobot source code, and you say that the location changes from machine to machine depending on where the memory is allocated, then I canāt help but think the address is encoded directly into an assembly instruction, such as
mov [SomeDynamicLocation], 0x123456789
and then referenced from there. If not that, then the value lives as hex bytes inside a module, which gets mapped dynamically into memory at runtime and would be referenced likemov rax, [SomeConstantAddress]
/mov rax, [SomeModule.123456789]
/mov rax, [SomeDynamicAddress + SomeConstantAddress]
.I have no formal training in this so again I could be totally wrong, but those are patterns I see a lot when I do this kind of thing.
You are correct, but, due to how miqo does things, the memory structure is not exactly consistent across different devices. Finding the place the address is stored that works on all devices is the hard part as a result.
I honestly would love to talk more in depth about this, maybe even try to find a solution, just don’t want to discuss potentially sensitive info on Miqobot’s inner workings on a public forum…
the main issue being finding the new addresses, and finding a method to consistently locate where the memory values miqo uses are stored within miqo after it loads the module, because that is all over the placeā¦ Different machines produce slightly different results, so making it work for others is the biggest hurdle.
In other words doing all the work Miqo team has been doing for every patch.
Yup! With a few extra steps because I donāt have the source code!
Is this something you could make a guide for so that others can do it? Instead of making a patch that works for everyone might be easier to make make a guide for each person to do themselves.
I could, but most people wouldnāt be able to even with a step by step guide, as it requires knowledge about assembly language and memory interpretation to understand what youāre looking for. In the end, someone still has to go through the steps, and do it for everyoneā¦
Steps that are required are as follows:
1. Start Miqo.
2. Use any software that lets you browse, search, and edit memory. Cheat engine is one I would recommend as itās easy to set up, and free. Hook it up to Miqo.
3. Activate any module within Miqo (including the base module, which hooks it to the game).
4. Trace what addresses are altered within memory upon activating the module. The address reference you need is in that.
5. Find the memory address reference (MAR) that miqo reads data from within that.
6. Find a way to locate the MAR consistently using memory thatās around the region (this is the hard part due to how different CPUs and operating systems create different patterns in memory with how miqo loads in stuff).
6b. Find where the values are in memory in the new version of FF14. (Miqo team does this normally, and then just rewrites the source code)
7. Create a routine that rewrites the MAR to the new address. Cheat engine lets you do this with a simple on/off toggle if you know how to do that. (miqo just edits in the source code, much easier version of the step)
8. Test it on various pc builds.The only time I will release something is if:
A. Miqo team is still missing.
B. I have the time to go through this process.
C. It isnāt impossible to make something thatās easy to use for random people that doesnāt expose miqos inner workings.I haven’t personally messed around with your method, and I could be wrong, but from my own knowledge of reversing this is POSSIBLE to turned into a patch for everyone. It’s a matter of finding the assembly instruction(s) that are responsible for allocating + placing the MAR value in memory, no? If the value(s) in question are implemented directly in Miqobot source code, and you say that the location changes from machine to machine depending on where the memory is allocated, then I can’t help but think the address is encoded directly into an assembly instruction, such as
mov [SomeDynamicLocation], 0x123456789
and then referenced from there. If not that, then the value lives as hex bytes inside a module, which gets mapped dynamically into memory at runtime and would be referenced likemov rax, [SomeConstantAddress]
/mov rax, [SomeModule.123456789]
/mov rax, [SomeDynamicAddress + SomeConstantAddress]
.I have no formal training in this so again I could be totally wrong, but those are patterns I see a lot when I do this kind of thing.
Out of curiosity, is there a scenario where a moderator team could be equipped to take the reins for an extended period of time?
For the forums, yes. For the bot, no.
If it comes down to it, I will assist as much as I can, and try to create a hacky solution for the bot to keep working, but as nobody but the miqo team has access to the source code, its gonna be a lot of work to do that. The best I could do is find the new memory layout, and then try to hook into miqo to overwrite where itās looking in the games memory, but that could very well take months to do.
The mods are just volunteers, and Iām not even a modā¦By the dev team’s own admission, Miqobot downloads her modules from a server at runtime in an attempt to discourage reverse engineering. I theorize that creating any sort of “patch” would involve 1. extracting these modules from memory, 2. do enough reverse engineering to locate the data we are interested in, 3. create some sort of wrapper that can identify and patch the data at runtime without causing any other issues. Additionally, this method assumes that Miqobot has no innate “anti-cheat” so to speak, and that the modules are downloaded in their entirety & Miqobot does not need to fetch any server-side information “on demand” that’s critical to our goal.
@miqobot I know that this is usually a transactional service, but if you want to setup a donation method for your personal well being I know a number of us wouldnāt be against sending money to help out your current situation.
Purchase multiple license renewals. That is the fastest and easiest way to donate money. They may not have time to set up a donation. š
Thank you for status update, @miqobot. Our thoughts and prayers are with you. If you need anything from the community (besides our unceasing support) please let us know.
- This reply was modified 2 years, 9 months ago by jponry.
I made 3 billion gil by miqo and able to sell it for 300$ in RMT
Plz set up the place for donation. I will send these money to dev.I am using Miqo for fun. The gil is nothing for me, but donation maybe help the dev under war.
Buy license renewals at https://miqobot.com/#get-the-bot if you wish to give them money directly š I don’t think there is a donation page.
Yes, revamped combat rotations will not be supported.
You can see this information on the roadmap.so we will not see rotations for 90 lvl ?
I don’t mean to be rude but please use your eyes (or ears w/ text-to-speech) and read Miqo’s post in the first page of this thread… They explain the entire roadmap including rotation support/lack thereof…
And Iām saying you must be doing something wrong, because if you have a 5800H and youāre getting āAlmost an hourā and Iām sitting pretty here with my 2600X and getting at max two minutes per solver, thereās no other way to see it.
If you only have 2 minutes, you donāt have the full settings, nor the full stats.
You really don’t need all settings active to do expert crafts, unless your gear is just downright inferior. Do what Lyfox said, those are my settings as well. If I set CP to 2:1 and turn on Waste Not, my estimated time goes from 40 seconds to 5.3 minutes and RAM usage skyrockets from 150 mb to over a gig.
A lot of farming is unsynced, and for that, optimal efficiency is not needed, and so the ability to do this would provide a fast way to do this when most mechanics arenāt as important anymore.
I would highly agree with this. There comes a point where the level disparity is enough to offset any incoming damage, making mechanics irrelevant. No point in dodging when you are not in any danger of dying.
One caveat though is there is the occasional boss with a mechanic that is difficult to solo regardless of your level, due to the nature of said mechanic. The first boss in Amdapoor Keep comes to mind. You need to kill it before it swallows you, or else you die, since no one is there to break you out. I could see a simple AI getting stuck in a loop in such a situation.
(Disclaimer: This is hypothetical. I am not asking the dev team to implement this feature.)
With regards to pathfinding and generating navigation meshes, have you heard of the open-source library “Recast & Detour“? Would that help?
Just saying this in case it’s helpful in some way, if it’s not then please ignore. š(Disclaimer: This is hypothetical. I am not asking the dev team to implement this feature.)
-
AuthorPosts