Skip to content

Commit

Permalink
fix:修改参数为null时hook报错的问题及其他展示bug
Browse files Browse the repository at this point in the history
  • Loading branch information
MochaLee committed Feb 18, 2022
1 parent d39cefc commit d76e7b0
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 8 deletions.
2 changes: 1 addition & 1 deletion app/src/main/assets/pages/config.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ <h2>配置目标应用</h2>

<div class="bodyMain">
<div class="right">
<button style=" height: 30px; width: 90px; text-align: center;" type="submit" value="下一步" onclick="window.location.href='/manualguid'" title="勾选应用后,先在页面底部提交,提交成功后再点击这里进入下一步">
<button style=" height: 30px; width: 90px; text-align: center;" type="submit" value="下一步" onclick="window.location.href='/manualguid'" title="勾选应用后,先点击上面提交保存,成功后再点击这里进入下一步">
<i class="fa fa-info-circle" style="color: #666;margin-right: 5px;"></i>
下一步
</button>
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/assets/pages/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ <h2 style="text-align: center;margin-bottom: 60px;padding-top: 40px;">
</h2>
<form class="search_form">
<input type="text" id="classname" class="input_text" placeholder="请输入要搜索的目标类名如:com.a.b.c"><!-- -->
<input id="search" value="曲境一下" class="input_sub">
<input id="search" value="曲境一下" class="input_sub" readonly="true">
</form>
<div id="searchresult" style="display: none;width:582px;margin: 30px auto 50px auto;background: #ddf;border: 1px solid blue;padding: 10px;font-size: 13px;">

Expand Down Expand Up @@ -84,7 +84,7 @@ <h2 style="margin: 10px 0">下一步该做什么?</h2>

for (i = 0; i < result.methodList.length; i++) {
var obj=document.createElement("p");
obj.innerHTML="<a style=\"margin-left: 40px;\" href=/methodview?class="+result.name+"&method="+i+">" + "\t" + result.methodList[i] + "</a>";
obj.innerHTML="<a style=\"margin-left: 40px;\" href=/methodview?class="+result.name+"&method="+i+" target=\"_blank\">" + "\t" + result.methodList[i] + "</a>";
classresult.appendChild(obj);
}
}
Expand Down
9 changes: 7 additions & 2 deletions app/src/main/java/leon/qujing/api/Invoke.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,17 @@ public String handle(String url, Map<String, String> parms, Map<String, String>
Method m = methods[Integer.parseInt(parms.get("method"))];
params = new Object[m.getParameterTypes().length];
for (int i = 0; i < m.getParameterTypes().length; i++) {
params[i] = QuJingServer.parsers.get(parms.get("parser" + i)).parse(parms.get("param" + i));
if (parms.get("parser" + i).equals("null")){
params[i] = null;
}
else {
params[i] = QuJingServer.parsers.get(parms.get("parser" + i)).parse(parms.get("param" + i));
}
}
m.setAccessible(true);
sb.append(translate(m.invoke(thisobj, params)));
} catch (Exception e) {
sb.append("执行异常,报错信息: " + e.getLocalizedMessage());
sb.append("执行异常,报错信息: ").append(e.getLocalizedMessage());
}
return sb.toString();
}
Expand Down
11 changes: 8 additions & 3 deletions app/src/main/java/leon/qujing/api/wsMethodView.java
Original file line number Diff line number Diff line change
Expand Up @@ -177,10 +177,15 @@ protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
sb.append("<dl>");
try {
if (args != null) for (int i = 0; i < args.length; i++) {
sb.append("<dt>参数" + i + " " + args[i].getClass().getName() + "</dt>");
sb.append("<dd>" + translate(args[i]) + "</dd>");
if(args[i] == null){
sb.append("<dt>参数" + i + " " + "null </dt>");
}
else {
sb.append("<dt>参数" + i + " " + args[i].getClass().getName() + "</dt>");
sb.append("<dd>" + translate(args[i]) + "</dd>");
}
}
} catch (Throwable e) {
} catch (Exception e) {
sb.append("<p>" + e.getLocalizedMessage() + "</p>");
} finally {
sb.append("</dl></div>");
Expand Down

0 comments on commit d76e7b0

Please sign in to comment.