Bit-Slicer icon indicating copy to clipboard operation
Bit-Slicer copied to clipboard

1.8 Alphas

Open zorgiepoo opened this issue 8 months ago • 4 comments

I released the first alpha build of Bit Slicer 1.8 in the Releases page. The overall additions and bug fixes are listed there.

It adds a new mode to search for addresses, or also known as pointers to variables. Unfortunately I don't have time at the moment to give a proper demonstration but I will jot some explanation here. UI workflows may be subject to change and searching is not fully optimized yet. This is overall pretty experimental and there are probably bugs.

The main purpose of searching for addresses is to find a more-static address of a variable that persists across e.g, the player re-spawning, or the a new game starting, or an app having been restarted. So this mode allows you to find variables whose address is composed of reading other pointers/addresses and offsets.

After you find the value of an address, you can switch from searching 'value's to searching 'address'es in the toolbar. Sometimes Bit Slicer will intelligently pre-populate the address to search for in the search field but otherwise you can "Search Pointers to Variable" in the menubar or right-click.

This mode starts with searching pointers with 1 level deep (may subject to change). If you do this search it will return variables whose address is [base] + offset. If you don't find any statics (Bit Slicer pops them up in the results first), you can increase the levels to 2 and search again, and so on. In this process you may be able to eliminate false variables between levels. Or you can just start at a high level (like 4 or 5) but the search will take longer and generate a lot more noise. You can also change the offset comparison to = when increasing the max level by 1 if you get the offset from watching read/write accesses to the base address (hold down option to watch for the base address); this will result in less false results. Lastly you can also change back to searching values when you invalidate the current address; for example, if you relaunch the game and want to narrow those results by the new value.

There's a filter enabled by default currently. It excludes static data from system binaries and only looks at heap/stack data. To disable it if it's problematic (no UI shown yet or decided what plan is here):

defaults write com.zgcoder.BitSlicer ZGDisableAddressFilterOptions -bool YES

Currently requires 10.14 but may bump to 10.15 later. Address searches don't work for 32 bit targets.

Pointer searching tutorial is updated on https://github.com/zorgiepoo/Bit-Slicer/wiki/Pointers

zorgiepoo avatar Dec 22 '23 05:12 zorgiepoo

Alpha 2 is out with some few bug fixes.

zorgiepoo avatar Jan 08 '24 05:01 zorgiepoo

Updated pointer searching guide https://github.com/zorgiepoo/Bit-Slicer/wiki/Pointers

zorgiepoo avatar Feb 10 '24 16:02 zorgiepoo

Alpha 3 is out with additional/advanced options for address searches including finding negative offsets (some of other options are in the advanced options in the bottom left of the search window). Some other bug fixes are included.

zorgiepoo avatar Apr 13 '24 23:04 zorgiepoo