Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google      Sign In   
  • Create Account

1.7 Alphas


  • Please log in to reply
37 replies to this topic

#1 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 10 September 2013 - 12:57 AM

Note: These are alpha builds. Tests builds, essentially. These are not stable releases. The latest stable release is 1.6

One of the biggest features I've added [and fairly requested] is scripting support. It's still a work in a progress and may change, but it's there to be played around with. It does include operations like scanning memory and reading/writing.

Currently this should run on OS X 10.6 or later. I was considering dropping support for OS X 10.6, but I've had no real reason to so I may not end up doing that [yet].

Here's the change log for alpha 1:
  • Added Scripting support to documents [work-in-progress] [more info]
  • Implemented 'code injection' feature allowing you to hook into an instruction to inject newly created code
  • Fixed bug where < and > Integer searches didn't respect Unsigned mode
  • Changed 'Tools' to 'Variable', moved 'Pause Target' into File, and changed 'Search' column name to 'Active' in slice documents
  • Renamed UTF-8 and UTF-16 to String8 and String16 respectively
  • Changed behavior of loading a document with frozen variables: they will not take affect until 'Active' checkbox is ticked
  • Assembler now takes in account current instruction address when making changes
  • Disassembler is now aware of a target's main entry point (though more work needs to be done still)
  • Searching for data in 32-bit processes should now use twice as less memory than in 1.6
  • Fixed bug where multiple hardware watchpoints running simultaneously would not work correctly
  • Mirroring project on github
  • Added way to make donations
Edit: How silly of me. I forgot a URL to the alpha download, so here it is:
Bit Slicer version 1.7 Alpha 1

#2 waves

waves

    Tired, and starting to outlive my usefullness.

  • Super Moderators
  • 1600 posts
  • Graphics Card:NVIDA
  • Operating System:Mac OS X 10.6 (Snow Leopard)
Author

Posted 10 September 2013 - 02:52 AM

Thanks for keeping it 10.6.
Posted Image

How to get multiple file port games / apps runnning: http://portingteam.c...-combine-files/

#3 v1ad

v1ad

    Novice Member

  • Members
  • 6 posts
  • Graphics Card:gtx
  • Operating System:Linux

Posted 22 September 2013 - 01:05 AM

I'm not sure if there is a problem with BitSlicer or I'm doing something wrong. I'm trying to read pointer that points to a value in a 32bit process and it crashes.

offset2 = vm.readUInt32(offset1)
value = vm.readUInt32(offset2)

I tried casting, no difference:

offset2 = long(vm.readUInt32(offset1))
value = vm.readUInt32(offset2)

It works if I do this but its not what I need:

offset2 = vm.readUInt32(offset1)
offset2 = 0x11111111
value = vm.readUInt32(offset2)

It seem that I need to cast "memoryAddress" ??? I tried type() on a working value and it shows long() but when casting it in an above example it does not work.

Also is there a way assign hot keys to script or to a function in a script?

Thanks.

#4 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 22 September 2013 - 07:43 PM

Hi

What version of OS X are you running? (Python version can vary.) Could you paste the exact error message from the log window?

By it crashes I assume you mean the script halts and not the entire program.

I am able to do something similar to what you did, which works on my end. Internally, readUint32 takes an unsigned long long as input. I have added read/writePointer functions, I'll upload a new build with them when I get a better internet connection and you can see if using those works.

Re: hotkeys. Not yet, but that sounds like a good idea.

[EDIT]: Here is a new build that has vm.readPointer(memoryAddress) and vm.writePointer(memoryAddress, value) functions.

#5 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 24 September 2013 - 04:51 AM

Changes for Alpha 3:
  • Memory Viewer is now editable and supports undo'ing.
  • Improved performance significantly for scanning values (and using a better algorithm for scanning byte arrays and strings)
  • Added readPointer(memoryAddress) and writePointer(memoryAddress, value) functions to scripting interface as discussed above (hoping this may fix the problem).
Bit Slicer 1.7 Alpha 3

#6 v1ad

v1ad

    Novice Member

  • Members
  • 6 posts
  • Graphics Card:gtx
  • Operating System:Linux

Posted 24 September 2013 - 03:51 PM

I'll try it out this week maybe. Im running OSX ML 10.8.5, Python 2.7.2 ( i think its default that came with system), and youre correct the software didn't crash, just the script stopped working. I figured work around after posting the above and I think its a python related problem, no mather what you do python wont create long() unless it contains big value in it. From examples above it was pointing to a "0" and thus didnt cast long(), so I had to load it with big number as work around. I hope your update will fix this.
Thank you!

