<div dir="ltr"><font size="4"> Hello, everyone.</font><div><font size="4">          These days, I have been trying to add extra condition statements into Android apps by Soot. However, I encountered some problems.</font></div><div><font size="4">           Here is the example.</font></div><div><font size="4">           long[] res = getNaturalEvnCtxs();</font></div><div><font size="4">           long time = res[0];</font></div><div><font size="4">           long seconds = res[1];</font></div><div><font size="4">           if (time == 0 && time  > seconds)    //<span style="background-color:rgb(182,215,168)">The original condition </span></font></div><div><font size="4"><span style="white-space:pre">    </span>  {</font></div><div><font size="4">                  <span style="background-color:rgb(159,197,232)"> // add my if() statement {</span></font></div><div><span style="font-size:large">                   <span style="background-color:rgb(217,234,211)"> boolean flag=fun1();</span></span><span style="font-size:large;background-color:rgb(217,234,211)"> </span></div><div><span style="background-color:rgb(217,234,211)"><font size="4"><span style="white-space:pre">               </span>    </font><span style="font-size:large">if(flag){</span></span></div><div><font size="4">                    System.exit(0);</font></div><div><font size="4">                   <span style="background-color:rgb(217,234,211)"> } </span></font></div><div><font size="4">                 <span style="background-color:rgb(159,197,232)"> // }  my condition statement</span></font></div><div><font size="4"><span style="white-space:pre"> </span>   }</font></div><div><font size="4">          smsManager.sendTextMessage("223456", null, imei, null, null); </font></div><div><font size="4">             </font></div><div><font size="4">          To further control the execution of   "</font><span style="font-size:large">System.exit(0);", I want to add another condition statement controlling it.</span></div><div><span style="font-size:large">           </span></div><div><span style="font-size:large">           My code is as follows:</span></div><div><span style="font-size:large">  </span></div><div><span style="font-size:large">          </span><font size="4">Unit unit = oldif; // original condition statement, namely </font><span style="font-size:large"> </span><span style="font-size:large">if (time == 0 && time  > seconds)</span><span style="font-size:large">              IfStmt tt=(IfStmt) unit;</span></div><div><span style="font-size:large">           </span><font size="4">List<Type> parameter=new ArrayList<Type>();</font></div><div><font size="4">           List<Unit> beforegenerated = new ArrayList<Unit>();<br></font></div><div><font size="4"><span style="white-space:pre">   </span>   parameter.add(RefType.v("java.lang.String"));</font></div><div><font size="4"><span style="white-space:pre">      </span>   SootMethod fun = sootClass.getMethod("fun1",</font></div><div><font size="4"><span style="white-space:pre">               </span>parameter);</font></div><div><font size="4"><span style="white-space:pre">       </span>   StaticInvokeExpr test = Jimple.v().newStaticInvokeExpr(</font></div><div><font size="4"><span style="white-space:pre">                                      </span>fun.makeRef(), StringConstant.v(s11));</font></div><div><font size="4"><span style="white-space:pre">    </span>   </font><span style="font-size:large">Local beforestr=generateNewLocal(body,BooleanType.v());    </span></div><div><font size="4"><span style="white-space:pre">    </span>   Unit astmt1 = Jimple.v().newAssignStmt(beforestr, test);    //generate flag local</font></div><div><font size="4">           beforegenerated.add(astmt1);</font></div><div><font size="4"><br></font></div><div><font size="4">           EqExpr test=Jimple.v().newEqExpr(beforestr, IntConstant.v(0));</font></div><div><font size="4"><span style="white-space:pre">   </span>   IfStmt newifstmt = Jimple.v().newIfStmt(test,tt</font><span style="font-size:large">t.getTarget()</span><font size="4">);</font></div><div><font size="4"><span style="white-space:pre">        </span>   </font><span style="font-size:large">beforegenerated.add(newifstmt);</span></div><div><font size="4"><span style="white-space:pre">   </span>   body.getUnits().insertAfter(beforegenerated,tt.getTarget());</font></div><div><font size="4"><br></font></div><div><font size="4">           </font></div><div><font size="4">           However, I failed to add the condition. Does anyone know the questions about my code? I appreciate any suggestions or code?</font></div><div><font size="4">            Thanks a lot.</font></div><div><font size="4">          </font></div><div><font size="4">            </font></div><div><font size="4">           </font></div><div><font size="4">          </font></div></div>