题目: 设有如下C++类
class A{ int value;public: A(int n = 0) : value(n) {} int GetValue() { return value; }};
请使用某种方式来在类的外部改变私有成员A::value的值。
程序员的可能做法:
class A{ int value;public: A(int n = 0) : value(n) {} int GetValue() { return value; } void SetValue(int n) { value = n; }};
void f(){ A a; a.SetValue(5);}
黑客的可能做法:
void f(){ A a; *((int *)&a) = 5;}
结论:
程序员习惯于遵循既有的限制来增加既有的东西。 黑客习惯于利用既有的东西来打破既有的限制。
成都车展 宏光MINI EV 普拉多 欧拉黑猫 途达 起亚嘉华 玛奇朵 皇冠陆放 奔驰C级 哈弗神兽 坦克600 奥迪Q5 思域 卡罗拉双擎E+ 轩逸 太平洋汽车网app 新能源车