first commit
This commit is contained in:
commit
cd1e91bb99
287 changed files with 86425 additions and 0 deletions
176
rasta_data_manipulation/rasta_triturage/populate_db_tool.py
Normal file
176
rasta_data_manipulation/rasta_triturage/populate_db_tool.py
Normal file
|
@ -0,0 +1,176 @@
|
|||
import sqlite3
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
TOOL_INFO = [
|
||||
{
|
||||
"tool_name": "adagio",
|
||||
"use_python": True,
|
||||
"use_androguard": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "amandroid",
|
||||
"use_scala": True,
|
||||
"use_soot": False,
|
||||
"use_apktool": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "anadroid",
|
||||
"use_python": True,
|
||||
"use_java": True,
|
||||
"use_scala": True,
|
||||
"use_soot": False,
|
||||
"use_apktool": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "androguard",
|
||||
"use_python": True,
|
||||
"use_androguard": True, # Duh
|
||||
},
|
||||
{
|
||||
"tool_name": "androguard_dad",
|
||||
"use_python": True,
|
||||
"use_androguard": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "apparecium",
|
||||
"use_python": True,
|
||||
"use_androguard": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "blueseal",
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
"use_apktool": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "dialdroid",
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "didfail",
|
||||
"use_python": True,
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "droidsafe",
|
||||
"use_python": True,
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
"use_apktool": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "flowdroid",
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "gator",
|
||||
"use_python": True,
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
"use_apktool": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "ic3",
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "ic3_fork",
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "iccta",
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
"use_apktool": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "mallodroid",
|
||||
"use_python": True,
|
||||
"use_androguard": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "perfchecker",
|
||||
"use_java": True,
|
||||
"use_soot": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "redexer",
|
||||
"use_ocaml": True,
|
||||
"use_ruby": True,
|
||||
"use_apktool": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "saaf",
|
||||
"use_java": True,
|
||||
"use_soot": False,
|
||||
"use_apktool": True,
|
||||
},
|
||||
{
|
||||
"tool_name": "wognsen_et_al",
|
||||
"use_python": True,
|
||||
"use_prolog": True,
|
||||
"use_apktool": True,
|
||||
},
|
||||
]
|
||||
|
||||
for line in TOOL_INFO:
|
||||
for col in [
|
||||
"use_python",
|
||||
"use_java",
|
||||
"use_scala",
|
||||
"use_ocaml",
|
||||
"use_ruby",
|
||||
"use_prolog",
|
||||
"use_soot",
|
||||
"use_androguard",
|
||||
"use_apktool",
|
||||
]:
|
||||
if col not in line:
|
||||
line[col] = False
|
||||
|
||||
|
||||
def create_tool_table(db: Path):
|
||||
"""Create the db/table if it does not exist."""
|
||||
with sqlite3.connect(db) as con:
|
||||
cur = con.cursor()
|
||||
if (
|
||||
cur.execute("SELECT name FROM sqlite_master WHERE name='tool';").fetchone()
|
||||
is None
|
||||
):
|
||||
cur.execute(
|
||||
(
|
||||
"CREATE TABLE tool ("
|
||||
" tool_name, use_python, use_java, use_scala,"
|
||||
" use_ocaml, use_ruby, use_prolog, use_soot, "
|
||||
" use_androguard, use_apktool"
|
||||
");"
|
||||
)
|
||||
)
|
||||
con.commit()
|
||||
|
||||
|
||||
def populate_tool(
|
||||
db: Path,
|
||||
):
|
||||
"""Add to database the tool information"""
|
||||
create_tool_table(db)
|
||||
# DROP table if already exist? replace value?
|
||||
with sqlite3.connect(db) as con:
|
||||
cur = con.cursor()
|
||||
cur.executemany(
|
||||
(
|
||||
"INSERT INTO tool VALUES("
|
||||
" :tool_name, :use_python, :use_java, :use_scala,"
|
||||
" :use_ocaml, :use_ruby, :use_prolog, :use_soot, "
|
||||
" :use_androguard, :use_apktool"
|
||||
");"
|
||||
),
|
||||
TOOL_INFO,
|
||||
)
|
||||
con.commit()
|
Loading…
Add table
Add a link
Reference in a new issue