#7 v1ad

v1ad

    Novice Member

  • Members
  • 6 posts
  • Graphics Card:gtx
  • Operating System:Linux

Posted 25 September 2013 - 05:56 AM

I tried it and the problem still there, here is how it works:
offset2 = vm.readPointer(offset1)
vm.writePointer(offset2, 0x0)
value = vm.readUInt32(offset2)

That will crash but if you do this:

offset2 = vm.readPointer(offset1)
vm.writePointer(offset2, 0x11111111)
value = vm.readUInt32(offset2)

That will work just fine, it seem that if offset2 < X then its not long() anymore, where X is a value thats big enough for python to consider it long() type. Let me know if you can't reproduce it, I'll try to come up with better example.
Thanks

#8 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 25 September 2013 - 02:02 PM

View Postv1ad, on 25 September 2013 - 05:56 AM, said:

I tried it and the problem still there, here is how it works:
offset2 = vm.readPointer(offset1)
vm.writePointer(offset2, 0x0)
value = vm.readUInt32(offset2)

That will crash but if you do this:

offset2 = vm.readPointer(offset1)
vm.writePointer(offset2, 0x11111111)
value = vm.readUInt32(offset2)

That will work just fine, it seem that if offset2 < X then its not long() anymore, where X is a value thats big enough for python to consider it long() type. Let me know if you can't reproduce it, I'll try to come up with better example.
Thanks

Yeah this is really odd. Could you see if readInt32 (not unsigned), readInt16, readInt8 work or all suffer from same problem? Also see if this works:
import struct
value = struct.unpack('I', vm.readBytes(offset2, 4))[0]


#9 v1ad

v1ad

    Novice Member

  • Members
  • 6 posts
  • Graphics Card:gtx
  • Operating System:Linux

Posted 25 September 2013 - 04:42 PM

No, doesn't help, still crashed like before. Also I did try combinations of read(U)Int(32/16/8) and same result. This might be a problem at core of BitSlicer, it expects long() for memoryAddress and if value too small python gives int(). I tried looking through BitSlicers source code but I don't undenstand it... need more time.

#10 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 25 September 2013 - 05:59 PM

View Postv1ad, on 25 September 2013 - 05:56 AM, said:

I tried it and the problem still there, here is how it works:
offset2 = vm.readPointer(offset1)
vm.writePointer(offset2, 0x0)
value = vm.readUInt32(offset2)

That will crash but if you do this:

offset2 = vm.readPointer(offset1)
vm.writePointer(offset2, 0x11111111)
value = vm.readUInt32(offset2)

That will work just fine, it seem that if offset2 < X then its not long() anymore, where X is a value thats big enough for python to consider it long() type. Let me know if you can't reproduce it, I'll try to come up with better example.
Thanks

In your example, offset2 should be the same in both working and non-working case. The error presumably occurs when you're trying to read the data at the memory location offset2. Again, could you paste the error message reported in the Logs window (from Debug -> Show Logs in menu bar)? ZGPyVirtualMemory.m is relevant source file to look at if you're interested..

#11 v1ad

v1ad

    Novice Member

  • Members
  • 6 posts
  • Graphics Card:gtx
  • Operating System:Linux

Posted 25 September 2013 - 06:18 PM

Well, its an example but since I'm reading from live game app, it varies and causing the script to stop and but my workaround(init with big value) causing game app to crash after a while, so I'm still trying to find better work around. The error I get when script stops:

10:28:09 AM: <type 'exceptions.SystemError'>
10:28:09 AM: error return without exception set
10:28:09 AM: <traceback object at 0x10377b560>

The code stops after init and when "def execute" runs my code, the problem easily reproducable from init too.

I looked at ZGPyVirtualMemory.m but I just don't undenstand it at the moment, I need more time.
Thanks.

#12 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 25 September 2013 - 06:39 PM

There's a chance that it actually fails at reading or writing the data. You can catch the exception using a try/except.

try:
	value = readUInt32(offset2)
except:
	pass #it failed here

