【改版练习】shiny hack
本帖最后由 jiangzhengwenjz 于 2015-4-2 23:05 编辑近期看到有意思的hack就想做一下,这个是今天下午花了一点时间搞出来的,并不是教程,只不过觉得这个主题不错,可以给像我一样的新手练练。
目标:使所有野生精灵闪光,且PID随机
用途:若加入变量用途可想而知
注:要利用自行修改源码(好吧这么渣根本没人要用)
为什么不直接拷贝TID和SID给精灵:
这样所有精灵的PID会怎么样???
解决方法:(由于初期未考虑好,相当不节约空间方法也很差,但至少工作了。正常人的想法应该是直接把另一半PID算出来。(利用xor特性))
(对火红而言,其他版本相应变换地址)
**** Hidden Message *****
像我一样的新手也可以试做作为练习。
另:巧合的是这个对givepokemon也成立,而我并没有对之debug。 HackMew有个Shinyzer,那段asm不知是否对你有帮助? 海のLUGIA 发表于 2015-4-3 18:31
HackMew有个Shinyzer,那段asm不知是否对你有帮助?
那个的PID不够随机,这样做出来的闪宠不太自然,所以没用Hackmew的东西,只是参考了一下 jiangzhengwenjz 发表于 2015-4-3 18:53
那个的PID不够随机,这样做出来的闪宠不太自然,所以没用Hackmew的东西,只是参考了一下
真要考究精灵合法性问题的话,还得牵扯到PID算法(四代更烦,还有ID、SID对的合法性问题),比如同样是野生精灵,一些稀有出现率的就会采用不同的算法 海のLUGIA 发表于 2015-4-3 19:24
真要考究精灵合法性问题的话,还得牵扯到PID算法(四代更烦,还有ID、SID对的合法性问题),比如同样是野 ...
理论上完全合法的吧。。。
我是这样算的:
SID XOR TID得到值A → 固定值
固定一半的PID(之前已经随机产生,不是人工做的)
然后再用PRNG得到另一半PID,然后和之前那一半进行异或得B
然后XOR A和B,判断值和8关系
如果小于跳回去,大于等于的话循环,重新造一半PID jiangzhengwenjz 发表于 2015-4-3 19:33
理论上完全合法的吧。。。
我是这样算的:
SID XOR TID得到值A → 固定值
常见精灵、稀有精灵、配信精灵、蛋里出生的精灵等等,PID算法不是同一套……纠结合法性是个深坑 海のLUGIA 发表于 2015-4-3 20:56
常见精灵、稀有精灵、配信精灵、蛋里出生的精灵等等,PID算法不是同一套……纠结合法性是个深坑
我收回刚刚完全合法那句话。。。不如说就不合法
你说的很有道理,如果扯到IV什么的就更复杂,毕竟是一个连续过程
即便再度修改,要知道用的是哪种方法进行随机很困难
不过我始终认为hackmew修改PID的办法真的有点假,容易看出来,还是随机点好
不然直接把TID和SID拷过去得了,这样一定得到0 我来帮你顶下吧,技术层面完全是个外行。 m,kcndssad 支持支持支持支持支持 壇友做的改版我都支持 腆着脸坐等新改版啦。。。 看隐藏。。。。 pid是什么鬼66666 牛逼
页:
[1]
2