问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

易语言怎么编写远程控制啊?像灰鸽子的那种!最好有源代码!

发布网友 发布时间:2022-04-28 23:59

我来回答

2个回答

热心网友 时间:2022-06-25 23:07

gh0st远控软件采用驱动级RESSDT过主动,svchost参数启动,替换系统服务的方式工作的,工作方式较为先进,美中不足的部分是没有进行驱动级或用户级隐藏,当然这部分可以添加进去。编码利用了VC的编程环境。
一、环境配置
编译环境一定要配置好:DDK+SDK+VC6,DDK用来编译sys文件的,SDK+VC6是用来编译工程的,配置部分比较简单,网上有很多资料,这里不再详述,有兴趣的朋友也可以查看DDK和SDK的相关帮助。
二、特征码定位简述
杀毒软件查杀木马的原理基本是根据特征查杀的,被查杀的部分我们称之为特征码,所以我们可以利用特征码定位工具MyCLL定位出病毒的特征码位置,定位工具原理是将被扫描木马分块,利用分段填充的方式,匹配杀软的特征值,找到杀软查杀病毒的位置。
定位出特征码,如何反向找到源码中的对应位置呢?请看下面分析,
三、二进制文件与源码定位之map文件利用
map文件是二进制和源码之间对应的一个映射文件。
我们假设根据第三步我们定位出了病毒的特征码:
病毒名称 特征码位置 内存地址
svchost.dll 000038AA_00000002 100044AA
svchost.dll 00005F98_00000002
第一步设置VC编译环境生成Map文件。
在 VC 中,点击菜单“Project -> Settings”选项页(或按下 Alt+F7),选择 C/C++ 选项卡,并在最下面的 Project Options 里面输入:/Zd ,然后要点击 Link 选项卡,选中“Generate mapfile”复选框,并在最下面的 Project Options 里面输入:/mapinfo:lines,表示生成 MAP 文件时,加入行信息。设置完成。
第二步编译VC工程,设置活动工程编译即可,这个不用说明。这个步骤完成后,在release(或debug)目录,多了一个.map文件(比如svchost.map)。
第三步打开map文件(用UE或文本编辑器打开都行),形式如下:
(begin)
Timestamp is 488fcef2 (Wed Jul 30 10:16:18 2008)
Preferred load address is 10000000
---------------------------------------------------------------------------1----(为方便说明,wrw添加)
Start Length Name Class
0001:00000000 00010a50H .text CODE
0001:00010a50 00000485H .text$x CODE
0002:00000000 000004c8H .idata$5 DATA
......
0003:00000010 00000004H .CRT$XIZ DATA
0003:00000020 00001a50H .data DATA
0003:00001a70 00000688H .bss DATA
0004:00000000 000000a8H .rsrc$01 DATA
0004:000000b0 00000cf0H .rsrc$02 DATA
----------------------------------------------------------------------------2---(为方便说明,wrw添加)
Address Publics by Value Rva+Base Lib:Object
0001:00000000 ??0CAudio@@QAE@XZ 10001000 f Audio.obj
0001:000000d0 ??_GCAudio@@UAEPAXI@Z 100010d0 f i Audio.obj
0001:000000d0 ??_ECAudio@@UAEPAXI@Z 100010d0 f i Audio.obj
0001:000000f0 ??1CAudio@@UAE@XZ 100010f0 f Audio.obj
0001:000001e0 ?getRecordBuffer@CAudio@@QAEPAEPAK@Z 100011e0 f Audio.obj
0001:00000240 ?playBuffer@CAudio@@QAE_NPAEK@Z 10001240 f Audio.obj
0001:000002c0 ?InitializeWaveIn@CAudio@@AAE_NXZ 100012c0 f Audio.obj
......
0001:00003310 ?SendToken@CFileManager@@AAEHE@Z 10004310 f FileManager.obj
0001:00003320 ?UploadToRemote@CFileManager@@AAE_NPAE@Z 10004320 f FileManager.obj
0001:00003440 ?FixedUploadList@CFileManager@@AAE_NPBD@Z 10004440 f FileManager.obj
0001:00003670 ?StopTransfer@CFileManager@@AAEXXZ 10004670 f FileManager.obj
0001:00003730 ?CreateLocalRecvFile@CFileManager@@AAEXPAE@Z 10004730 f FileManager.obj
......
----------------------------------------------------------------------------3---(为方便说明,wrw添加)
Line numbers for .\Release\FileManager.obj(E:\vtmp\gh0st3src\Server\svchost\common\FileManager.cpp) segment .text
17 0001:00002630 20 0001:0000267f 21 0001:00002698 24 0001:000026d0
25 0001:000026f8 26 0001:0000273c 29 0001:000027d0 33 0001:000027ee
77 0001:000027f8 36 0001:000027fb 37 0001:00002803 77 0001:0000280d
......
532 0001:0000340f 534 0001:00003414 537 0001:00003428 540 0001:00003440
546 0001:0000345d 547 0001:00003487 548 0001:00003490 549 0001:00003492
551 0001:0000349e 552 0001:000034b8 553 0001:000034cb 554 0001:000034d4
558 0001:000034de 560 0001:000034e9 563 0001:000034ee 564 0001:00003506
......
(end)
我们看下,定位svchost.dll 的第一个特征码内存地址为:100044AA,在第2块中,我们可以找到RVA+BASE与之很接近的是
0001:00003440 ?FixedUploadList@CFileManager@@AAE_NPBD@Z 10004440 f FileManager.obj
这样我们可以定位到FileManager.cpp中的FixedUploadList函数,是不是范围缩小了?
下面我们再缩小代码行
利用这个公式:特征码行偏移 = 特征码地址(Crash Address)- 基地址(ImageBase Address)- 0x1000
看起来好像很难,其实很简单,我们将100044AA去掉内存基址10000000,再减1000,因为PE很多从1000开始,可以得到代码偏移地址为34AA。到第3块中找对应的代码行。
偏移地址34AA在(551 0001:0000349e 552 0001:000034b8 )中间,也就是551行和552行中间,我们到源程序中查找第551行:
wsprintf(lpszFilter, "%s%s*.*", lpPathName, lpszSlash);
这样就定位出源代码了,要怎么修改就怎么修改它就可以了。
四、实战免杀
A、卡巴免杀
首次编译后,先做卡巴的免杀。卡巴杀sys文件和dll,当然也就杀包装它们的install.exe,最后卡巴还杀生成的sever,我这里说杀生成好的server不是和前面的特征码重叠的地方,而是杀配置信息。
第一步、sys免杀
sys重新编译后,增加了输入表的函数,同时系统不同,造成很多地方不同于原特征,顺利通过卡巴、金山、小红伞等杀软。
第二步、svchost.dll免杀
特征码定位MultiByteToWideChar和"gh0st update"两个位置。这里是通过第3步map文件得出的。
卡巴怕加花指令, 这个函数MultiByteToWideChar的调用上,可以在这个函数前面随便加几句无效语句就可以通过卡巴杀软。
字符串调用"gh0st update" ,这个是用于更新用的 ,如果不要在线更新,直接把这个语句所在代码块删除;嘿嘿,其实搜索工程替换这个字符串为其他的字符串就可以了^_^,这个方法同时可以过金山杀软。
第三步、server免杀
卡巴定位在最后的配置信息,采取跳转显然是不行的,采用加花的办法,在写入AAAAAA配置信息之前,随便写些东西,就可以做server免杀。
卡巴免杀完成!
B、Avast免杀
最新的avast杀软再查杀1下,杀install.exe和svchost.dll(也就是杀生成的文件和其中的资源文件),接着做它的源码免杀。
定位在特征字符串%02d/%02d/%02d和“SYSTEM\CurrentControlSet\Services\%s”两个地方。
解决方案:
1、svchost.dll的特征码定位在键盘记录KeyboardManager.cpp文件中的SaveInfo(char *lpBuffer)函数。特征字符串%02d/%02d/%02d,也就是我们看到键盘记录的日期,修改之,修改的方法很多,将其改为[%d/%d/%d %d:%d:%d] ,编译即可通过avast杀软。
2、install的特征码定位在“SYSTEM\CurrentControlSet\Services\%s”,对应文件是install.cpp里的InstallService函数,修改大小写,编译即可通过免杀。

