김예미

modify data extraction part

...@@ -20,8 +20,7 @@ ...@@ -20,8 +20,7 @@
20 <button id="connect_btn">Connect device</button> 20 <button id="connect_btn">Connect device</button>
21 </div> 21 </div>
22 <div class="content"> 22 <div class="content">
23 - <h1>Contents</h1> 23 + <h1 id="cc">Contents</h1>
24 - </div>
25 <div data-role="main" class="ui-content" id="btn_group"> 24 <div data-role="main" class="ui-content" id="btn_group">
26 <button id="connect_btn" onclick="location.href='menu.html'">Next</button> 25 <button id="connect_btn" onclick="location.href='menu.html'">Next</button>
27 </div> 26 </div>
......
1 const { ipcRenderer } = require("electron"); 1 const { ipcRenderer } = require("electron");
2 const { BrowserWindow } = require("electron").remote; 2 const { BrowserWindow } = require("electron").remote;
3 -const {app, BrowserWindow} = require('electron')
4 const path = require('path') 3 const path = require('path')
5 const fs = require('fs') 4 const fs = require('fs')
6 var exec = require('child_process').exec, child; //!!!! 2. 5 var exec = require('child_process').exec, child; //!!!! 2.
...@@ -20,39 +19,61 @@ connect_btn.addEventListener("click", () => { ...@@ -20,39 +19,61 @@ connect_btn.addEventListener("click", () => {
20 nodeIntegration: true 19 nodeIntegration: true
21 } 20 }
22 }); 21 });
22 +
23 //win.webContents.openDevTools(); 23 //win.webContents.openDevTools();
24 win.on("close", () => { 24 win.on("close", () => {
25 win = null; 25 win = null;
26 }); 26 });
27 win.loadFile("./src/connect.html"); 27 win.loadFile("./src/connect.html");
28 win.show(); 28 win.show();
29 +
30 +});
31 +
32 +var connection = mysql.createConnection({
33 + host:'localhost',
34 + user:'root',
35 + password:'1234'
36 +});
29 37
30 - cmd_install = exec('adb install -r app-release.apk',function(error, stdout, stderr){ 38 +connection.connect();
31 - console.log('>>> install apk'); 39 +
32 - cmd_exec = exec('adb shell am start -n com.example.dataextraction/com.example.dataextraction.MainActivity',function(error, stdout, stderr){ 40 +function apkInstall(){
33 - console.log('>>> exec app'); 41 + cmd_install = exec('adb -s '+device+' install -r app-release.apk',function(error, stdout, stderr){
42 + cc.innerHTML="install apk";
43 + cmd_exec = exec('adb -s '+device+' shell am start -n com.example.dataextraction/com.example.dataextraction.MainActivity',function(error, stdout, stderr){
44 + cc.innerHTML="start app";
45 + cc.innerHTML="extract data";
34 }) 46 })
35 - }); 47 + });
36 - cmd_install(); 48 + cmd_install();
37 - 49 +}
38 - }); 50 +
51 +var device = new String();
52 +ipcRenderer.on("device", (e, arg) => {
53 + device = arg;
54 + connect_btn.innerHTML = "Connected : ".concat(device);
55 + //device.innerHTML = arg.toString();
56 +
57 + apkInstall();
58 +});
59 +
39 60
40 function extractDB () { 61 function extractDB () {
41 - cmd_backup = exec('adb backup com.example.dataextraction -f backup.dataextraction.ad', function(error, stdout, stderr){ 62 + cmd_backup = exec('adb -s '+device+' backup com.example.dataextraction -f backup.dataextraction.ad', function(error, stdout, stderr){
42 - console.log('>>> backup app'); 63 + cc.innerHTML="backup app";
43 setTimeout(function(){ 64 setTimeout(function(){
44 cmd_unpack = exec('java -jar abe.jar unpack backup.dataextraction.ad dataextraction.tar',function(error, stdout, stderr){ 65 cmd_unpack = exec('java -jar abe.jar unpack backup.dataextraction.ad dataextraction.tar',function(error, stdout, stderr){
45 - console.log('>>> unpack backup'); 66 + cc.innerHTML="unpack backup";
46 cmd_unzip = exec('tar xvf dataextraction.tar', function(error, stdout, stderr){ 67 cmd_unzip = exec('tar xvf dataextraction.tar', function(error, stdout, stderr){
47 - console.log('>>> unzip tar'); 68 + cc.innerHTML="unzip tar";
48 cmd_moveIdb = fs.rename('apps/com.example.dataextraction/db/InnerDatabase.db', 'InnerDatabase.db', function(){ 69 cmd_moveIdb = fs.rename('apps/com.example.dataextraction/db/InnerDatabase.db', 'InnerDatabase.db', function(){
49 - console.log('>>> move InnerDB File'); 70 + cc.innerHTML="move InnerDB File";
50 cmd_moveNdb = fs.rename('apps/com.example.dataextraction/db/networkDatabase.db', 'networkDatabase.db',function(){ 71 cmd_moveNdb = fs.rename('apps/com.example.dataextraction/db/networkDatabase.db', 'networkDatabase.db',function(){
51 - console.log('>>> move NetworkDB File'); 72 + cc.innerHTML="move NetworkDB File";
52 cmd_sqlIdb = exec('sqlite3 InnerDatabase.db .dump | python SQLiteToMysql.py > InnerDatabase.sql',function(error, stdout, stderr){ 73 cmd_sqlIdb = exec('sqlite3 InnerDatabase.db .dump | python SQLiteToMysql.py > InnerDatabase.sql',function(error, stdout, stderr){
53 - console.log('>>> make InnerDB SQL'); 74 + cc.innerHTML="make InnerDB SQL";
54 cmd_sqlNdb = exec('sqlite3 networkDatabase.db .dump | python SQLiteToMysql_network.py > networkDatabase.sql', function(error, stdout, stderr){ 75 cmd_sqlNdb = exec('sqlite3 networkDatabase.db .dump | python SQLiteToMysql_network.py > networkDatabase.sql', function(error, stdout, stderr){
55 - console.log('>>> make NetworkDB SQL'); 76 + cc.innerHTML="make NetworkDB SQL";
56 77
57 connection.query('DROP DATABASE IF EXISTS DATAEXTRACTION; CREATE DATABASE DATAEXTRACTION CHARACTER SET utf8mb4 COLLATE utf8mb4_bin',function(error, result,fields){ 78 connection.query('DROP DATABASE IF EXISTS DATAEXTRACTION; CREATE DATABASE DATAEXTRACTION CHARACTER SET utf8mb4 COLLATE utf8mb4_bin',function(error, result,fields){
58 connection.query('DROP DATABASE IF EXISTS DATAEXTRACTION_NETWORK; CREATE DATABASE DATAEXTRACTION_NETWORK',function(error, result, fields){ 79 connection.query('DROP DATABASE IF EXISTS DATAEXTRACTION_NETWORK; CREATE DATABASE DATAEXTRACTION_NETWORK',function(error, result, fields){
...@@ -71,26 +92,10 @@ function extractDB () { ...@@ -71,26 +92,10 @@ function extractDB () {
71 92
72 //db insert done 93 //db insert done
73 io.on('connection', function(socket){ 94 io.on('connection', function(socket){
74 - console.log('>>> connect'); 95 + cc.innerHTML="connect";
75 - var instanceId = socket.id; 96 + var instanceId = socket.id;
76 97
77 - socket.on('alert', function(data){ 98 + socket.on('alert', function(data){
78 - console.log(data); 99 + extractDB();
79 - extractDB();
80 }) 100 })
81 }) 101 })
82 -
83 -var connection = mysql.createConnection({
84 - host:'localhost',
85 - user:'root',
86 - password:'1234'
87 -});
88 -
89 -connection.connect();
90 -
91 -var device = new String();
92 -ipcRenderer.on("device", (e, arg) => {
93 - device = arg;
94 - connect_btn.innerHTML = "Connected : ".concat(device);
95 - //device.innerHTML = arg.toString();
96 -});
...\ No newline at end of file ...\ No newline at end of file
......