菁梦 发表于 2023-6-17 12:33:57

找个大佬帮转一个易语言的代码到火山

本帖最后由 菁梦 于 2023-6-17 19:49 编辑

:噜阿噜本来想自己弄的,奈何算法太独特,搞不定,有偿也行呀,代码放下面,有意联系企鹅110585559
就上=下面三个函数.版本 2

.DLL命令 RtlMoveMemory_16, , "kernel32", "RtlMoveMemory", , ,
    .参数 参数_1, 长整数型, 传址
    .参数 参数_2, 整数型, 传址
    .参数 参数_3, 整数型

.版本 2

.子程序 XOR长整数型, 长整数型
.参数 eax, 整数型
.参数 ecx, 整数型
.局部变量 变量_1, 长整数型
.局部变量 变量_2, 整数型

变量_2 = 汇编 (eax, ecx)
RtlMoveMemory_16 (变量_1, 变量_2, 4)
' 调试输出 (“测试数据”, eax, ecx, 变量_2, 变量_1)
返回 (变量_1)

.版本 2
.支持库 TianSin

.子程序 汇编, 整数型
.参数 参数_1, 整数型
.参数 参数_2, 整数型

__asm (“mov eax, dword ptr ”)
__asm (“mov ecx, dword ptr ”)
__asm (“xor eax, ecx”)
__asm (“leave”)
__asm (“retn 0004h”)
返回 (0)


折戟沉沙 发表于 2023-6-17 17:13:51

这么多没有1000+没有人写

创世魂 发表于 2023-6-17 18:50:23

你也不发个你的联系方式。。这么多代码,怕是得1000+   自己搞不定就准备出钱吧。

福寿 发表于 2023-6-17 20:01:48

RtlMoveMemory是一个宏,剩下的汇编功能用火山模块就可以直接对着抄

quary888 发表于 2023-6-17 20:51:05

这就是个 位异或 吧只是把整数转成了长整数

.版本 2
.支持库 spec

.计次循环首 (999999999, i)
    .如果真 (XOR长整数型 (i, 1) ≠ 子程序1 (i, 1))
      暂停 ()
    .如果真结束

.计次循环尾 ()
调试输出 (“OK”)
返回 (0)' 可以根据您的需要返回任意数值

.子程序 XOR长整数型, 长整数型
.参数 eax, 整数型
.参数 ecx, 整数型
.局部变量 变量_1, 长整数型
.局部变量 变量_2, 整数型

变量_2 = 汇编 (eax, ecx)
RtlMoveMemory_16 (变量_1, 变量_2, 4)
' 调试输出 (“测试数据”, eax, ecx, 变量_2, 变量_1)
返回 (变量_1)

.子程序 汇编, 整数型
.参数 参数_1, 整数型
.参数 参数_2, 整数型

' __asm{
' mov eax, dword ptr
' mov ecx, dword ptr
' xor eax, ecx
' leave
' retn __参数大小__
' }
返回 (0)

.子程序 子程序1, 长整数型
.参数 eax, 整数型
.参数 ecx, 整数型

返回 (位异或 (eax, ecx))

quary888 发表于 2023-6-17 20:52:06

quary888 发表于 2023-6-17 20:51
这就是个 位异或 吧只是把整数转成了长整数

.版本 2


正在生成主程序入口代码
程序代码编译成功
程序代码编译成功,耗时: 62 ms
正在封装易格式目的代码
开始运行被调试程序
* “OK”
被调试易程序运行完毕

菁梦 发表于 2023-6-17 22:32:57

quary888 发表于 2023-6-17 20:52
正在生成主程序入口代码
程序代码编译成功
程序代码编译成功,耗时: 62 ms


- -我是要把这个变成火山64位 那个汇编我测试了是位异或 但是调用RtlMoveMemory_16这个的DLL命令 会报错

78592802 发表于 2023-6-25 01:42:47

菁梦 发表于 2023-6-17 22:32
- -我是要把这个变成火山64位 那个汇编我测试了是位异或 但是调用RtlMoveMemory_16这个的DLL命令 会报错 ...

复制内存
页: [1]
查看完整版本: 找个大佬帮转一个易语言的代码到火山