Skip to content

Commit 386d632

Browse files
committed
fix encoding problem
1 parent 914ccfe commit 386d632

File tree

3 files changed

+49
-47
lines changed

3 files changed

+49
-47
lines changed

DbManager.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ class DBManagerClass:
1111
classdocs
1212
'''
1313
def __init__(self):
14-
self.client = MongoClient(HOSTNAME, 27017)
14+
#self.client = MongoClient(HOSTNAME, 27017)
15+
self.client = MongoClient("localhost", 27017)
1516
self.client["admin"].authenticate(USERNAME, PASSWORD)
1617
self.staticAnalysisDB = self.client['staticAnalysis']
1718
self.androidAppDB = self.client['androidApp']
@@ -32,6 +33,8 @@ def insertPermissionInfo (self, packagename, filename, permission, is_external,
3233
#print "Rows affected after inserting permission - " + str (rows_affected)
3334

3435
def insertLinkInfo (self, packagename, filename, link_url, is_external, triggered_by_code, externalpackagename):
36+
if type(link_url) != unicode:
37+
link_url = link_url.decode('UTF-8', 'ignore')
3538
self.staticAnalysisDB.Test_linkurl.insert({'packagename': packagename, 'filename': filename, 'link_url': link_url, 'is_external': is_external, 'triggered_by_code': triggered_by_code, 'externalpackagename': externalpackagename})
3639
#print "Rows affected after inserting permission - " + str (rows_affected)
3740

SearchIntents.py

+27-28
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ def __init__(self, infile, outfile, packages, dbMgr, noprefixfilename, a, d, dx)
9494

9595
'''
9696
Keeping destination class within range of mysql datatype
97-
'''
97+
'''
9898
if len(method[0]) > 250 :
9999
dst = (method[0][:200] + '..')
100100
elif method[0].find('$')!=-1 :
@@ -105,37 +105,36 @@ def __init__(self, infile, outfile, packages, dbMgr, noprefixfilename, a, d, dx)
105105

106106
#print method
107107
if ex3.search(method[0]) != None:
108-
_,link = full
108+
_,linkStr = full
109109
#print " APP - ", link
110-
if ('.png' in link) or ('127.0.0.1' in link) or ('www.w3.org' in link):
111-
continue
112-
###self.outHandle.write (" APP - ")
113-
###self.outHandle.write (link)
114-
###self.outHandle.write ('\n')
115-
if len(link) > 250 :
116-
strlink = (link[:200] + '..')
117-
else:
118-
strlink = link
119-
120-
121-
self.dbMgr.insertLinkInfo(self.main_package_name, self.fileName, strlink.decode('UTF-8', 'ignore'), False, dst, xpck)
122-
110+
for link in re.findall("http://[\S]+", linkStr):
111+
if ('.png' in link) or ('127.0.0.1' in link) or ('www.w3.org' in link):
112+
continue
113+
###self.outHandle.write (" APP - ")
114+
###self.outHandle.write (link)
115+
###self.outHandle.write ('\n')
116+
if len(link) > 250 :
117+
strlink = (link[:200] + '..')
118+
else:
119+
strlink = link
120+
121+
self.dbMgr.insertLinkInfo(self.main_package_name, self.fileName, strlink, False, dst, xpck)
123122
else:
124-
_,link = full
123+
_,linkStr = full
125124
#print "EXTERNAL - ", link
126-
if ('.png' in link) or ('127.0.0.1' in link) or ('www.w3.org' in link):
127-
continue
128-
###self.outHandle.write (" EXTERNAL - ")
129-
###self.outHandle.write (link)
130-
###self.outHandle.write ('\n')
131-
if len(link) > 250 :
132-
strlink = (link[:200] + '..')
133-
else:
134-
strlink = link
125+
for link in re.findall("http://[\S]+", linkStr):
126+
if ('.png' in link) or ('127.0.0.1' in link) or ('www.w3.org' in link):
127+
continue
128+
###self.outHandle.write (" EXTERNAL - ")
129+
###self.outHandle.write (link)
130+
###self.outHandle.write ('\n')
131+
if len(link) > 250 :
132+
strlink = (link[:200] + '..')
133+
else:
134+
strlink = link
135+
136+
self.dbMgr.insertLinkInfo(self.main_package_name, self.fileName, strlink, True, dst, xpck)
135137

136-
137-
self.dbMgr.insertLinkInfo(self.main_package_name, self.fileName, strlink.decode('UTF-8', 'ignore'), True, dst, xpck)
138-
139138
#access, idx = path[0]
140139
###self.outHandle.write ('\n\n')
141140
#self.outHandle.close()

namespaceanalyzer.py

+18-18
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,10 @@ def GetDecompiledPackageName (self, main_package_name):
142142
for string in main_package_name.split ('.'):
143143
tokens.append(string)
144144