I need to still put in error messages for this it looks like (default error isn't very helpful).

#13 v1ad

v1ad

    Novice Member

  • Members
  • 6 posts
  • Graphics Card:gtx
  • Operating System:Linux

Posted 25 September 2013 - 06:50 PM

Ah that makes sence, I read it before app inits it and thus it could be pointing anywhere. I didn't think of that. I'll try to implement more error checking.
Thanks.

#14 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 18 October 2013 - 06:03 AM

Changes for Alpha 4:
  • Added toolbar and execution stepping buttons to the debugger, and a toolbar to the memory viewer.
  • Added support for relative addressing by adding base() (or vm.base for scripting) function usable in Variable -> Edit Variable Address menu option; i.e, base("Pong") will return the address of Pong executable in the process
  • Variables will automatically be relativized upon searches and watch accesses if relevant
  • When performing searches, variables may now be annotated as 'static' if they reside in a executable's __TEXT, __DATA, __LINKEDIT sections
  • Added information in tooltips when hovering over a variable in a document, such as user tag (eg: malloc tiny), executable image, and relative offset
  • Added status bar to debugger, showing the executable image and relative address being inspected
  • Fixed issue where memory viewer would grow in size more than it should making it inaccurate (bug introduced in last alpha)
  • Fixed issue where when memory viewer was loaded, it was able to already 'undo' actions
  • Handle RIP relative addressing when suggesting code to inject
  • Variables with zero length (i.e, empty strings) can now be watched for read/write accesses
  • Variables in a execuable-marked page can now be watched for read/write accesses too
  • Scripting support now uses Python version 3.3 instead of the system version
  • Added vm.base function in scripting, and altered debug.bytesBeforeInjection to take another parameter -- check scripting reference
  • Added custom error messages in the scripting functions for better debugging
Bit Slicer 1.7 Alpha 4

#15 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 25 October 2013 - 08:18 PM

Small update, includes some important fixes and some Mavericks support:

Changes:
  • Improved cpu usage and support for App Nap in Mavericks
  • Fixed floating-point expression evaluation bug in systems where the default language may not be English
  • Improved performance when stepping through execution in debugger since the last alpha
  • Removed memory writable-page restriction when editing variable's values through the menu option
Bit Slicer 1.7 Alpha 6

[edit]: Re-uploaded build because Xcode had corrupted it.

#16 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 03 November 2013 - 07:46 AM

Changes:
  • Fixed bug where table may not update values immediately (introduced in alpha 6)
  • base() and vm.base() in scripting can now take zero arguments, returning base address of main executable
  • Replaced/Changed implementation for symbolication in debugger
  • Added symbol lookup in debugger's address/symbol field, and added debug.findSymbol function in scripting
  • Fixed bug where selecting a process in memory viewer or debugger may change the currently selected one, if there were other processes with the same name
  • vm.readString8 and vm.readString16 now take an optional encoding argument and return a Unicode object. See Scripting.
  • Improved/Changed fetching of executable images from a process
  • Added user tags introduced in 10.9 shown in tooltips for variables in documents
  • Freezing a 8-bit string's value will now write an ending zero byte
Bit Slicer 1.7 Alpha 8

#17 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 02 January 2014 - 10:51 PM

First, I decided I'm going to drop support for OS X 10.6.

I have made some big changes for the user interface in this update, and worked on a few other things and bug fixes. I don't think I have made any recent scripting changes, but that should be one of my next objectives.

Changes:
  • New user interface. Some shortcuts may have been changed around since I had to add a Font menu.
  • Changed name to description and annotating variables from searches. Annotating register values to this field when watching for instruction accesses.
  • Added a "Stored Value" token to search field to search against stored values.
  • Added support for AVX registers.
  • Editing an address will now prompt up the edit address dialog.
  • Results are instantly shown even if the search isn't complete.
  • Enabled anonymous system profile submission like in latest stable version.
  • Fixed bug where opening debugger to an address may not work.
  • Fixed bug where when an application launches, bit slicer will not fetch its icon.
Bit Slicer 1.7 Alpha 10

#18 gamnark

gamnark

    Novice Member

  • Members
  • 7 posts
  • Graphics Card:NVIDIA GeForce GT 330M
  • Operating System:OS X 10.8 (Mountain Lion)

Posted 12 January 2014 - 08:29 AM

I've been meaning to request this for a while, but could the entries not checked as active not be deleted when you clear search results?

#19 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 14 January 2014 - 09:41 AM

I changed the behavior so that:

*Clearing values from the search field (by hitting escape or hitting the x button) will only clear searchable values.
*Clearing values via menu bar action will prefer to clear only searchable values, but will clear all values if there aren't any searchable ones.
(Searchable values being active, not frozen, and not a script).

New alpha is out:

Changes:
  • Added 'Search Pointer to Variable'
  • Added Byte Order support for searching values
  • Added Breakpoint Conditions to the debugger; they use the Scripting interface
  • Added linear expression stored value searches for greater and less than operators
  • Fixed ending memory address in a document not being set
  • Fixed editing byte array size menu option not working
  • Fixed Python being unable to import some system modules
  • Improved user tag descriptions for virtual memory regions
  • Improved assigning temporary files when altering scripts, also allowing them to persist across relaunches for some time
  • Changed 'Clear Variables' behavior by first preferring to clear only search-able variables
  • Changed 'Epsilon' to 'Round Error'
  • Changed Memory Viewer and Debugger text fields to oval style
  • Changed script variables in a document by preventing them change to a different type
Bit Slicer 1.7 Alpha 11

#20 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 26 January 2014 - 12:26 AM

Changes:
  • Added wildcard support for modifying multiple byte array values
  • Added functions for setting up instruction breakpoints in Scripting
  • Added notify function in Scripting for sending off user notifications via Notification Center
  • Added floating point registers support for CPUs that don't have AVX support
  • Added "Go to Branch Address" option in the Debugger for jmp type instructions (merged with go to call address)
  • Added window restoration to Debug Logs window
  • Fixed potential crash/exception after storing all values (introduced in last alpha)
  • Fixed bug where modifying a script file after a document closes could result into a crash
  • Fixed removing all breakpoints and stopping scripts when Bit Slicer terminates
  • Improved situation where sometimes memory viewer and debugger may not show a region
  • Improved edit value/size/address prompts by selecting entire text upon prompt
  • Changed watch data accesses functions in Scripting by adding a callback and registers arguments
  • Changed general registers to unsigned in conditional breakpoints
Bit Slicer 1.7 Alpha 12

#21 gamnark

gamnark

    Novice Member

  • Members
  • 7 posts
  • Graphics Card:NVIDIA GeForce GT 330M
  • Operating System:OS X 10.8 (Mountain Lion)

Posted 04 March 2014 - 09:36 AM

taskgated has been sucking up a massive amount of memory while Bit Slicer is watching a process. It seems to do this on the alphas as well as 1.6.1.

I'm on Mountain Lion.

It starts out low, but gradually adds about .1 MB per second until it's hit several gigs after a good few hours of running. Quitting taskgated doesn't seem to have any adverse effects- it relaunches and starts ticking away again.

#22 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 04 March 2014 - 02:16 PM

By watching a process, do you just mean a search window in Bit Slicer being open, and not doing anything?

I presume you are looking at Activity Monitor for taskgated and looking at its memory usage.

If you open Console application, and you filter for Bit Slicer, do any relevant messages come up? Are you on the latest available version of 10.8?

#23 gamnark

gamnark

    Novice Member

  • Members
  • 7 posts
  • Graphics Card:NVIDIA GeForce GT 330M
  • Operating System:OS X 10.8 (Mountain Lion)

Posted 04 March 2014 - 02:53 PM

Right. search window open, and not doing anything. taskgated's memory usage seems to grow even before any search is made. I thought it might be once some variables were listed, but it's doing it even in an empty window. Doesn't grow when Bit Slicer is open with no windows though.

Yes, 10.8.5.

I don't see anything relevant in the console.

#24 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 04 March 2014 - 10:03 PM

I was able to reproduce the bug (actually it's pretty easy to reproduce; it just doesn't happen when building in debug mode). I was able to mitigate the issue somewhat so that it's not constantly leaking memory although the real problem might be an OS bug that I'll have to report (a task_for_pid leak). In any case, I might have to push a stable-fix too.

In the mean time, here is the latest alpha changes:
  • Added remembering data inspector (Memory -> Data Inspector) settings for the memory viewer.
  • Added access to struct and ctypes modules for conditional breakpoints
  • Added cycling for finding symbols in the debugger
  • Added debug.stepIn(), debug.stepOver(), debug.stepOut(), debug.backtrace() functions to Scripting
  • Added bitslicer.VirtualMemoryError and bitslicer.DebuggerError exception types to Scripting
  • Added text restoration for the logger window with OS X's Resume
  • Improved watching read/write accesses which now does better for newly created threads in the process
  • Improved automatic cleanup for terminating scripts including un-pausing the process
  • Improved mach-o parsing which is now more accurate in identifying segments (__TEXT, __DATA, etc)
  • Improved parsing [] for pointer expressions when editing a variable address
  • Improved support for editing byte array values with wildcard characters
  • Improved traceback info reported when encountering a script error
  • Fixed being unable to scan submap regions in the memory viewer, debugger, and with dumping memory to disk
  • Fixed infinite-recursion in scripting blowing up the entire program
  • Fixed crash when reverting a document while a script is still active
  • Fixed crash when closing a document in the middle of a search
  • Fixed several bugs with handling breakpoints
  • Mitigated serious memory leak in watching a process stay alive / terminate
Bit Slicer 1.7 Alpha 14

#25 gamnark

gamnark

    Novice Member

  • Members
  • 7 posts
  • Graphics Card:NVIDIA GeForce GT 330M
  • Operating System:OS X 10.8 (Mountain Lion)

Posted 06 March 2014 - 07:39 AM

It's behaving much better now- thank you for the quick fix!

#26 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 07 May 2014 - 03:18 AM

I decided to drop OS X 10.7 since there were some scenarios I know would have crashed in 10.7, but are useful to have otherwise in greater versions.

I moved development completely over to GitHub, including the wiki, bug tracker, and scripting reference page.

I figure that I am almost done with this version, and after looking to polish a couple of things I'll be able to do a release.

Changes for Alpha 17:
  • Added slash-through for dead targets
  • Added usage of base() function in Memory Viewer address field
  • Added new user Preferences for global hotkeys (debugger stepping, continuing) and scripting [with temporary icons]
  • Added Next/Previous Operator in the View menu for search documents
  • Added functions for registering global hotkeys in Scripting
  • Added debug.symbolAt function to Scripting
  • Changed scripting to default to indenting new scripts with 4 spaces (changable in Preferences)
  • Changed debug.findSymbol to return None if no symbol is found
  • Increased scanning bytes functions in Scripting from 1000 to 100000 max addresses that can be returned
  • Improved Description annotations when searching for variables by adding more information including debug symbols and executable base name
  • Improved alphabetical sorting on target/process list, making it a little easier to find irregular processes
  • Improved searching for symbols in Debugger window's address field.
  • Improved changing memory protection and dumping memory so that they can be triggerred from any window
  • Improved Copy Address so that it includes address relativization
  • Improved Code Injection and added support for doing "really far" away jmp's
  • Improved and fixed bugs with Go to Branch Address in Debugger
  • Improved Narrowing Searches to take account for memory protection and begin/end address markers again
  • Improved performance slightly for searching for byte arrays
  • Improved consistency/implementation with how search documents, the memory viewer, and debugger handle processes
  • Fixed parsing bug for search expressions when comparing against Stored Values
  • Fixed target from crashing when watching for read/write accesses (bug introduced sometime during 1.7)
  • Fixed search flags not persisting when changing around options in a search document
  • Fixed debug.readBytes function in Scripting misusing memory.
  • Fixed debug.stepOut function in Scripting using incorrect return address
  • Fixed Debugger table not being updated when removing a breakpoint that has a condition.
  • Fixed Font/Color Panel being triggered when it's not necessary
  • Fixed Debugger being unable to jump to an address in the middle of an instruction


#27 gamnark

gamnark

    Novice Member

  • Members
  • 7 posts
  • Graphics Card:NVIDIA GeForce GT 330M
  • Operating System:OS X 10.8 (Mountain Lion)

Posted 11 May 2014 - 10:43 PM

Latest alpha crashes on me when any of its windows are closed.
Running 10.8.5.

#28 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 11 May 2014 - 11:15 PM

Was a running on 10.8 related bug. I released a fix. Thanks for reporting it.

Change log:
  • Improved performance changing targets and disassembling instructions in the debugger
  • Changed "Hot Keys" to "Shortcuts" in Preferences
  • Changed target and address field control widths for memory viewer and debugger
  • Fixed status bar not showing border correctly for search windows and debugger window
  • Fixed crash when closing a window on OS X 10.8
Bit Slicer 1.7 Alpha 18

#29 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 23 May 2014 - 03:45 AM

Change log:
  • Added vm.protect and vm.protectionAt functions to Scripting
  • Changed vm.write functions in Scripting so that they don't automatically alter page protections to be writable
  • Changed new script template slightly
  • Fixed bug where watching variable accesses did not halt when the target process dies
  • Fixed bug where a document was marked as edited when any process on the system launched or terminated
Bit Slicer 1.7 Alpha 19

Also fixed a problem with the server notifying when a new update is out.

#30 Zorg

Zorg

    Professional Member

  • Members
  • PipPipPipPip
  • 147 posts
  • LocationSpace
  • Graphics Card:I don't know.
  • Operating System:Other OS/Not specified
  • I like to play:Arcade, Side Scrollers

Posted 07 June 2014 - 01:15 AM

Official release for 1.7 is now out. Grab it here.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users