enhanced phpjoern framework helping library for cpg2code and symbolic tracking.
Project description
EnhancedPHPJoern Framework Cpg2Code Library
Introduction
This framework helps you convert code from CodePropertyGraph of PHP.
Installation
install from pip (not public yet)
pip3 install cpg2code
install from source code
git clone
python setup.py install
Usage
from enhanced_phpjoern_framework import Neo4jEngine
from enhanced_phpjoern_framework.graph_traversal import ControlGraphForwardTraversal
from cpg2code.cpg2code_factory import Cpg2CodeFactory
# WordPress-5.7.1/wp-load.php
neo4j_engine = Neo4jEngine.from_dict(NEO4J_DEFAULT_CONFIG)
traversal_entity = ControlGraphForwardTraversal(neo4j_engine)
file = neo4j_engine.get_file_name_belong_node('wp-load.php')
x = neo4j_engine.get_ast_child_node(neo4j_engine.get_ast_child_node(file))
origin = neo4j_engine.get_ast_root_node(x)
traversal_entity.origin = [origin]
traversal_entity.run()
rec = traversal_entity.get_record() # type:nx.DiGraph
rec_list = [k for k, p in rec.nodes.items()]
result = Cpg2CodeFactory.extract_code(neo4j_engine, rec_list)
print(result)
The compare of result can be seen as follows(the left is the source file and the right is the generated file)
Changelog
See [CHANGES.md](https://github.com/ninthDevilHAUNSTER/code2cpg/blob/master/CHANGES.md)
Authors
See [AUTHORS.md](https://github.com/ninthDevilHAUNSTER/code2cpg/blob/master/AUTHORS.md)
License
See [LICENSE.txt](https://github.com/ninthDevilHAUNSTER/code2cpg/blob/master/LICENSE.txt)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cpg2code-1.0.3.tar.gz
(16.0 kB
view hashes)
Built Distribution
Close
Hashes for cpg2code-1.0.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 57dc18ab32343f2237736d2bc6bf6b7155f0229f679e335adeaff1aad15b611d |
|
MD5 | 20b20d34d000563e13785394beba0196 |
|
BLAKE2b-256 | cf436c5674ff9cac2102c982b8e3c43d8d373b743eb65c27737191f38aaa0c0d |