145-
decompiledName = str ('L')
145+
decompiledName = 'L'
146146
for string in tokens:
147-
decompiledName = decompiledName + str(string)
148-
decompiledName = decompiledName + str ('/')
147+
decompiledName = decompiledName + string
148+
decompiledName = decompiledName + '/'
149149

150150

151151
#print decompiledName
@@ -180,8 +180,8 @@ def GetDirectoryName (self, package_name):
180180

181181
new_package_name = ""
182182
for string in tokens:
183-
new_package_name += str (string)
184-
new_package_name += str (".")
183+
new_package_name += string
184+
new_package_name += "."
185185

186186
#print new_package_name
187187
return new_package_name
@@ -249,27 +249,27 @@ def PopulateDirEntries (self, package_names):
249249
'''
250250
def PrintPackageNameAtLevel (self, rootEntry, packageLevel):
251251
if packageLevel == 1:
252-
self.packages.append (str (rootEntry.DirName))
252+
self.packages.append (rootEntry.DirName)
253253
if (len(rootEntry.DirName) <= 3) or rootEntry.DirName.find('$')!=-1 or ('w3c' in rootEntry.DirName) or ('apache' in rootEntry.DirName) or ('xml' in rootEntry.DirName) or ('junit' in rootEntry.DirName) or ('sun' in rootEntry.DirName) or ('android' in rootEntry.DirName) or ('dalvik' in rootEntry.DirName) or ('json' in rootEntry.DirName) :
254254
return
255-
if (str (rootEntry.DirName) in self.alreadyPrinted):
255+
if (rootEntry.DirName in self.alreadyPrinted):
256256
return
257257

258-
ex = re.compile (str (rootEntry.DirName))
258+
ex = re.compile (rootEntry.DirName)
259259
for maintokens in self.main_package_tokens:
260260
if (ex.search (maintokens) != None):
261261
return
262262
'''
263263
Printing into file as well as writing into Database
264264
'''
265265
###self.outHandle.write (str (rootEntry.DirName))
266-
if len(str (rootEntry.DirName)) > 250 :
267-
name = (str (rootEntry.DirName)[:200] + '..')
266+
if len(rootEntry.DirName) > 250 :
267+
name = (rootEntry.DirName[:200] + '..')
268268
else:
269-
name = str (rootEntry.DirName)
269+
name = rootEntry.DirName
270270
self.dbMgr.insert3rdPartyPackageInfo(self.main_package_name, self.fileName, name, self.category)
271271
###self.outHandle.write ("\n")
272-
self.alreadyPrinted.append (str (rootEntry.DirName))
272+
self.alreadyPrinted.append (rootEntry.DirName)
273273
return
274274

275275
packageLevel = packageLevel - 1
@@ -292,21 +292,21 @@ def PrintCommonAncestor (self, rootEntry, rules):
292292
self.dbMgr.insert3rdPartyPackageInfo (self.main_package_name, self.fileName, "titanium", self.category)
293293
self.alreadyPrinted.append ("titanium")
294294
elif ancestorLevel == 1:
295-
self.packages.append (str (rootEntry.DirName))
295+
self.packages.append (rootEntry.DirName)
296296
'''Rule added to PackageRules'''
297297
# if (len(rootEntry.DirName) <= 2) or ('w3c' in rootEntry.DirName) or ('apache' in rootEntry.DirName) or ('xml' in rootEntry.DirName) or ('L' in rootEntry.DirName) or ('junit' in rootEntry.DirName) or ('sun' in rootEntry.DirName) or ('android' in rootEntry.DirName) or ('dalvik' in rootEntry.DirName) or ('json' in rootEntry.DirName) :
298298
# return
299299
###self.outHandle.write (str (rootEntry.DirName))
300-
if len(str (rootEntry.DirName)) > 250 :
301-
name = (str (rootEntry.DirName)[:200] + '..')
300+
if len(rootEntry.DirName) > 250 :
301+
name = (rootEntry.DirName[:200] + '..')
302302
else:
303-
name = str (rootEntry.DirName)
303+
name = rootEntry.DirName
304304
self.dbMgr.insert3rdPartyPackageInfo (self.main_package_name, self.fileName, name, self.category)
305305
###self.outHandle.write ("\n")
306-
self.alreadyPrinted.append (str (rootEntry.DirName))
306+
self.alreadyPrinted.append (rootEntry.DirName)
307307
else:
308308
#google package
309-
self.packages.append (str (self.main_package_name))
309+
self.packages.append (self.main_package_name)
310310
'''Rule added to PackageRules'''
311311
# if (len(rootEntry.DirName) <= 2) or ('w3c' in rootEntry.DirName) or ('apache' in rootEntry.DirName) or ('xml' in rootEntry.DirName) or ('L' in rootEntry.DirName) or ('junit' in rootEntry.DirName) or ('sun' in rootEntry.DirName) or ('android' in rootEntry.DirName) or ('dalvik' in rootEntry.DirName) or ('json' in rootEntry.DirName) :
312312
# return

0 commit comments

Comments
 (0)