level 9
XgoodollsX
楼主
我只说我知道的 有其他的可以补充
cpy就是复制 循环结果都是用各种cpy复制的
.
1. srtcpy
这是字符串复制 为什么强调字符串 因为遇到00就停止复制 所以strcpy并没有提供设置复制长度的功能
这导致一个问题就是会无限复制
比如说有数据(0000)11 45 14 00
我用strcpy把0000处数据复制到0002
(i)
11
45 11 00
(ii)11 45 11 45
(iii)11 45 11 45 11
一直循环 而且跳不出去
直到覆盖了sfr导致pc直接起飞才能停下来
常见的strcpy有0d0f4(strcpy基址) 203c8(都是[er2] -> [er0])
程序里直接调用就行了
.
2. memcpy
这是直接复制内存 无论是什么东西都会复制
所以要手动设置复制的长度
常见地址有
0875c ([er2] -> [er0] 长度[sp])
187cc([er2] -> [er4] 长度er0 运行完了会pop er4)
0cd8a([er10] -> [er12] 长度er0 运行完了会sp=er14 ; pop xr4,qr8)
注意0cd8a不会push数据 所以不会导致栈污染 但会导致寄存器污染
0875c在执行完了会把[sp]变成0000 所以如果在不重新复制程序的情况下要调用它要手动设置[sp]
远古memcpy 187cc不推荐使用 因为会在你意料之外的地方出bug(别问为什么不推荐使用还介绍 问就是祖宗之法不可变)
.
???. quickcpy
bro这不是地址这是个程序
2026年06月05日 03点06分
1
cpy就是复制 循环结果都是用各种cpy复制的
.
1. srtcpy
这是字符串复制 为什么强调字符串 因为遇到00就停止复制 所以strcpy并没有提供设置复制长度的功能
这导致一个问题就是会无限复制
比如说有数据(0000)11 45 14 00
我用strcpy把0000处数据复制到0002
(i)
11
45 11 00
(ii)11 45 11 45
(iii)11 45 11 45 11
一直循环 而且跳不出去
直到覆盖了sfr导致pc直接起飞才能停下来
常见的strcpy有0d0f4(strcpy基址) 203c8(都是[er2] -> [er0])
程序里直接调用就行了
.
2. memcpy
这是直接复制内存 无论是什么东西都会复制
所以要手动设置复制的长度
常见地址有
0875c ([er2] -> [er0] 长度[sp])
187cc([er2] -> [er4] 长度er0 运行完了会pop er4)
0cd8a([er10] -> [er12] 长度er0 运行完了会sp=er14 ; pop xr4,qr8)
注意0cd8a不会push数据 所以不会导致栈污染 但会导致寄存器污染
0875c在执行完了会把[sp]变成0000 所以如果在不重新复制程序的情况下要调用它要手动设置[sp]
远古memcpy 187cc不推荐使用 因为会在你意料之外的地方出bug(别问为什么不推荐使用还介绍 问就是祖宗之法不可变)
.
???. quickcpy
bro这不是地址这是个程序
