jiangzhengwenjz 发表于 2015-4-2 23:00:36

【改版练习】shiny hack

本帖最后由 jiangzhengwenjz 于 2015-4-2 23:05 编辑

近期看到有意思的hack就想做一下,这个是今天下午花了一点时间搞出来的,并不是教程,只不过觉得这个主题不错,可以给像我一样的新手练练。

目标:使所有野生精灵闪光,且PID随机

用途:若加入变量用途可想而知

注:要利用自行修改源码(好吧这么渣根本没人要用)

为什么不直接拷贝TID和SID给精灵:
这样所有精灵的PID会怎么样???

解决方法:(由于初期未考虑好,相当不节约空间方法也很差,但至少工作了。正常人的想法应该是直接把另一半PID算出来。(利用xor特性))

(对火红而言,其他版本相应变换地址)

**** Hidden Message *****

像我一样的新手也可以试做作为练习。

另:巧合的是这个对givepokemon也成立,而我并没有对之debug。

海のLUGIA 发表于 2015-4-3 18:31:54

HackMew有个Shinyzer,那段asm不知是否对你有帮助?

jiangzhengwenjz 发表于 2015-4-3 18:53:33

海のLUGIA 发表于 2015-4-3 18:31
HackMew有个Shinyzer,那段asm不知是否对你有帮助?

那个的PID不够随机,这样做出来的闪宠不太自然,所以没用Hackmew的东西,只是参考了一下

海のLUGIA 发表于 2015-4-3 19:24:20

jiangzhengwenjz 发表于 2015-4-3 18:53
那个的PID不够随机,这样做出来的闪宠不太自然,所以没用Hackmew的东西,只是参考了一下

真要考究精灵合法性问题的话,还得牵扯到PID算法(四代更烦,还有ID、SID对的合法性问题),比如同样是野生精灵,一些稀有出现率的就会采用不同的算法

jiangzhengwenjz 发表于 2015-4-3 19:33:12

海のLUGIA 发表于 2015-4-3 19:24
真要考究精灵合法性问题的话,还得牵扯到PID算法(四代更烦,还有ID、SID对的合法性问题),比如同样是野 ...

理论上完全合法的吧。。。
我是这样算的:
SID XOR TID得到值A → 固定值
固定一半的PID(之前已经随机产生,不是人工做的)
然后再用PRNG得到另一半PID,然后和之前那一半进行异或得B
然后XOR A和B,判断值和8关系
如果小于跳回去,大于等于的话循环,重新造一半PID

海のLUGIA 发表于 2015-4-3 20:56:33

jiangzhengwenjz 发表于 2015-4-3 19:33
理论上完全合法的吧。。。
我是这样算的:
SID XOR TID得到值A → 固定值


常见精灵、稀有精灵、配信精灵、蛋里出生的精灵等等,PID算法不是同一套……纠结合法性是个深坑

jiangzhengwenjz 发表于 2015-4-3 21:56:41

海のLUGIA 发表于 2015-4-3 20:56
常见精灵、稀有精灵、配信精灵、蛋里出生的精灵等等,PID算法不是同一套……纠结合法性是个深坑

我收回刚刚完全合法那句话。。。不如说就不合法
你说的很有道理,如果扯到IV什么的就更复杂,毕竟是一个连续过程
即便再度修改,要知道用的是哪种方法进行随机很困难

不过我始终认为hackmew修改PID的办法真的有点假,容易看出来,还是随机点好
不然直接把TID和SID拷过去得了,这样一定得到0

赤色彗星 发表于 2015-4-4 19:42:36

我来帮你顶下吧,技术层面完全是个外行。

sfsefsdfsd 发表于 2015-4-4 21:49:46

m,kcndssad

gujiahao12 发表于 2015-4-10 09:06:40

支持支持支持支持支持

alexan 发表于 2015-4-10 17:11:35

壇友做的改版我都支持

awp38184 发表于 2015-4-10 17:44:55

腆着脸坐等新改版啦。。。

all_along_ 发表于 2015-4-17 19:28:30

看隐藏。。。。

判仔团 发表于 2015-5-6 14:30:32

pid是什么鬼66666

jayandbrice 发表于 2015-5-8 08:38:39

牛逼
页: [1] 2
查看完整版本: 【改版练习】shiny hack