ASM 板


LINE

看板 ASM  RSS
1~2 年没写组语了 XD 最近又在写 XD Ping 一个 IP/Host 如果 Ping 不到触发 EventLog 的小程式 XDXD http://student.ncit.edu.tw/~s19315050/event.rar 字串转数字那里不可以太大 XD 爆掉不管 XDXD 里面错误处理都没做 (懒得打了 XDXD) 乱玩会自爆 XD ; ######################################################################### .586 .model flat, stdcall option casemap :none ; case sensitive include \masm32\include\windows.inc include \masm32\include\kernel32.inc include \masm32\include\wsock32.inc include \masm32\include\advapi32.inc includelib \masm32\lib\kernel32.lib includelib \masm32\lib\ws2_32.lib includelib \masm32\lib\advapi32.lib ; ######################################################################### .data szICMPDLL db "ICMP.DLL", 0 szIcmpCreateFile db "IcmpCreateFile", 0 szIcmpCloseHandle db "IcmpCloseHandle", 0 szIcmpSendEcho db "IcmpSendEcho", 0 szPackageData db "!@#$%^&*()_+1234567890-='/.,[]\'", 0 ip_option_information STRUCT ucTtl db ? ucTos db ? ucFlags db ? ucOptionsSize db ? pucOptionsData dd ? ip_option_information ENDS ipoi ip_option_information <40h,0,0,0,0> szINIFileName db '.\ip.ini', 0 szSecIPSet db 'IP Setting', 0 sztarIP db 'TargetIP', 0 szSleep db 'Sleep', 0 szSecEvent db 'EventMsg', 0 szSrc db 'Source', 0 szEvent db 'EventId', 0 szDat db 'Data', 0 .data? hICMPDLL dd ? hICMP dd ? hEvent dd ? hIcmpCreateFile dd ? hIcmpCloseHandle dd ? hIcmpSendEcho dd ? dwSleep dd ? dwEvent dd ? dwIPAddr dd ? bFlags dd ? dwNum dd ? wsaData WSADATA <?> szBuffer db 1024 dup (?) szSource db 1024 dup (?) szData db 1024 dup (?) szEventID db 1024 dup (?) ; ######################################################################### .code start: invoke GetPrivateProfileString, addr szSecIPSet, addr sztarIP, NULL, addr szBuffer, 1024, addr szINIFileName or eax, eax jz Error1 ; no ip.ini files mov edi, offset szBuffer mov esi, edi call StrLen neChr: lodsb cmp al, '0' jl n1 cmp al, '9' jg n1 n3: loop neChr jmp is n1: cmp al, '.' jnz n2 jmp short n3 n2: or ecx, ecx jz is mov [bFlags], 0 jmp short qo is: mov [bFlags], 1 qo: invoke GetPrivateProfileString, addr szSecEvent, addr szSrc, NULL, addr szSource, 1024, addr szINIFileName invoke GetPrivateProfileString, addr szSecEvent, addr szDat, NULL, addr szData, 1024, addr szINIFileName invoke GetPrivateProfileString, addr szSecEvent, addr szEvent, NULL, addr szEventID, 8, addr szINIFileName mov esi, offset szEventID call StrToDec mov eax, dwNum mov [dwEvent], eax invoke GetPrivateProfileString, addr szSecIPSet, addr szSleep, NULL, addr szEventID, 8, addr szINIFileName mov esi, offset szEventID call StrToDec mov eax, dwNum mov [dwSleep], eax invoke WSAStartup, 202h, addr wsaData cmp dword ptr [bFlags], 1 jz short Get invoke gethostbyname, ADDR szBuffer or eax, eax jz Error1 ; if eax = 0 get host is error mov ebx, [eax+12] mov edx, [ebx] mov ebx, [edx] invoke inet_ntoa, ebx jmp short Convert Get: mov eax, offset szBuffer Convert: invoke inet_addr, eax ; only ip 32bit string mov [dwIPAddr], eax invoke WSACleanup invoke LoadLibrary, addr szICMPDLL mov [hICMPDLL], eax invoke GetProcAddress, hICMPDLL, addr szIcmpCreateFile mov [hIcmpCreateFile], eax invoke GetProcAddress, hICMPDLL, addr szIcmpCloseHandle mov [hIcmpCloseHandle], eax invoke GetProcAddress, hICMPDLL, addr szIcmpSendEcho mov [hIcmpSendEcho], eax mov eax, [hICMPDLL] or eax, eax jz Error1 and eax, [hIcmpCreateFile] and eax, [hIcmpCloseHandle] and eax, [hIcmpSendEcho] or eax, eax jz Error2 call [hIcmpCreateFile] mov [hICMP], eax Infinite: push 1000 push 2000 push offset szBuffer push offset ipoi push 20h push offset szPackageData push [dwIPAddr] push [hICMP] call [hIcmpSendEcho] or eax, eax jnz NoRecord ;; error invoke RegisterEventSource, NULL, addr szSource mov [hEvent], eax mov edi, offset szData call StrLen invoke ReportEvent, hEvent, 0, 0, dwEvent, NULL, 0, ecx, 0, addr szData invoke DeregisterEventSource, hEvent NoRecord: push [dwSleep] call Sleep jmp Infinite push [hICMP] call [hIcmpCloseHandle] Error2: invoke FreeLibrary, hICMP Error1: invoke ExitProcess, 0 ; 可以使用 GetPrivateProfileInt 取就可以不用转,但我想自己写 XD StrToDec: ; in : esi mov edi, esi call StrLen add esi, ecx dec esi std xor eax, eax mov dwNum, eax ntNum: mov ebx, eax mov eax, 10 mul ebx or al, al jnz sOne inc eax sOne: push eax mov ebx, eax lodsb sub al, '0' cbw cwd push ecx and eax, 0fh mov ecx, eax jecxz next ntSum: add [dwNum], ebx loop ntSum next: pop ecx pop eax loop ntNum cld ;; remove wii get bugs XDXD when call GetPrivateProfileString ret StrLen: ; in : edi ; out : ecx mov ecx, -1 xor eax, eax repnz scasb not ecx dec ecx ; ecx = string lenght ret end start -- --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 124.8.74.49
1F:推 PsMonkey:看不懂,不过推 XD 06/05 02:44
2F:推 jeunder:好怀念的 style 啊~ n年没写过pc的组语了, 不过还是推一下 06/05 03:48
3F:→ jeunder:现在工作都是写sparc和mips的, 不过也很少在写组语了... 06/05 03:48
4F:→ jeunder:连bootcode都95%以上C语言化了 06/05 03:50
5F:→ jeunder:话说扫ping可是干坏事最基本的呢~ 您该不会..... :p 06/05 03:51
6F:推 zha0:工作上需要,所以就写写小程式喽 :p (有打算@#$%但没时间XD) 06/05 09:45
※ 编辑: zha0 来自: 210.64.110.97 (06/06 11:54)
7F:推 compound:看不懂+1,但高手该推一下~ <(_ _)> 06/06 14:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP