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燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP