引用 | 編輯
cyxnzb
2016-08-14 01:09 |
樓主
▼ |
||
x0
【在此申明,以下所有过程均经过作者允许,详情可以访问百度贴吧】"这个问题已经困扰了我3年,能解决的我不知道该怎么回报他" 不废话了,我这里有一套僵尸插件,然后他喵的作者加了个授权功能. 但是,他会让你正常一局游戏,然后下一把的话授权开始,失败后,你感染一个人后就无法杀死所有僵尸以及人类 我通过不知道多少途径对插件进行反编译,终于得到了大部分参数,但是不理解他是如何做到判断授权的--SQL读取方面 我通过反汇编工具硬改他授权IP为本地IP还是不行,怀疑是SQL库没搭建导致. x0
|
引用 | 編輯
cyxnzb
2016-08-14 01:12 |
1樓
▲ ▼ |
贴一段授权代码
public globalsettings() { !!! Removed Phi host_Authentication = 6; sqlmakedbtuple1 = SQL_MakeDbTuple(host1, user1, pass1, Plugins_Authentication1, ZP_CUSTOMIZATION_FILE); sqlconnect1 = SQL_Connect(sqlmakedbtuple1, errorcode1, error1, 255); if (!sqlconnect1) { Authorization = 1; copy(Authorization_information, 63, 144268); copy(Authorization_Ip, 31, 144296); copy(Authorized_time, 31, 144324); Read_one_two_three = 2; set_task(13.70, "Repeat_Verify_one", 6000, "", 0, "b", 0); set_task(11.50, "Repeat_Verify_two", 6110, "", 0, "b", 0); set_task(7.30, "Repeat_Verify_three", 6220, "", 0, "b", 0); set_task(random_float(1.00/*1065353216*/ + 120, 1.00/*1065353216*/ + 180), "Licensing_restrictions", 6330, "", 0, "b", 0); return 0; } if (SQL_Execute(query) || SQL_NumResults(query)) { if (SQL_MoreResults(query)) { if (str_to_num(ctime) <= str_to_num(Authorized_time) && str_to_num(Authorization_switching) >= 1) { Authorization = 1; remove_task(6330, 0); remove_task(6000, 0); remove_task(6110, 0); } else { if (str_to_num(ctime) > str_to_num(Authorized_time) || str_to_num(Authorization_switching) < 1) { Authorization = 1; Read_one_two_three = 2; set_task(13.70, "Repeat_Verify_one", 6000, "", 0, "b", 0); set_task(11.50, "Repeat_Verify_two", 6110, "", 0, "b", 0); set_task(7.30, "Repeat_Verify_three", 6220, "", 0, "b", 0); set_task(random_float(1.00/*1065353216*/ + 120, 1.00/*1065353216*/ + 180), "Licensing_restrictions", 6330, "", 0, "b", 0); } } } else { Authorization = 1; copy(Authorization_information, 63, 145296); copy(Authorization_Ip, 31, 145324); copy(Authorized_time, 31, 145352); Read_one_two_three = 2; set_task(13.70, "Repeat_Verify_one", 6000, "", 0, "b", 0); set_task(11.50, "Repeat_Verify_two", 6110, "", 0, "b", 0); set_task(7.30, "Repeat_Verify_three", 6220, "", 0, "b", 0); set_task(random_float(1.00/*1065353216*/ + 120, 1.00/*1065353216*/ + 180), "Licensing_restrictions", 6330, "", 0, "b", 0); } } else { Authorization = 1; copy(Authorization_information, 63, 145728); copy(Authorization_Ip, 31, 145756); copy(Authorized_time, 31, 145784); Read_one_two_three = 2; set_task(13.70, "Repeat_Verify_one", 6000, "", 0, "b", 0); set_task(11.50, "Repeat_Verify_two", 6110, "", 0, "b", 0); set_task(7.30, "Repeat_Verify_three", 6220, "", 0, "b", 0); set_task(random_float(1.00/*1065353216*/ + 120, 1.00/*1065353216*/ + 180), "Licensing_restrictions", 6330, "", 0, "b", 0); } SQL_FreeHandle(query); return 0; } x0 |