社区
汇编语言
帖子详情
怎样用WIN32ASM实现远程开关机
ufofind
2010-04-17 12:24:59
怎样用机WIN32ASM实现远程开关
我最近看到一个软有件(lanhelper)
它实现了在局域网内远程开关机
我不知道它是怎样实现,希望高手帮助
它是调用哪些API进行实现的?????????
...全文
201
13
打赏
收藏
怎样用WIN32ASM实现远程开关机
怎样用机WIN32ASM实现远程开关 我最近看到一个软有件(lanhelper) 它实现了在局域网内远程开关机 我不知道它是怎样实现,希望高手帮助 它是调用哪些API进行实现的?????????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ufofind
2011-05-31
打赏
举报
回复
这个还有人看他,不错.
skolf
2011-05-29
打赏
举报
回复
想学习这方面的
ufofind
2010-05-22
打赏
举报
回复
.386
.model flat, stdcall
option casemap :none ; case sensitive
include windows.inc
include iphlpapi.inc
include ws2_32.inc
include user32.inc
include kernel32.inc
includelib iphlpapi.LIB
includelib WS2_32.LIB
includelib user32.LIB
includelib kernel32.LIB
.data
ERR db "网络初始化错误!",0
OK db "发送数据成功",0
MsgCaption db "远程开机",0
stSin sockaddr_in <0>
SendBuffer dd 16 dup (0)
stWsa WSADATA <0>
FBroadcast dd TRUE
SendLen dd 102 ;要发送的数据包长度
hSocket dd ?
;要唤醒的网卡MAC地址
csx1 db 00,0eh,7fh,0adh,029h,9ah
csx1_2 db 00,0eh,7fh,0adh,029h,99h
csx2 db 00,11h,85h,66h,0eah,0dfh
csx3 db 00,11h,85h,66h,0eah,0d0h
.code
;*******************************************************************
NetWakerSend proc ;入口:esi->要远程唤醒的网卡MAC
;获取IP的MAC地址:szMacLen=长度(802.3为6B),szMac存放的缓冲
;invoke inet_addr,addr ip ;例如定义IP:ip db "192.168.1.6",0
;invoke SendARP,eax,0,addr szMac,addr szMacLen ;eax!=NO_ERROR表示成功
;构造远程唤醒发送缓冲区内容
mov edi,offset SendBuffer ;edi->发送缓冲区
mov al,0ffh
mov ecx,6
rep stosb ;发送缓冲区头部为6个0ffh
mov edx,16 ;紧接着重复填写16次MAC地址
.while edx > 0 ;循环填写缓冲区后面的内容
push esi
mov ecx,6
rep movsb
dec edx
pop esi
.endw
;设置允许以255.255.255.255方式发送广播包,如果不设置也可以例:192.168.1.255方式发送
invoke setsockopt,hSocket,SOL_SOCKET,SO_BROADCAST,addr FBroadcast,sizeof FBroadcast
mov stSin.sin_addr,INADDR_BROADCAST ;设置广播地址IP:255.255.255.255
invoke sendto,hSocket,addr SendBuffer,SendLen,0,addr stSin,sizeof sockaddr_in
.if eax!=SOCKET_ERROR ;显示发送成功消息
invoke MessageBoxA, 0,addr OK,addr MsgCaption,0
.endif
ret
NetWakerSend endp
;*************************************************************************
start: ;主程序在这里开始
invoke WSAStartup,101h,addr stWsa
invoke socket,AF_INET,SOCK_DGRAM,0 ;使用upd
mov hSocket,eax
invoke htons,65534 ;任意定义一个未用端口
mov stSin.sin_port,ax
mov stSin.sin_family,AF_INET
invoke bind,hSocket,addr stSin,sizeof stSin
.if eax==SOCKET_ERROR ;初始化网络出错
invoke MessageBoxA, 0,addr ERR,addr MsgCaption,0;显示网络出错
.else
mov esi,offset csx1 ;esi->要远程唤醒的网卡MAC
call NetWakerSend
mov esi,offset csx1_2 ;esi->要远程唤醒的网卡MAC
call NetWakerSend
mov esi,offset csx2 ;esi->要远程唤醒的网卡MAC
call NetWakerSend
mov esi,offset csx3 ;esi->要远程唤醒的网卡MAC
call NetWakerSend
.endif
invoke ExitProcess,NULL
end start
ufofind
2010-04-20
打赏
举报
回复
zoologist你那个程序,是VB的吧我对VB不了解,我想有WIN32asm来实现它,刚才我用你的程序在网吧的机器上运行了一下,过了一会就关机了
ufofind
2010-04-20
打赏
举报
回复
在这很报谦,没有在网吧上网cnzdgs,我在论坛里看到你的汇编很好,我想问一下有win32asm怎来实现它,实现远程开与关我从网上只搜索了个大概(包含有连续6个字节的“FF”和连续重复16次的MAC地址),在网吧里看到网管人员有lanhelper来进行远程开机,我不知道怎样有WIN32去实现它
zoologist
2010-04-19
打赏
举报
回复
网卡会相应一种特殊格式的 网络包,然后会发送wol信号唤醒主板
http://www.lab-z.com/delphi/MyWOL.rar
cnzdgs
2010-04-18
打赏
举报
回复
远程开关机与编程语言没有直接关系。局域网内远程开机首先要求被控电脑支持网络唤醒,由主控端向目标MAC地址发送开机命令实现控制,具体做法可以搜索“网络唤醒”、“远程开机”。远程关机要事先在被控电脑上安装好自己的程序,并使其每次启动系统后自动运行,由该程序接收主控端通过网络发送的命令,执行关机操作,可以通过socket编程实现网络通讯。
ufofind
2010-04-18
打赏
举报
回复
在GOOGLE不好找到直接结果啊,在论坛里就是要快点
space_time
2010-04-18
打赏
举报
回复
远程关机要有权限的。。。还涉及远程主机的权限设置,lz还是先Google远程关机了解下吧
汇编调用api,c-sdk怎么实现的,换成汇编就行
ufofind
2010-04-18
打赏
举报
回复
我知道在本地关机与重启要进行提权(RtlAdjustPrivilege)
然后进行关机或重启(NtShutdownSystem)但对于网络上的不知道
大熊猫侯佩
2010-04-17
打赏
举报
回复
其实和C/C++类似,你最好看一下一本关于远程控制的C++书籍。
一种简单的方法是使用http://live.sysinternals.com 中的PsTools包中的远程执行
程序运行 shutdown 命令,或者如果是2k,系统,可以自己通过 Win32API :
ExitWindowsEx 实现关机或重启功能。
delphiwcdj
2010-04-17
打赏
举报
回复
[Quote=引用 2 楼 ufofind 的回复:]
可是我还是不太明白,我的意思是怎样有汇编进行API调用进行对局域网内的机器操作
虽然没有得到我想要的答案还是Thank you
[/Quote]
先调用关机的API,再通过编译器调试看其对应的汇编代码。好像是Alt+2
ufofind
2010-04-17
打赏
举报
回复
可是我还是不太明白,我的意思是怎样有汇编进行API调用进行对局域网内的机器操作
虽然没有得到我想要的答案还是Thank you
字节码(
ASM
/Javassit/AspectJ)框架实战
通过字节码操作框架,我们可以从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。而
ASM
和Javassit是其中比较优秀的框架。通过本课程你能够系统的学习
ASM
、Javassit框架的使用。
windows下通过网卡
远程
开机
Windows下
远程
开机 软件:netwaker 一、硬件设置 1.被控机的硬件需求
实现
网络开机,需要主板、网卡、电源3个设备支持。首先需要查看主板使用说明书,查看主板是否支持Wake-Up On Internal Modem(WOM)或者Wake-up . LAN(WOL)技术,...
Windows下shutdown命令的详细用法
在Windows操作系统中,shu``tdown命令是一个功能强大的工具,它允许用户和管理员执行关机、重启、注销等系统操作。通过灵活使用不同的参数,shutdown命令可以满足各种场景下的需求。本文将详细介绍shutdown命令的用途、参数以及使用示例。shutdown:用户可以通过shutdown命令执行正常的关机操作,确保系统安全退出,并保存所有打开的文件和程序。:当需要重新启动计算机时,使用shutdown命令可以比手动点击开始菜单中的重启选项更快地完成操作。:通过指定时间和参数,shutdown。
win系统排坑记
win系统排坑记,主要用来记录系统出现的问题及解决方法,这其实是一个折腾的过程,没什么别的东西,只为自己能累积些经验。 问题及解决: 桔硬导航莫名其妙的每次打开谷歌时都会自动打开,重新设置启动页也不管用? 解决:桌面找到谷歌浏览器快捷方式,右键–>属性,可以看到安装位置后面追加了桔梗导航链接,而正常情况下是没有链接的,将"chrome.exe”后面的链接删掉(包括空格),然后点击应用,确定。(提示权限不足;)别着急,将桌面快捷方式删除,然后找到谷歌安装目录下的.exe文件,重新发送,新的桌面快捷方式
putty
远程
连接工具(中文版)
感谢:http://www.cnblogs.com/hnrainll/archive/2011/08/11/2135315.html putty详细使用说明 在windows下操作linux命令的小工具,非常好。偶然发现,储存资料备用。 PuTTY 是一个跨平台的
远程
登录工具,包含了一组程序,包括: PuTTY (Telnet 和 SSH 客户端) PSCP (SC...
汇编语言
21,459
社区成员
41,601
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章