五、添加垃圾代码的小方法
垃圾代码要移动特征码所在的位置,不要跑到堆栈中了,这样的代码没有用。可以采取添加for循环,做计数,简单统计,采用局部变量,不改变后面的逻辑为宜。
添加输出表的方法:
有杀输出表的,可以在生成的svchost.dll上添加空函数 ,但是每次编译都要修改1次资源 ,其实我们在源码上添加如下语句:
extern "C" __declspec(dllexport) bool JustTempFun();//声明
……
extern "C" __declspec(dllexport) bool JustTempFun() //实现
{
return false;
}
编译后,输出表就被改变了,有的杀软就可做到代码免杀。

六、gh0st自动生成6to4ex.dll的修改
看到好多站友提问自动生成6to4ex.dll的问题,有热心站友也提出了自己的见解 ,我感觉有些人提出的解决方案不完全正确,有可能造成刚入手人误解,我根据自己的理解说明1下。
gh0st服务端是通svchost -netsvcs启动的,所以程序要利用netsvcs 服务,服务端也就是根据netsvcs生成的,故不能说服务端生成是随机的,相对于大多数系统来讲,基本是固定的,下面看分析。
查看install.cpp里面的InstallService()方法,首先遍历HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows NT\CurrentVersion\Svchost中的服务项,查找到一个服务后,程序采取替换服务的方法,将原服务删除,然后生成对应服务项+ ex.dll的文件替换原服务,6to4服务一般排在第一位,6to4服务是一种自动构造隧道的方式,作用在于只需要一个全球惟一的IPv4地址便可使得整个站点获得IPv6 的连接,这个服务对一般人来讲,基本闲置,所以我们的程序就把6to4服务给替换掉,同时在windows\system32\目录下生成 6to4ex.dll,以后启动就是6to4ex了,如果把这个服务跳过去,就依次向下生成Ias、Iprip等服务啦,如果netsvcs项没有可以替换的服务,则程序将自己添加1个服务,名称就是由 AddsvchostService()方法产生的netsvcs_0x%d。
这样说不知道关心服务名称的明白了不?
这个不能说是技术问题,但是小技巧问题可以从这里产生,我不知道其他人的360是怎么过的,但是我觉得可以提示1下的是,如果是360默认系统安全的服务,它肯定不会报不安全,替换闲置的系统安全的服务则通过360的效果要好的多
本文来自: 华夏黑客同盟论坛 本文详细地址:http://bbs.77169.com/read.php?tid=255676

