-
Posts
95 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Gallery
Posts posted by Sami1982
-
-
20 minutes ago, MonkeySAN said:
now its starting to trouble me.
i really dont like when something i made gave errors without knowing what cause it.
Hey guess what?? No more error. It was all me! stupid me Lol. I think I had some typos or something. I am so sorry for all this trouble. But can you just tell me how to add the final -1 results that I got to the save list?
23 minutes ago, MonkeySAN said:now its starting to trouble me.
i really dont like when something i made gave errors without knowing what cause it.
Got it! I added them to the save list. Your script works PERFECTLY. Thanks again and again a million times my friend. You are the best. So sorry for the trouble. Have a wonderful day
0 -
5 minutes ago, MonkeySAN said:
now its starting to trouble me.
i really dont like when something i made gave errors without knowing what cause it.
No no no man don't let it bother you. You have done a marvelous job for me. You literally solved my problem. I can simply tap on the "save" button and I'm done. No need to trouble you with this any further. I tremendously appreciate your help and knowledge. You are the man!
7 minutes ago, MonkeySAN said:now its starting to trouble me.
i really dont like when something i made gave errors without knowing what cause it.
But if you insist and it makes you feel better, do you want us to move this to discord and I can show you exactly what's happening with a video?
0 -
13 minutes ago, MonkeySAN said:
thats not the way to go.
if you gonna make it work, it should work all the way.
all "-1" value that had been found after distance 500 for each address will store here :
local allResults = {}
could it be that you got more than one results because the other value load much later in game?
thats why i ask the game name and what value that you are looking for.
i dont like uncertainty.
when you know for sure, things can be done with more efficient.
Yes you are correct. I apologize, I re-edited my last post. I must've been doing something wrong. I put back the:
Quotelocal allResults = {}
and it yields all the -1 results correctly now. But I am still getting this error:
'table.insert(allResults, addr) --Collect each valid result'
bad argument #1 to 'table.insert' (nil: table expected, got nil) (field 'insert')
But if I close out of the error everything is fine. All I need to do is add the -1 results to the save list and we are done. I really appreciate all your help so far. I don't want to trouble you with installing the game and finding the value. It's encrypted and it's a pain in the butt and I feel terrible burdening you with all that.0 -
3 hours ago, MonkeySAN said:
gg.searchNumber("0.10000000149;2.5;6.0::9", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("6", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) -- Get up to 10 results just in case local results = gg.getResults(10) local offset = 0x500 local allResults = {} -- Loop through each address from results for _, v in ipairs(results) do local baseAddress = v.address gg.clearResults() gg.searchNumber("-1", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, baseAddress, baseAddress + offset, 0) -- Get all found results for this address range local found = gg.getResults(10) for _, addr in ipairs(found) do table.insert(allResults, addr) -- Collect each valid result end end -- Load all results found for target value if #allResults > 0 then gg.loadResults(allResults) end
I am really sorry to bother you again. But I am getting an error:
'for _,addr in ipairs(found) do'
bad argument #1 to 'ipairs' (nil: table expected, got nil) (global 'ipairs')
But it's no big deal. I can just close the error and everything works fine. But can you help me add the final results to the saved list?
0 -
1 hour ago, MonkeySAN said:
gg.searchNumber("0.10000000149;2.5;6.0::9", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("6", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) -- Get up to 10 results just in case local results = gg.getResults(10) local offset = 0x500 local allResults = {} -- Loop through each address from results for _, v in ipairs(results) do local baseAddress = v.address gg.clearResults() gg.searchNumber("-1", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, baseAddress, baseAddress + offset, 0) -- Get all found results for this address range local found = gg.getResults(10) for _, addr in ipairs(found) do table.insert(allResults, addr) -- Collect each valid result end end -- Load all results found for target value if #allResults > 0 then gg.loadResults(allResults) end
Thank you thank thank every so much bro. You are awesome! Have a great day
0 -
4 hours ago, MonkeySAN said:
im not an expert but try this and see if it work for you
gg.searchNumber("0.10000000149;2.5;6.0::9", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("6", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) local results = gg.getResults(1) local baseAddress = results[1].address local offset = 0x500 gg.clearResults() gg.searchNumber("-1", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, baseAddress, baseAddress + offset, 0)
Sorry to bother you again. Just one last question. If I had 2 results of that refined "6", how can I write the script to perform the same nearby search for both of them? Thanks again.
0 -
3 hours ago, MonkeySAN said:
im not an expert but try this and see if it work for you
gg.searchNumber("0.10000000149;2.5;6.0::9", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("6", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) local results = gg.getResults(1) local baseAddress = results[1].address local offset = 0x500 gg.clearResults() gg.searchNumber("-1", gg.TYPE_DWORD, false, gg.SIGN_EQUAL, baseAddress, baseAddress + offset, 0)
Genius man!! That's exactly what I needed. Can't thank you enough.
0 -
3 hours ago, MonkeySAN said:
care to share the game name?
and what are you searching for?
Thanks for the response. Sorry It's kind of a long story and confusing lol. But let me try to better clarify my question. It's pretty specific and straight forward. When I get my refined result from my group search, which is that number "6", I long press on it, and select "search nearby" and I search for -1 Dword with "After distance" of 500. The problem is, the address (as shown in the attached screenshot) is always different when I restart the game. Is there a way to write something in the script to perform this "long press/search nearby" without knowing what that address will be? That's all I need to know.
0 -
9 hours ago, nok1a said:
But if you did a nearby search of 500 you should be able to find another group search that is better and more static.Yeah unfortunately it's so weird and unreliable. I tried various group searches and backwards pointer searches. It works 4 or 5 times in a row when I restart the game, but then sadly it stops working
0 -
Hello,
Wondering if someone can please help me. I have a group search and refined value like this:
gg.searchNumber("0.10000000149;2.5;6.0::9", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) gg.refineNumber("6", gg.TYPE_FLOAT, false, gg.SIGN_EQUAL, 0, -1, 0) local t = gg.getResults(1) gg.addListItems(t) t = nil
What I'd like to do is use the result of "6" from above to perform a "NearBy Search" with an "After" distance of 500 for value: -1 DWORD. The problem is the address of the "6" keeps changing when I restart the game. Is there a proper way to code the script so that it does what I need even when the address of the "6" changes? I've searched and played around with it and couldn't figure it out at all. Not even sure if it's doable. That's why I'm asking. Would appreciate any assistance.
0 -
It's most likely server-sided, which it means it can't easily be hacked, and depending on the type of protection, maybe not at all. You can probably find a ready mod but it'll only have ads disabled and speed, but as for money/gold/gems and those things I doubt it.
0 -
Brothers In Arms 3: Hailstorm Weapon Does Not Overheat
Fire away with a NO overheating Hailstorm weapon with this script that I made. Hope you enjoy!
-
Submitter
-
Submitted09/04/2024
-
Category
0 -
-
Gunship Battle: Infinite HP for any or all of these 3 planes (Longinus, Gyrfalcon and F-8 Crusader) Enjoy!
Gunship Battle: Infinite/Frozen HP for any or all of these 3 planes (Longinus, Gyrfalcon and F-8 Crusader) Your choice. Enjoy!
PS
Feel free to request infinite HP for any other plane and I will try to accommodate you!
-
Submitter
-
Submitted08/18/2024
-
Category
0 -
-
-
On 4/4/2022 at 10:59 PM, MrMikeMichael said:
I don't want to hide the GG icon. Just want GG to exit if they press GG icon when my script is searching for a value. That way someone can't peak on the group searches I've spent so many hours to find.
Is there anything for that?
I guess this is what reverse engineering is all about. Arguably anything can be cracked (even the most secure obfuscation) if someone is experienced enough. If you're so worried about what you've spent hours to find, then simply don't share it. This is what anyone with a brain will tell you. And let's not forget that the developers whose game you "spent hours to hack" have already spent 10 times more hours on it than you have, and guess what....you've managed to crack it
So this is a non-ending cycle
1 -
On 1/4/2024 at 4:16 AM, nok1a said:
If works test out the script:
gg.setRanges(gg.REGION_ANONYMOUS | gg.REGION_C_BSS | gg.REGION_C_ALLOC) gg.searchNumber("327,684D;22D;28D;0D;33,554,931D::65", gg.TYPE_DWORD) gg.refineNumber("0", gg.TYPE_DWORD) print("Group search: ", gg.getResultsCount()) local grp = gg.getResults(1) gg.loadResults({{address = grp[1].address + 0x4, flags = gg.TYPE_DWORD}}) gg.searchPointer(0) print("First Pointer search: ", gg.getResultsCount()) gg.searchPointer(0) print("Second Pointer search: ", gg.getResultsCount()) local t = gg.getResults(gg.getResultsCount()) local sensitivity = {} for i, v in ipairs(t) do sensitivity[i] = {address = v.address - 0x4, flags = gg.TYPE_FLOAT} end sensitivity = gg.getValues(sensitivity) local healthPointer = {} for i = 1, #sensitivity do if sensitivity[i].value == 1.0 then healthPointer[i] = {address = t[i].address, flags = gg.TYPE_DWORD} end end gg.loadResults(healthPointer) print("Results healthPointer: ", gg.getResultsCount()) gg.searchPointer(0) print("Third Pointer search: ", gg.getResultsCount()) local res = gg.getResults(1) local health = {[1] = {address = res[1].address + 0x4, flags = gg.TYPE_FLOAT, name = "Health"}} gg.addListItems(health) gg.loadResults(health)
Well if we could resume from this point I would like a script that works reliably. This script you provided me does not work reliably. So I am afraid my question/issue has not yet been solved. If you'd like to continue helping I would love that. If not, then no worries I understand.
0 -
32 minutes ago, Sami1982 said:
I think I can live with the following workaround: I edited the script to stop right where it gives the final pointer results and I can just easily edit the value i need myself and whichever one fails, I'll simply know it's the other one that works. Not too s3xy but it'll do for my abilities lol
EDIT: FYI sometimes it even gives 4 results
Ok never mind. Even this workaround doesn't work. I think I've reached the limits of how far I'm willing to go on this. Turns out it's not nearly as half as simple as I assumed it might be. Thanks anyway for all your help.
0 -
31 minutes ago, Sami1982 said:
Okay wait I think I figured out the problem.....
No, not this group search. I had found another one using Anonymous only and I found the pointers and wrote the script and everything and that one was randomly changing. But going back to the above group search, this one seems truly static but the very last step of the script, when the health value is one more pointer search away and we can just add the 4 bytes and done, it normally gives only 1 result for that last pointer search, but every now and then (totally random, it could be after 2 restarts or after 5) it throws 2 results instead of 1 for that last pointer search
I think I can live with the following workaround: I edited the script to stop right where it gives the final pointer results and I can just easily edit the value i need myself and whichever one fails, I'll simply know it's the other one that works. Not too s3xy but it'll do for my abilities lol
EDIT: FYI sometimes it even gives 4 results
0 -
19 minutes ago, nok1a said:
Oke so you tried to do the group search manually and after restarting of the game that group search done manually doesn't work.
Okay wait I think I figured out the problem.....
23 minutes ago, nok1a said:The group search -1,049,624,576A;1,092,616,192A;1,082,130,432A;1,056,964,608A;1,062,333,317A::73 ?
No, not this group search. I had found another one using Anonymous only and I found the pointers and wrote the script and everything and that one was randomly changing. But going back to the above group search, this one seems truly static but the very last step of the script, when the health value is one more pointer search away and we can just add the 4 bytes and done, it normally gives only 1 result for that last pointer search, but every now and then (totally random, it could be after 2 restarts or after 5) it throws 2 results instead of 1 for that last pointer search
0 -
2 minutes ago, nok1a said:
You will always do that if you not try to use the print() function to resolve the possible issue. Which is really not much of work since you already now how to find the value and how the script is made.
Let's forget about the script and exclude it. So no need for the print() function. Let's say I want to manually run a group search without a script every time I restart the game. The group search is not static. What good will the print() function do now?
0 -
Just now, nok1a said:
You will always do that if you not try to use the print() function to resolve the possible issue. Which is really not much of work since you already now how to find the value and how the script is made.
I already know what the issue is. The block I am using for the group search is randomly changing. I just told you that.
0 -
22 minutes ago, nok1a said:
It's not a 100% rule. I only said that using two devices can confirm the possibility that the group search is static. But im not sure if they really randomly change. That's a huge assumption. You could only be sure after first checking how the scripts behave and which addresses it gives you and performs actions on using the print() function before claiming the values change.
Well I'm not even executing the script at this point. All I am doing is manually finding the health value again, and repeating my steps to arrive at the block of numbers that I saw how a moment ago they were identical with the same distance on both devices, but now they aren't identical anymore. What is that called other than "randomly changing"?
0 -
6 hours ago, nok1a said:
I guess it all comes down to finding patterns in anything and use some logic with it based on the knowledge you have of that something. I mean, if your gold is 20 and on another device the gold is 20 to. Then i guess that on both devices there is a number 20 in memory...so something is same on both devices. I mean this pattern makes sense i guess if you do not know about encryption yet. But even with knowing it i think it's a logical thing.
Okay even with my latest script (which is only using the Anonymous region) it still fails randomly and I think I know why. Despite having the same values (static ones) at the same distance on both devices, they sometimes randomly change. So I guess having them on 2 devices isn't a hard and fast rule that they are static, unless it's just the case with this game
0 -
2 hours ago, nok1a said:
Take the time and play around with it. At some point it will make sense.
And use the print() function see what your script is doing. Like that you don't need to guess or assume.I sure will my friend.
2 hours ago, nok1a said:i hope it helped
You have done BEYOND helped lol. The amount of knowledge you fed me is absolutely phenomenal. Do you know that the small, basic piece of advice about "using 2 devices simultaneously" is something I had not seen in any place (forum or youtube tutorial) before?? I didn't realize that if you see the same value on 2 devices simultaneously this means it's static and you can rest assured that when you search for it after you restart the game you will find it. So simple yet brilliant. Unless it was so obvious and everybody knew it except me and I'm such a noob lol. Also I used to be scared of something called "pointers" but after your lesson and your method of simplifying and clarifying I am not scared anymore.
0
How to implement Nearby Search in LUA Script for address that keeps changing
in Help
Posted
Okay you got it. As you wish bro.