Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2017-10-13 | 3.4 kB | |
v0.17_ Speed improvements and sets support source code.tar.gz | 2017-10-13 | 220.6 kB | |
v0.17_ Speed improvements and sets support source code.zip | 2017-10-13 | 265.7 kB | |
Totals: 3 Items | 489.7 kB | 30 |
Features:
- Add
!
as an alias forshell
- Working
snapshot
andupdate
for string/bytearray scans list
gained amax_to_print
parameter (default: 10k)delete
,dregion
andset
learned to work with full featured sets of values- Add custom pager support (env
$PAGER
) - Remove dependence of libscanmem from libreadline, it is now needed only for scanmem
- Feature removed: obsolete
detect_reverse_change
mechanism - Add a
-c/--command
switch to give commands to run before the interactive mode - Add a
-e/--errexit
switch to exit on initial commands errors, for robust scripting - library API: Add a function to clean up memory used
- library API: Export only the intended
sm_*
interface - gui: Show up to 10k entries, thanks to underlying optimizations
- gui: Add button to interrupt mid-scan
- gui: Keyboard-only navigation
- gui: Add a refresh button in Hexview
- Collaboration: Added a scanmem Slack chat, come say hi if you're interested in the project
Performance:
- Inline nested scan functions: 40-60% less time in anytype scans
- Optimize
searchregions()
main loop: ~20% less time in initial scans - Add optimizations for small string/bytearray: ~50% less time if len<=8
- Rehaul bytearray storage: ~10% less scan time
- Complete rewrite of the incoming memory handling: 10-40% less first scan time and string/bytearray scan speed generally improved by 2x-100x (yes, 100x)
- Improvements to
add_element()
, for ~30% fastersnapshot
time. - Rework of the match flags type: ~10% faster scans and ~30% faster
snapshot
Overall scanning should be much faster, ranging from 1.5x of single types, 2x of anytypes, 2.5x of snapshot and 3x-100x of string/bytearray.
Fixes:
- Improved documentation (help, manpages, readme)
list
works correctly with >100 digits floats- Allocate copy of input strings, to fix unaligned access on ARM
- Negative numbers aren't parsed as uint64 anymore
- Check if a scan can possibly match anything before going on
- gui: fix erroneous hexview caching
Internal clean-up:
- Fixed the C standard:
gnu99
- Clean up includes (twice!)
- Move common functions to
common.h
- Use
size_t
for sizing - Add testing framework
- Use travis CI for automagic testing
- gui: Use the backend communication mechanism for data_worker
- gui: Free memory allocated by libsm at exit
New GUI translations:
- German
- Italian
- Serbian (sr_ME)
- Spanish
People:
Andrea Stacchiotti ( @12345ieee , me) was added as maintainer Bijan Kazemi-Shirkadeh ( @bkazemi ) was added as committer
Notes for packagers:
The split of scanmem (CLI frontend) from libscanmem (library that actually does the work) should be completed. They can therefore be offered as separate packages, if desired.
libscanmem should not depend on libreadline/libtinfo anymore. gameconqueror should depend only on libscanmem and not on the whole scanmem.
Known issues:
- gui: not using Python 3 shebang by default (#300)
- configure:
AM_PROG_CC_C_O
macro missing for older distros (#289) - gui: appdata to metainfo conversion missing (#295)
- gui: exception due to empty process name (c7cb19cc5c347299ba71eea509a43908d1866c69)