还有很多人问关于平台的算法加密的存档怎么破解,我先总结一下,就是不值得去破解。以下是某个地图的算法加密存档的一部分,还有很多没发出来。其中我称为高级混淆的算法加密,多次传参和跳转,一般遇到这种图,没必要费劲,就猜,快餐图几天就凉了,改图简单快捷,算法加密的存档不值得去破解。作者设置一个算法加密用几个小时,赚几万几十万的钱,你破解这个几天,节约五块钱。算法加密的存档可以去买那种天卡的收费存档修改器,人家随时更新的。 function SaveDzData takes integer pid,integer zu,integer we,integer ty,integer num returns nothing local string save= "" local string sa= "" local string sn= "" local string sb= "" local integer du= 0 local integer max= 0 local integer data= 0 set save=s__DzArrayString[(pid)*(680)+zu] if zu >= 1 and zu <= 29 then set du=2 set max=99 elseif zu >= 30 and zu <= 34 then set du=3 set max=999 elseif zu >= 35 and zu <= 39 then set du=4 set max=9999 elseif zu >= 40 and zu <= 44 then set du=5 set max=99999 elseif zu >= 45 and zu <= 49 then set du=6 set max=999999 endif if we == 1 then set sn=SubString(save, 0, du) set sb=SubString(save, du, 60) elseif we == ( 60 / du ) then set sa=SubString(save, 0, du * ( we - 1 )) set sn=SubString(save, du * ( we - 1 ), 60) else set sa=SubString(save, 0, du * ( we - 1 )) set sn=SubString(save, du * ( we - 1 ), du * we) set sb=SubString(save, du * we, 60) endif set data=S2I(sn) if zu == 1 then if we == 7 then set max=GamePuOverDay endif elseif zu == 36 then if we > 7 then set max=0 endif elseif zu == 38 then if we == 1 or we == 2 then set max=R2I(Pow(DzPlayerLv(Player(pid)), 2) * 8) if max > 100 then set max=100 endif elseif we == 3 then set max=R2I(Pow(DzPlayerLv(Player(pid)), 2) * 22) if max > 500 then set max=500 endif endif elseif zu == 45 then if we == 1 then set max=R2I(Pow(DzPlayerLv(Player(pid)), 2) * 240) if max > 10000 then set max=10000 endif elseif we == 2 then set max=R2I(Pow(DzPlayerLv(Player(pid)), 2) * 255) if max > 10000 then set max=10000 endif elseif we == 3 then set max=2000 elseif we == 4 then set max=0 elseif we == 5 then set max=DzPlayerGames(Player(pid)) * 50 elseif we == 6 then set max=10000 elseif we == 7 then set max=s__GameInt[(0)*(100)+23] * 3 endif elseif zu == 47 then if we == 2 then set max=GameMissionOverDay * 4 endif endif if ty == 0 then set data=data + num if data > max then set data=max endif set sn=GetStrZero(data , du) elseif ty == 1 then if data < num then set data=num endif if data > max then set data=max endif set sn=GetStrZero(data , du) elseif ty == 2 then set data=num if data > max then set data=max endif set sn=GetStrZero(data , du) endif set save=sa + sn + sb set s__DzArrayString[(pid)*(680)+zu]= save if IsPlaying(pid) == true and DzC[0] == "1" then call DzAPI_Map_StoreString(Player(pid) , "DZ" + I2S(zu) , s__DzArrayString[(pid)*(680)+zu]) if zu == 45 and we == 2 then call SetPlayerJunXian(pid) endif endif endfunction