ShyTwig16 wrote: ↑Mon Jan 17, 2022 6:28 pm
You can right click the script in the address list to see the error message. And doing it this way you'll have to use 14 byte jumps and restore 14 byte when disabling.
But at this point I'm really wondering, why do you need to inject in some many places like this?
So, it's looks like to me that the "jmp far" is a 14 byte jmp since there are so many bytes when I try to enable the script. But disabling, was this actually the correct way: writeBytes(injection, 0xF3, 0x0F, 0x10, 0xBF, 0x94, 0x03, 0x00, 0x00, 0x0F, 0x28, 0xF7, 0x0F, 0xB6, 0xA9, 0x76, 0x01, 0x00, 0x00) ?
Oh, and I didn't know about that error message before, good to know. I'm getting <<Access violation>>. No idea for what.
To the question of why, I'd rather not give that away, since we live in times, where we have scumbags getting payed to look through public forums. Let's just say I'm looking for different ways to deal with a problem. This is just one of them.
miraikolus wrote: ↑Mon Jan 17, 2022 8:43 pm
I'd rather validate the results. I mean .... 7FF7 6D03 8DAF doesn't look like a valid address (131.037 GB ... or 127PB. Ok that's not the prob. but ... 125 PB difference from addr1 to addr2 ...). This seems more like a temporary stored offset with overflow.
Another point might be the abuse of registers. Like I had the problem, that (global)alloc(addr,size,near) could in .... 1 of 20 times still allocate >2GB diff. Find the solution to that
[Link] (rl example my
script (City) and btw. also ... not yet injection but multi registerSymbol in lua while scanning incl. diff offsets in "All own cities..")
EDIT: You can also try to allocate the "newmem" not in lua but near a addr (unique aob or module+offset) but yeah. First start of a aobscan in CE and look at the difference lowest and highest addr. (1GB = 4000 0000 in HEX, divide though that in Calc\Prog\Hex or / (1024*1024*1024) in DEC). Then in lua if you got anything 7F* (signed) or FF* be skeptical.
But you can simply try it: open Memory Viewer and "Go to address" to check if it's rly valid. In any way a manual aob scan in CE and (generally speaking) whatever the lua loop tries to address should be the same and i'd bet that doesn't match. So add some prints of addr. you try to scan & register.
EDIT: I've thought a bit about it and ... are you sure you want to hook ALL these addr? Are you able to - do you got needed access to all addr? You could also save the autoAssemble result and check on the error.
You are correct the first address is a temporary memory address. If I understand your second and third paragraphs correctly you are describing how to check if the address is actually real? I've checked that enabling the script writes to the correct addresses.