28 Commits

Author SHA1 Message Date
atlas0fd00m ecc2866b3c Visgraph bug older than dirt (#387)
* initial fixes.

* ye old ancient visgraph del*Prop bugs... and unittests!
2021-04-06 15:41:48 -04:00
James Gross 888d683663 Py3 Cleanup (#353)
* clean up the emulators a bit. tried to use safemem to fix the bug, but that didn't work as intended.

* ton of cleanup and test cleanup. and also emulator fix

* found the edge case

* Make the dirs on a save just in case

* fix issue with v_zwstr in vstruct parsing and cleanup

* Bunch of little fixups from division fixes for py2/3 stuff, a set of new intel instructions (from decoding all the way up to symboliks), to PE loading

* Docstring updates, more unittests for vstruct, extension fix, memcanvas fix for certain edge cases. Overall: incorporating feedback from @willi and @atlas

* custom log level

* envi config encoding per @willi, getting memoryview hotkeys working again for the same reason mouse was broken
2021-02-12 22:55:03 -05:00
James Gross a7b5f8deef Py3 cutover (try number: who knows?) (#328)
Massive cutover to python3 (baseline is 3.9.1, but is also tested/working on 3.7.x). This merge is a breaking change for any downstream consumers, as the python 2->3 strings/bytes change is central. Most APIs should still work roughly as intended, as I didn't majorly re-organize the codebase, so most APIs live where they lived before. But a changelog/migration guide will be included in the next PR for this.

This PR will constitute most if not all of the v1.0.0 release that is forthcoming soon.
2021-02-03 14:37:09 -05:00
James Gross 80de840881 Even More Syntax Cleanup (#293)
A lot of cleanup things in prep for a python 3 transition. Getting rid of the old exception syntax, converting prints over to logging, cutting random scraps of code to be proper unit tests,  cut away some older bits of code, etc.

This still works in python2. It's just a lot of tidying up. There are no major functionality changes.
2020-09-08 13:00:06 -04:00
James Gross 6f069e7811 Test clean up (#250)
* Still WIP. need to check on perf_update. Core concept for splitting a jump table on encountering another pointer to somewhere inside it is there. need to del codeblock refs on differing functions and add tests

* vivbins isn't a thing anymore

* handle case of differing functions for two consecutive jump tables

* More tests for vivgraph and add comment to jump cases to tell us what other cases fall through to this one

* test cleanup

* Fix slight bug and add tests for vdir

* moar long path tests

* More tests

* making things purty

* Spelling

* cut out some of the aesthetic changes for now

* Carving out bugfix to new branch

* Remove refs
2019-09-10 11:29:45 -04:00
atlas af722b4e08 graphcore gets delEdgeProps() 2017-05-26 12:27:08 -04:00
invisig0th 6e6287a1f8 Merge pull request #44 from atlas0fd00m/atlas_funcgraph_paintupdown
party time (oldest PR ever merged in viv) @atlas0fd00m
2016-02-16 15:31:40 -05:00
atlas de3257bea3 fix example 2016-02-16 14:41:59 -05:00
atlas 7e94e2a16a and fixing it. 2016-02-16 14:36:58 -05:00
atlas c0e2ed810e get rid of default tuple for props on graph.delNodesProps() 2016-02-16 14:32:44 -05:00
atlas 05bb685181 thank you for catching my stupid, visi. 2016-02-11 08:57:08 -05:00
invisig0th 4ca861e5d4 Merge pull request #108 from atlas0fd00m/viv_save_view_by_guid_or_files
store view layouts based on GUID first, then filename(s), then defaul…
2016-02-05 10:03:59 -05:00
atlas 0706b42748 derp. remove unnecessary import uuid 2016-02-05 10:01:23 -05:00
atlas be0f2dd817 guid() for graphcore as well. 2016-02-03 09:50:05 -05:00
atlas 9400844092 visimods 2016-01-24 00:05:15 -05:00
atlas 760873f4e6 defaults updated. 2016-01-23 23:42:08 -05:00
atlas 9056cb829b replace guid defs/usage with uuid.uuid4().hex 2016-01-07 09:31:34 -05:00
atlas 968c3d6f5c tweak per visi 2015-11-20 01:00:41 -05:00
atlas df891f7ee7 Merge branch 'master' of https://github.com/vivisect/vivisect into atlas_graph_clone
Conflicts:
	visgraph/graphcore.py
2015-11-20 00:59:32 -05:00
atlas 8d87378439 fix delNode() to make a copy of each list of edges while deleting 2015-07-23 10:04:17 -04:00
atlas ad428f953f renaming clone to merge 2015-07-22 14:10:32 -04:00
psilberman 430b49465a isRootNode was missing node parameter 2015-05-08 09:34:50 -04:00
atlas 36f2c6ed43 make graphs easily clonable by design. 2015-02-19 15:13:12 -05:00
invisigoth fd5601b1e5 bugfix for visgraph delNode calling delEdge 2015-02-19 13:52:02 -05:00
invisigoth 026866fe4b bugfix for visgraph delNode 2015-02-19 13:49:58 -05:00
invisigoth ccd77a9e3a moved metadata initializeing into wipeGraph() 2014-11-15 11:49:59 -05:00
invisigoth 251f9af191 added primary/atomic property support to base graph object 2014-11-14 23:09:55 -05:00
invisigoth be146cabd2 initial import from hg 2014-11-14 16:59:32 -05:00