김가영

데이터 sqlite 형식으로 변경

No preview for this file type
1 @echo 1 @echo
2 cd C:\Users\%USERNAME%\Desktop\batch_file 2 cd C:\Users\%USERNAME%\Desktop\batch_file
3 adb devices > C:\Users\%USERNAME%\Desktop\batch_file\device.txt 3 adb devices > C:\Users\%USERNAME%\Desktop\batch_file\device.txt
4 -adb shell dumpsys alarm > C:\Users\%USERNAME%\Desktop\batch_file\alarm.txt 4 +adb shell dumpsys alarm | grep -e "[set]" -e "[trigger]" -e "[remove]" | grep "com.sec.android.app.clockpackage" > C:\Users\%USERNAME%\Desktop\batch_file\alarm.txt
5 -adb shell ps -A > C:\Users\%USERNAME%\Desktop\batch_file\process.txt 5 +adb shell ps -Af > C:\Users\%USERNAME%\Desktop\batch_file\process.txt
6 adb shell uptime > C:\Users\%USERNAME%\Desktop\batch_file\uptime.txt 6 adb shell uptime > C:\Users\%USERNAME%\Desktop\batch_file\uptime.txt
7 adb shell getprop ro.product.model > C:\Users\%USERNAME%\Desktop\batch_file\model.txt 7 adb shell getprop ro.product.model > C:\Users\%USERNAME%\Desktop\batch_file\model.txt
8 adb shell getprop ro.build.version.release > C:\Users\%USERNAME%\Desktop\batch_file\sdk_version.txt 8 adb shell getprop ro.build.version.release > C:\Users\%USERNAME%\Desktop\batch_file\sdk_version.txt
......
1 import os.path 1 import os.path
2 +import sys
2 import requests 3 import requests
4 +import sqlite3
5 +import os
3 6
4 -def data_check(data_path): 7 +def create_adb_info_db():
8 + path = os.path.expanduser('~')+"\\Desktop\\batch_file\\"
9 + if(os.path.isfile(path+'adb_info.db')):
10 + os.remove(path+'adb_info.db')
11 + conn=sqlite3.connect('adb_info.db')
12 + c = conn.cursor()
13 + c.execute("CREATE TABLE process (UID TEXT, PID TEXT, PPID TEXT, C TEXT, STIME TEXT, TTY TEXT, TIME TEXT, CMD TEXT)")
14 + c.execute("CREATE TABLE info (android_version TEXT, sdk_version TEXT, device TEXT, model TEXT, uptime TEXT)")
15 + c.execute("CREATE TABLE alarm (TIME TEXT, TYPE TEXT, DETAIL TEXT)")
16 + conn.commit()
17 + c.close()
18 +
19 +def insert_alarm_db_file(info):
20 + conn=sqlite3.connect('adb_info.db')
21 + c = conn.cursor()
22 + c.execute(
23 + 'insert into alarm(TIME, TYPE, DETAIL) values (?, ?, ?)'\
24 + , (info[0], info[1], info[2])
25 + )
26 + conn.commit()
27 + c.close()
28 +
29 +def insert_info_db_file(info):
30 + conn=sqlite3.connect('adb_info.db')
31 + c = conn.cursor()
32 + c.execute(
33 + 'insert into info(android_version, sdk_version, device, model, uptime) values (?, ?, ?, ?, ?)'\
34 + , (info[0], info[1], info[2], info[3], info[4])
35 + )
36 + conn.commit()
37 + c.close()
38 +
39 +def insert_process_db_file(data_path):
40 + conn=sqlite3.connect('adb_info.db')
41 + c = conn.cursor()
42 + with open(data_path) as f:
43 + file_data = f.readlines()
44 + for item in file_data:
45 + info = item.strip().split()
46 + c.execute(
47 + 'insert into process(UID, PID, PPID, C, STIME, TTY, TIME, CMD) values (?, ?, ?, ?, ?, ?, ?, ?)'\
48 + , (info[0], info[1], info[2], info[3], info[4], info[5], info[6], info[7])
49 + )
50 + conn.commit()
51 + c.close()
52 +
53 +def data_processing(data_path, info):
5 while(True): 54 while(True):
6 if(os.path.isfile(data_path)): 55 if(os.path.isfile(data_path)):
7 print("file") 56 print("file")
...@@ -9,20 +58,61 @@ def data_check(data_path): ...@@ -9,20 +58,61 @@ def data_check(data_path):
9 else: 58 else:
10 print("x") 59 print("x")
11 continue 60 continue
12 - data_transfer(data_path) 61 + if(data_path.endswith('android_version.txt') or data_path.endswith('sdk_version.txt') or data_path.endswith('model.txt') or data_path.endswith('uptime.txt')):
62 + with open(data_path) as f:
63 + file_data = f.readlines()
64 + info.append(file_data[0].strip())
65 + print(info)
66 + if(data_path.endswith('uptime.txt')):
67 + insert_info_db_file(info)
68 + elif(data_path.endswith('device.txt')):
69 + with open(data_path) as f:
70 + f.readline()
71 + file_data = f.readlines()
72 + info.append((file_data[0].strip().split())[0])
73 + print(info)
74 + elif(data_path.endswith('process.txt')):
75 + insert_process_db_file(data_path)
76 + elif(data_path.endswith('alarm.txt')):
77 + with open(data_path) as f:
78 + f.readline()
79 + file_data = f.readlines()
80 + for i in file_data:
81 + if(i.endswith("wakeups:\n")):
82 + continue
83 + else:
84 + if("[set]" in i or "[trigger]" in i or "[remove]" in i):
85 + alarm_list = []
86 + temp = i.strip().split('[') #time
87 + temp2 = temp[1].split(']') #set 정보, detail
88 + alarm_list.append(temp[0])
89 + alarm_list.extend(temp2)
90 + print(alarm_list)
91 + insert_alarm_db_file(alarm_list)
13 92
14 def data_transfer(data_path): 93 def data_transfer(data_path):
15 with open(data_path, 'rb') as files: 94 with open(data_path, 'rb') as files:
16 - header = {'Authorization':'Bearer ',} 95 + header = {'Authorization':'..',}
17 upload = {'file':files} 96 upload = {'file':files}
18 response = requests.post('http://13.209.3.132/extractions', files=upload, headers=header) 97 response = requests.post('http://13.209.3.132/extractions', files=upload, headers=header)
19 print(response.text) 98 print(response.text)
20 99
21 def main(): 100 def main():
22 - path = os.path.expanduser('~')+"\\Desktop\\batch_file\\" 101 + try:
23 - data_tup = [path+"android_version.txt", path+"alarm.txt", path+"device.txt", path+"model.txt", path+"process.txt", path+"sdk_version.txt", path+"uptime.txt", path+"InnerDatabase_test.db", path+"networkDatabase_test.db"] 102 + info = []
24 - for i in data_tup: 103 + path = os.path.expanduser('~')+"\\Desktop\\batch_file\\"
25 - print(i) 104 + data_tup = [path+"android_version.txt", path+"sdk_version.txt", path+"device.txt", path+"model.txt", path+"uptime.txt", path+"process.txt", path+"alarm.txt", path+"InnerDatabase_test.db", path+"networkDatabase_test.db"]
26 - data_check(i) 105 + create_adb_info_db()
106 + for i in data_tup:
107 + print(i)
108 + data_processing(i, info)
109 + trans_data_tup = [path+"adb_info.db", path+"InnerDatabase_test.db", path+"networkDatabase_test.db"]
110 + for i in trans_data_tup:
111 + print(i)
112 + data_transfer(i)
113 + except Exception as e:
114 + exc_type, exc_obj, tb = sys.exc_info()
115 + print('[error line No = {}]'.format(tb.tb_lineno))
116 + print(e)
27 117
28 main() 118 main()
......
No preview for this file type