热心网友 时间:2022-06-25 23:08

http://bbs.eyuyan.com/dispbbs.asp?BoardID=124&ID=138839&replyID=&skin
《易语言远程控制技术教程》
(2007年10月第一版)
前 言
利用远程控制技术对企业管理,可加快我国经济建设的需要。易语言以其易学易用功能完善的功能,从而为企业管理中的远程控制提供了基础的编程条件。
本教程从一个基本面说明了远程控制技术的编程环节,可能大家比较感兴趣的是双向通讯自动上线技术、网络通讯协议、内存压缩图片技术、TELNET超级终端等功能,本教程均提供了例程。高级的远程控制技术应用请大家继续学习WINSOCK,API应用,端口映射技术等。
对于破坏国家正常经济秩序的黑客行为,本书是严厉批评的。由于黑客技术的发展,远程控制被少数人利用,对国民生产产生了不良的后果。本教程不得不接触到远程控制这个方面,但仅以讨论的形式为大家介绍,并不进行细致的介绍,以让大家对此类黑客技术有所提防。
由于本教程中,某程序可能即包含了服务器组件,也包含了客户组件,因此如果用外部流行的“服务端/客户端”提法很容易混淆,因此本书将主动进行控制管理的一方称为:“主控方”,编写的程序为:“主控端”;将被动接受控制的一方称为:“受控方”,编写的程序为:“受控端”。
本教材个人可打印一份细看,各兄弟网站可自由转载而不用事先打招呼。版权所有,不得批量印刷即可。

作者还要说的话:本教程用了我两个月的时间写完,前期收集例程及写例程用了我更多的时间,特别辛苦。远程控制是把两刃剑,可以好好用,也可能造成不好的影响,还好回头再一看教材后,感觉对于企业内部管理应用还是非常不错的,可以提高中国中小企业的管理水平,但不可能制作成类似于灰鸽子那样的破坏功能,本书没有提供这样的技术,也请大家自重,不要写破坏性的程序。
本书使用到大量的例程,足有200MB,还好,书中我基本都提供了下载链接,如果书中没有列出的例程,请大家跟贴指出来,我会补上。我觉得最好的学习方法是先将这些例程收集全了,再一个一个打开看看,基本上就能明白了。

目 录

第一课.远程控制原理 5
1.企业管理的需要 5
2.介绍相关管理工具 5
3.组件简介 7
第二课.组件选择 8
1.数据报 8
2.服务器/客户组件 9
3.网络通讯支持库 9
4.保密通讯支持库 10
5.远程服务支持库 11
6.网络传送支持库 12
7.网络通讯支持库二 13
8.表1:网络通讯类支持库组件功能对比表 13
网络传送大文件丢包的原因 14
第三课.组件构成 15
1.用例图1:通讯类(易鸽子,局域网寻呼机,方舟千里眼) 15
2.用例图2:聊天室类 15
3.用例图3:远程控制 16
4.用例图4:远程数据服务(数据库) 16
5.采用单对组件 17
6.采用多种组件 17
7.组件搭配 17
8.表2:有易语言源码的远程控制软件对比 17
第四课.通讯协议 19
1.指令简介 19
2.指令应用 19
第五课.用户连接 20
1.连接方式 20
2.登录口令 21
3.身份验证,MAC和硬盘码 21
第六课.远程监视 21
1.“服务器/客户”组件通讯模式 21
2.内存压缩图片 21
3.“远程服务支持库” 22
第七课.自动上线 22
1.数据报广播自动上线 22
2.多对“服务器/客户”组件反向扫描上线 22
3.服务IP地址自动搜寻自动上线 22
4.将IP地址直接绑定在受控端 22
5.推举服务器 22
第八课.客户端功能 23
1.发送指令 23
2.对话聊天 23
3.监视屏幕 24
4.遥控功能 26
5.了解信息及修改信息 27
5.TELNET超级终端 27
6.文件传输 28
7.鼠标键盘录制 29
8.隐藏进程 29
9.开机启动运行 30
10.正常关机 30
11.多用户识别 31
12.不重复运行 31
13.系统服务权限 31
14.其他功能 31
第九课.服务端功能 31
1.安全性保证 31
2.用户列表信息 33
3.数据库操作 35
4.自动生成EXE 37
5.跨网远程 40
第十课.*与免杀 40
1.* 40
2.免杀 40
第十一课.打造超小受控端 41
1.请使用斩月工具,去掉易语言的核心支持库。 41
2.尽量使用API,这样不带有大量的支持库,体积就小了。 42
第十二课 一个实例的分析 42
1.设计文档 42
激活客户端过程 43
客户端上线过程 43
2.开机口令 43
3.用户列表/选择用户 44
4.发送指令 44
5.激活用户 45
6.发送文件 46

参考资料:http://bbs.eyuyan.com/dispbbs.asp?BoardID=124&ID=138839&replyID=&skin

易语言怎么编写远程控制啊?像灰鸽子的那种!最好有源代码!

编译环境一定要配置好:DDK+SDK+VC6,DDK用来编译sys文件的,SDK+VC6是用来编译工程的,配置部分比较简单,网上有很多资料,这里不再详述,有兴趣的朋友也可以查看DDK和SDK的相关帮助。 二、特征码定位简述 杀毒软件查杀木马的原理基本是根据特征查杀的,被查杀的部分我们称之为特征码,所以我们可以利用特征码定位工具MyCLL定...

易语言远程控制软件云霄远程精灵

这玩意要配置好服务端,把服务端放到一个目录,保存路径就是你放服务端的地方。然后选择这个文件,就可以生成了。

易语言怎么写远程,就是控制另一台电脑。

1.用例图1:通讯类(易鸽子,局域网寻呼机,方舟千里眼) 15 2.用例图2:聊天室类 15 3.用例图3:远程控制 16 4.用例图4:远程数据服务(数据库) 16 5.采用单对组件 17 6.采用多种组件 17 7.组件搭配 17 8.表2:有易语言源码的远程控制软件对比 17 第四课.通讯协议 19 1.指...

易语言远程屏幕差异模块怎么用,我看别人写的例子很不错一点都不卡,而且...

现有分块 = 取字节集中间(n1-1,A / n,上一张屏幕)差异分块 = 取字节集中间(n1-1,A / n,图片).// 好久没玩易语言 大致是这样的 n1-1是位置 A/n是长度 如果 (现有分块!=差异分块)发送屏幕=发送屏幕+差异分块+到字节集(n1-1) //把屏幕差异组合起来 每个差异有差异位置 }...

