首页
社区
课程
招聘
[求助]frida hook native层如何修改类似strcpy这种char*的参数为返回值的函数
发表于: 2019-11-22 15:54 5313

[求助]frida hook native层如何修改类似strcpy这种char*的参数为返回值的函数

2019-11-22 15:54
5313
frida hook native层如何修改类似strcpy这种char*的参数为返回值的函数,希望大神发个例子让我看看,查了很久了。
要把函数的参数为char*作为返回值的,替换成任意长度“字符串”

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2019-11-22 15:55 被都市放猪q编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 15
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大佬别吝啬啊,帮我解决一下大佬~~~ 我起个头,大佬你填空~
var strcpyPtr = Module.findExportByName("****.so", "strcpy");
send("strcpyPtr pointers:"+strcpyPtr);
var result_pointer;
Interceptor.attach(strcpyPtr, {
	onEnter: function(args) {
		send("---------------------strcpy start---------------------------");
		result_pointer=args[0]
		send("strcpy arg0: " + Memory.readCString(args[0]));
		send("strcpy arg1: " + Memory.readCString(args[1]));
	},
	onLeave:function(retval) {
		//此处怎么处理result_pointer 才可以把赋值一个全新的char* 字符串 给它返回?
		
	}
});
最后于 2019-11-23 18:10 被都市放猪q编辑 ,原因:
2019-11-23 18:09
0
雪    币: 35
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
在onEnter里this.ptr = args[0]
在onLeave里this.ptr.writeAnsiString()或者别的什么类似的writeString函数。

当然,其实我觉得你可以直接用Interceptor.replace
2019-11-25 10:09
0
游客
登录 | 注册 方可回帖
返回