逆向 c++代码转 PHP ,大佬帮忙转下,谢谢

2022-01-28 00:47:52 +08:00
 autoname
int __thiscall sub_42118A(_DWORD *this, signed int a2)
{
int v2; // eax
int v3; // ecx 申明变量?

v2 = a2;
if ( a2 >= 100 )
{
v3 = this[3];
v2 = a2 - 100;
}
else
{
v3 = this[2];
}
return (*(int (__stdcall **)(int))(*(_DWORD *)v3 + 12))(v2);
}

最后一句 返回 啥,后面那个 v2 php 要怎么返回
1125 次点击
所在节点    问与答
7 条回复
ysc3839
2022-01-28 10:05:02 +08:00
最后那个应该是虚函数调用,你得知道调用的是啥才行
autoname
2022-01-28 10:57:44 +08:00
@ysc3839 哈哈 又是你呀 大佬,上个帖也你回复的,(v2)是虚拟函数吗。不是上边的变量 return 回去吗
ysc3839
2022-01-28 11:14:20 +08:00
@autoname v2 是函数调用的参数
zszhere
2022-01-28 14:30:03 +08:00
1 最后一句返回函数调用的值 这个函数地址跟 v3 有关
2 v2 是函数参数 来自 a2 v2=a2-100 if a2>=100 else a2
autoname
2022-01-28 14:31:40 +08:00
@ysc3839 奧 謝謝,那他 是返回啥,返回哪些变量 可以明示下吗
autoname
2022-01-28 15:09:43 +08:00
@zszhere 谢谢,请问您。他到底返回的啥,

return (v3 + 12)+(v2);

最后这个 v2 是要怎么运算后 返回呢。新手勿怪
autoname
2022-01-28 15:11:21 +08:00
@zszhere 如您所说,

最后一句返回函数调用的值 这个函数地址跟 v3 有关

假设 v3=10000 ;

那要怎么返回

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/831035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX