"fmt"
"reflect"
)
func reflecType(x interface{}){
v := reflect.TypeOf(x)
fmt.Println("type:%v\n", v)
fmt.Println("type name:%v , rtpe kind:%v \n", v.getName(), v.getType())
}
type Cat struct{}
//通过反射设置变量的值
func reflectSetValue1(x interface{}){
v := reflect.ValueOf(x)
if v.Kind() == reflect.Int64{
v.SetInt(200) //修改的是副本, reflect 包会引发panic
}
}
//通过反射设置变量的值
func reflectSetValue2(x interface{}){
v := reflect.ValueOf(x)
//反射中使用Elem()获取指针对应的值
if v.Elem().Kind() == reflect.Int64{
v.Elem().SetInt(200)
}
}
func main(){
var a float32 = 3.14
reflectType(a) //type name:float32 type kind:float32
var b int64 = 100
reflectType(b) // type name :int64 type kind :int64
var c = Cat{}
reflectType(c) // type name :Cat type kind :struct
reflectSetValue1(&b)
fmt.Println(b) //依然为100
reflectSetValue2(&b)
}
上图不好分析,仅介绍大至可能
现在的“老毛桃PE”,是冒名的,
网上大多“有名”系统及pe都是冒名的,是商业工具,
多有广告、锁主页,捆绑软件、推广……不良行为,
因此其用心在“不良行为”上,技术可能粗糙,修改可能失误,bug可能很多
你可以查下系统是否有被改动,若有,这些改动是在pe下完成的,与你所用系统无关
之所以“冒名”这些“有名”系统及pe,不过是为了更多人用,
更多人用则“中招”可能性更多