电脑远程监控问题

注入式病毒切记不要使用易语言编写 ———dobei原创、复制自重 ———灰鸽子(Hack. Huigezi)是一个集多种控制方法于一体的木马病毒,一旦用户电脑不幸感染,可以说用户的一举一动都在黑客的监控之下,要窃取账号、密码、照片、重要文件都轻而易举。更甚的是,他们还可以连续捕获远程电脑屏幕,还能监控...

如何远程控制别人的电脑

如果想远程控制别人的电脑,必须要在别人的电脑上安装一个控制软件,如飞鸽子木马或VNC远程控制程序!然后在你电脑上连接到对方电脑,输入IP即可!

易语言远程注册表修改

- -!弄灰鸽子得了,易语言哪有这种用法啊

求大神用c#帮我做一个简单的电脑远程控制软件,类似于灰鸽子的,谢谢各位...

乌龙寺技术站,里面远控多的是易语言的c++ C#的免杀的不免杀的

易语言远程文件发送

连接外网需要端口映射,或者是内网通

游戏WG是用什么编程语言编写的?像灰鸽子这种木马是用什么编写的?

游戏WG 什么语言都可以写 没有任何限制 看你擅长了 易语言不是一种语言 你会被他带入绝境 易语言是C++中文化产品 而且会被所有的杀毒报病毒 delphi是跨平台语言 建议你学习C++ 江苏万和游戏动漫学习的话6个月

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
rom/system/lib/中好多的.so库,每个.so具体是干什么用 有哪位朋友做过纸黄金交易,风险大吗,一般人可以做吗? 纸黄金上哪买好做不! 装饰公司辅料都有哪些 毛水泥地面可以贴地板贴纸吗 证信身份验证码是什么 抗震支架如何套定额 “务蹑霜雪戏”的出处是哪里 ...是个导游带人上泰国旅行。和两个患有精神病的女人的片段。 ...能销户 我能不能直接报停6个月 自动销户 会不会对自己贷款 探探可以用微信登录吗- 问一问 探探在苹果用一个登录过不能切另一个 探探怎么解除微信绑定 探探怎么更换 吃完饭身上痒是怎么回事 为什么取名叫指数基金 成立基金会,请大家为我们想个好名字,谢谢! 绝非求生机器码24小时会追加永久吗 老年人可以每天跳广场舞吗? 老年人跳广场舞精神抖擞,一上车为什么就站不住呢? 适合六七十老人跳的广场舞 老人广场舞比赛去世后引发争议,老人到底因何去世的? 我想做象棋主播,需要怎么做? 微信象棋直播间如何建 爱奇艺怎么看片的时候用别人的名义发弹幕? 爱股轩闪退怎么办 下载爱股轩App后为什么听不了 爱奇艺上发表弹幕后第二次看就没自己的弹幕了,请问这是为什么,怎么保存自己的弹幕,我想在每一集的同一 爱奇艺怎么看评论啊?还有怎么发表自己的评论啊? 爱奇艺电脑端怎么查看发过的弹幕和删除? 爱奇艺里面的弹幕,发了以后当时能看见,返回来看怎么就没了,有的人说用账号登陆就有了,我用爱奇艺账号 求易语言外网通讯解决方案 服务器客户端外网通讯 易语言与网络通讯错误 谁能给我一份详细的制作易语言YY协议教程 或者 制作心得。越详细越好,谢谢各位大神了。 除了徕卡以外,有没有数码全画幅旁轴相机 易语言怎么将文本数据发送到php 传统节日微写作300字 易语言,网络连接后执行某程序,怎么写 易语言怎么发送封包 易语言网络通讯支持库 易语言网络通讯支持库中的网络数据报如何使用呢?有劳大神写一下应用例程 旁轴相机为何那么贵? 请帮我写一篇300字的关于我国民俗节曰的作文 易语言是什么哦? 易语言怎样在两台电脑上建立连接(不同的网线【不是局域网】) 手机百度云怎么看压缩包,求解 百度云下载的文件在哪找(手机版) 为什么有500人群15个管理员? 500人群最高可以设置20个管理员,50人群最高可以设置7个管理员的。 500人的群可以有几个管理员! 微信公众号可以多少个管理员?
  • 焦点

最新推荐

猜你喜欢

热门推荐