예제 #1
0
        public List <string> getPermissionsofThisReport()
        {
            apkInfoTable  apk   = getApkOfThisReport();
            List <string> perms = apk.getAllPermissionThatExistInThisAPK(apk.apkInfoID);

            return(perms);
        }
예제 #2
0
 public apkInfoTable getApkOfThisReport()
 {
     try
     {
         apkInfoTable apkk;
         if (databaseLayer.myConnection.State == ConnectionState.Closed)
         {
             databaseLayer.myConnection.Open();
         }
         SqlCommand   myCommand       = new SqlCommand("Select apkInfoID from  report where reportID=@y", databaseLayer.myConnection);
         SqlParameter secondParamater = new SqlParameter("@y", reportId);
         myCommand.Parameters.Add(secondParamater);
         SqlDataReader reader = myCommand.ExecuteReader();
         if (reader.Read())
         {
             Int32        apkID = (Int32)reader[0];
             SqlCommand   apk   = new SqlCommand("Select * from ApkInfo where apkID=@id", databaseLayer.myConnection);
             SqlParameter id    = new SqlParameter("@id", apkID);
             apk.Parameters.Add(id);
             SqlDataReader apkInfo = apk.ExecuteReader();
             if (apkInfo.Read())
             {
                 String apkName         = (String)apkInfo[1];
                 String minSDK          = (String)apkInfo[2];
                 String targetSdk       = (String)apkInfo[3];
                 String packageName     = (String)apkInfo[4];
                 String versionCode     = (String)apkInfo[5];
                 String versionName     = (String)apkInfo[6];
                 float  apkRiskLevel    = float.Parse(apkInfo[7].ToString());
                 bool   testOnlyFlag    = bool.Parse(apkInfo[8].ToString());
                 bool   debuggableFlag  = bool.Parse(apkInfo[9].ToString());
                 bool   backupFlag      = bool.Parse(apkInfo[10].ToString());
                 bool   allFlag         = bool.Parse(apkInfo[11].ToString());
                 bool   armeabiFlag     = bool.Parse(apkInfo[12].ToString());
                 bool   armeabi_v7aFlag = bool.Parse(apkInfo[13].ToString());
                 bool   arm64_V8aFlag   = bool.Parse(apkInfo[14].ToString());
                 bool   X86Flag         = bool.Parse(apkInfo[15].ToString());
                 bool   X86_64Flag      = bool.Parse(apkInfo[16].ToString());
                 bool   mipsFlag        = bool.Parse(apkInfo[17].ToString());
                 bool   mips64Flag      = bool.Parse(apkInfo[18].ToString());
                 apkk = new apkInfoTable(apkInfoID, apkRiskLevel, apkName, minSDK, targetSdk, packageName, versionCode, versionName, testOnlyFlag, debuggableFlag, backupFlag, allFlag, armeabiFlag, armeabi_v7aFlag, arm64_V8aFlag, X86Flag, X86_64Flag, mipsFlag, mips64Flag);
                 apkInfo.Dispose();
             }
             else
             {
                 apkInfo.Dispose();
                 return(null);
             }
             reader.Dispose();
             return(apkk);
         }
         else
         {
             return(null);
         }
     }
     catch (System.InvalidOperationException)
     {
         return(null);
     }
 }
예제 #3
0
        static public apkInfoTable insertAPKInfo(float apkRiskLevel, string apkName, string minSDK, string targetSDK, string packageName, string versionCode, string versionName, bool testOnly, bool debuggable, bool backup, bool all, bool armeabi, bool armeabi_v7a, bool arm64_v8a, bool x86, bool x86_64, bool mips, bool mips64)
        {
            if (databaseLayer.myConnection.State == System.Data.ConnectionState.Closed)
            {
                databaseLayer.myConnection.Open();
            }
            try
            {
                SqlCommand myCommand = new SqlCommand("insert into ApkInfo (" +
                                                      "apkName , minSDK , targetSdk , packageName , versionCode ," +
                                                      "versionName , apkRiskLevel , testOnlyFlag , debuggableFlag , backupFlag ," +
                                                      " allFlag , armeabiFlag , armeabi_v7aFlag , arm64_V8aFlag , X86Flag , X86_64Flag , mipsFlag , mips64Flag ) OUTPUT INSERTED.apkID values (@b,@d,@c,@e,@f,@h,@I,@J,@K,@L,@M,@N,@O,@P,@Q,@R,@S,@T)", databaseLayer.myConnection);
                //it is OUTPUT INSERTED.apkID  not  OUTPUT INSERTED.ID and no need for it
                SqlParameter secondParameter   = new SqlParameter("@b", apkName);
                SqlParameter forthParameter    = new SqlParameter("@d", minSDK);
                SqlParameter thirdParameter    = new SqlParameter("@c", targetSDK);
                SqlParameter fifthParameter    = new SqlParameter("@e", packageName);
                SqlParameter sixthParameter    = new SqlParameter("@f", versionCode);
                SqlParameter seventhParemeter  = new SqlParameter("@h", versionName);
                SqlParameter eighthParameter   = new SqlParameter("@I", apkRiskLevel);
                SqlParameter ninthParameter    = new SqlParameter("@J", testOnly);
                SqlParameter tenthParameter    = new SqlParameter("@K", debuggable);
                SqlParameter eleventhParameter = new SqlParameter("@L", backup);
                SqlParameter twelvethParameter = new SqlParameter("@M", all);
                SqlParameter T13th             = new SqlParameter("@N", armeabi);
                SqlParameter T14th             = new SqlParameter("@O", armeabi_v7a);
                SqlParameter T15th             = new SqlParameter("@P", arm64_v8a);
                SqlParameter T16th             = new SqlParameter("@Q", x86);
                SqlParameter T17th             = new SqlParameter("@R", x86_64);
                SqlParameter T18th             = new SqlParameter("@S", mips);
                SqlParameter T19th             = new SqlParameter("@T", mips64);

                myCommand.Parameters.Add(secondParameter);
                myCommand.Parameters.Add(forthParameter);
                myCommand.Parameters.Add(thirdParameter);
                myCommand.Parameters.Add(fifthParameter);
                myCommand.Parameters.Add(sixthParameter);
                myCommand.Parameters.Add(seventhParemeter);
                myCommand.Parameters.Add(eighthParameter);
                myCommand.Parameters.Add(ninthParameter);
                myCommand.Parameters.Add(tenthParameter);
                myCommand.Parameters.Add(eleventhParameter);
                myCommand.Parameters.Add(twelvethParameter);
                myCommand.Parameters.Add(T13th);
                myCommand.Parameters.Add(T14th);
                myCommand.Parameters.Add(T15th);
                myCommand.Parameters.Add(T16th);
                myCommand.Parameters.Add(T17th);
                myCommand.Parameters.Add(T18th);
                myCommand.Parameters.Add(T19th);
                Int32        Id      = (Int32)myCommand.ExecuteScalar(); // works only with output clause
                apkInfoTable apkInfo = new apkInfoTable(Id, apkRiskLevel, apkName, minSDK, targetSDK, packageName, versionCode, versionName, testOnly, debuggable, backup, all, armeabi, armeabi_v7a, arm64_v8a, x86, x86_64, mips, mips64);
                databaseLayer.myConnection.Close();
                return(apkInfo);
            }
            catch (System.Data.SqlClient.SqlException ex)
            {
                databaseLayer.myConnection.Close();
                return(null);
            }
        }