def handleReplaceFuncEdit(self, screenEA = None):
if screenEA is not None:
func = get_func(screenEA)
else:
func = get_func(ScreenEA())
if func is None:
return
repl_id = func.startEA;
if repl_id not in self.funcReplaceMap:
return
entry = self.funcReplaceMap[repl_id]
replaceDlg = FunctionReplaceDialog(entry.module, "%X" % entry.id, entry.symbol, entry.recentSrcFile)
replaceDlg.Compile()
replaceDlg.ret_type.value = entry.ret_type[1:-1]
replaceDlg.args.value = entry.args_str
replaceDlg.script.value = entry.script
ok = replaceDlg.Execute()
if ok != 1:
return
flags = FuncReplace.UDP_NONE
entry.recentSrcFile = replaceDlg.recentScriptFile
if entry.script != replaceDlg.script.value:
entry.script = replaceDlg.script.value
flags |= FuncReplace.UPD_SCRIPT
outJSON = json.dumps({
"req_id": kFridaLink_UpdReplaceRequest,
"data": entry.genUpdRequest(flags)
})
self.clientSocket.sendto(outJSON, self.clientAddress)
评论列表
文章目录