本帖最后由 jafyang 于 2023-8-16 10:32 编辑
以下是我开求助贴得到原作者的回复,现将代码转过来给有需要的易友。
涉及内存分配,都需要调用系统api,如果你想在汇编层面上实现这套流程,利用fs段寄存器中保存的信息就能做到。
下面是一个例子,调用的api是LocalAlloc:
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 置入代码 ({ 93, 100, 139, 21, 48, 0, 0, 0, 139, 82, 12, 139, 82, 28, 139, 66, 8, 139, 74, 32, 139, 18, 128, 121, 12, 51, 117, 242, 137, 193, 3, 72, 60, 139, 81, 120, 1, 194, 139, 74, 32, 1, 193, 49, 219, 139, 60, 153, 1, 199, 67, 129, 127, 4, 108, 65, 108, 108, 117, 241, 139, 74, 36, 1, 193, 102, 139, 28, 89, 139, 74, 28, 1, 193, 139, 76, 153, 252, 1, 193, 139, 92, 36, 4, 139, 27, 139, 115, 4, 141, 86, 8, 82, 104, 0, 0, 0, 0, 255, 209, 198, 0, 1, 137, 112, 4, 131, 195, 8, 49, 255, 235, 10, 138, 84, 51, 255, 136, 84, 56, 8, 71, 78, 133, 246, 117, 242, 194, 4, 0 }) 返回 ({ })对象 = { 6, 2, 9, 5, 1, 4, 1, 0, 3 }计次循环首 (100000, )结果 = 倒序字节集 (对象 )计次循环尾 ()调试输出 (对象, 结果 ) |