DebugNasm测试版是一款调试工具,在windows下,nasm可以运行debug,然后就可以进行调试了,nasm是跨平台的开源工具,功能相比MASM很薄弱。所以在Windows平台下面不太好用。
*************************************************
参数转换:
mov eax,[参数]
mov [参数],ecx
转换后:
mov eax,dword [ebp+0x08]
mov dword [ebp+0x0C],ecx
*************************************************
变量转换:
mov eax,[变量]
mov [变量],ecx
转换后:
mov eax,dword [ebp-0x04]
mov dword [ebp-0x08],ecx
*************************************************
函数:
变量转换:
mov eax,[函数] //需要在拖动获取以后
*************************************************
内存:
mov eax,[函数]//需要在拖动获取以后
由于电脑只有一个单机游戏我就用这个给大家示范一下
首先我们找到加分的CALL 直接测试:
2.0 因为代码太长 ,会导致在调用的时候让被调用软件奔溃。所以修复了这个BUG:
接下来我们讲新增加的内存用法 【特别提示:要确保拖放获取窗口以后方可有效】
首先我们的写法:
mov ecx,[内存]
call ecx
ret
如图:
其实这儿我少截图了一张,大概就是转换的时候。会弹出输入字节集或者十六进制的输入框
以下就是我写入的CALL高分的数据,成功会返回我们申请的地址。
我们测试一下可以成功:
那么我们远程调用以后,会自动释放我们申请的地址
接下来是函数的用法【特别提示:要确保拖放获取窗口以后方可有效】
写法:
mov eax,[函数]
如图:
输入模块名:
>输入API函数:
注:确保你所在的软件中调用了此模块且此函数才可以
成功返回地址
那么最后是我们讲过的参数和变量的写法
转换后:
易语言中的写法:
1.新增 [内存] 比如:mov eax,[内存] 那么转换完成就会 mov eax,0x123456 123456我随便举例,也就是返回我们在进程中申请的内存地址 原创调用CALL以后自动释放 返回乱码说明没有取到相应的窗口
2.新增[函数] 比如:mov eax,[函数]这儿要提供: 模块名 函数名 那么转换完成返回:mov eax,0x123456返回模块入口 那么返回0x0 说明软件并没有调用此函数 所以查找不到
3.增加更方便的查看汇编代码的列表框
4.删除取鼠标所在窗口坐标显示
5.线程ID只取窗口所在的线程ID删除取模块线程ID
6.删除取模块
7.优化汇编转