题首

Gh0st是一款开源的远程控制软件。界面友好,性能高效。网上流传很多版本,比如红狼,饭客,败笔,大灰狼版本以及多如牛毛的个人修改的如外星人,Drat等个人修改版本。但内核都是基于Gh0st3.6修改而成的。

Gh0st3.6下载地址见 http://huaidan.org/archives/2010.html

截止今天(2013年8月12日11:03:29),我能找到的最新版的Gh0st系列的源代码是 2013年1月份左右的《大灰狼远程》,还有《Gh0st2013》等。地址就不发出来了,大家可以在网络上搜索得到。

开篇明义:

本人水平十分一般,不敢班门弄斧,写这个系列原意是想记录在学习Gh0st中得到的一些感想和一些疑惑,正所谓好码共分享,疑义相与析。所以请高手绕路。

关于Gh0st代码的变迁:

1.服务端的运行方式

2010年时饭客论坛放出一份代码 《gh0st3.6饭客论坛免杀金牌版》

大家可以在我的资源里下载。

http://download.csdn.net/detail/witch_soya/4979548

大家可以看到这份代码里,服务端是采用了dll注入的形式,exe只是作为一个loader,大致的流程就是服务端的exe运行后就会释放一个dll,然后这个dll会执行所有的服务端的功能,而exe本身会自删除。在生成服务端的时候,只需要通过更新资源的方式去更新exe里面的动态库就可以了。

但是在网络最新找到的代码Gh0st2013里,几乎都是采用了单exe的方式运行。

因为我对于免杀之类并不精通。所以有如下疑问

Question1.为什么现在都采用单exe运行了,dll服务端不是更隐蔽吗?

2.客户端的界面修改

在Gh0st3.6的很多个版本的代码中,界面库采用了cj60lib 。这个库在用VS2010以上的版本编译时候会有很多重定义的错误。后来在《大灰狼远程控制》的代码里已经改为XTToolkitPro.lib的界面库了。还有《PcRat》的源代码中还采用了一种界面库Skin+ 。

界面欣赏

1 开源《Gh0st3.8》  --这个是网络上找到的Gh0st3.8的代码,我去掉了CJ60.lib界面库,返璞归真的效果。(by the way.大家不要找Gh0st3.75的代码了,都是骗人的,只有客户端,没有服务端)

2.我自己的Aero远程控制(还在写ing...其中遇到很多问题,所以在这里不敢敝帚自珍,请求SOS国际援助.^_^)

主界面

因为之前用一些界面库总是各种掣肘,自己写个界面库又没那个本事。后来就一不做二不休,全部采用gdi+贴图的方式来做的界面。比较花哨,完全是当做写着玩,所以没有考虑很多基于性能的因素。

有主机上线(这里我暂时屏蔽了右下角仿腾讯的弹出窗。)

我比较喜欢《上兴远程控制》,它将主程序和生成服务端分为两个独立程序来做的,我觉得这样挺好,这一点我采用了他的思路。采用了一种很2的办法来实现。就是生成服务端和修改服务端图标的代码用C++写在了一个动态库里,然后服务端生成工具用WPF来做的。如图

因为我这款远程控制的主要目标是尽可能用上自己所学到的编程技术,所以在旁人看来未免有些华而不实。这点我也受教了。

顺便贴上比较欣赏的上兴远程控制的界面。

还有其他的参考,如外星人,灰鸽子等等知名非知名软件。敬谢不敏。在接下来的回目中尽自己所知来剖析Gh0st的运行机理。

/*********************************************************************************************************************************************************

2013年8月12日11:48:24  Witch_Soya

**********************************************************************************************************************************************************

Gh0st整理资料1的更多相关文章

  1. 1、Android项目框架搭建 (分析需求、整理资料)

    闲来无事.想搭个框架试试 分析一般应用 将资料整理整理 粗略统计 须要下面资料 1.android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新 ListView.Vi ...

  2. AngularJS 整理资料

    AngularJS是Google开源的一款JavaScript MVC框架,弥补了HTML在构建应用方面的不足,其通过使用指令(directives)结构来扩展HTML词汇,使开发者可以使用HTML来 ...

  3. WEB安全工程师整理资料

    安全产品  NESS   Nmap   AWVS Burp APPScan   chopper  sqlmap   kali linux    具体的教程可以在SEcWiki 上搜索  使用公开的漏洞 ...

  4. Android 6.0 新特性 整理 资料来自网络

    Android 6.0新特性 Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access ...

  5. Unity 3d C#和Javascript脚本互相调用 解决方案(非原创、整理资料,并经过实践得来)

    Unity 3d C#和Javascript脚本互相调用 解决方案 1.背景知识 脚本的编译过程分四步: 1. 编译所有 ”Standard Assets”, “Pro Standard Assets ...

  6. js window对象属相和方法相关整理资料

    window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval mov ...

  7. AJPFX循环结构整理资料

    Java语言基础(循环结构概述和for语句的格式及其使用)* A:循环结构的分类        * for,while,do...while * B:循环结构for语句的格式:*           ...

  8. android开发之动画的详解 整理资料 Android开发程序小冰整理

    /** * 作者:David Zheng on 2015/11/7 15:38 * *  网站:http://www.93sec.cc * *  微博:http://weibo.com/mcxiaob ...

  9. C语言零基础入门难发愁,那就快来看看这篇基础整理资料吧

    C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { in ...

随机推荐

  1. web过滤器使用spring依赖注入

    1.问题描述 在web项目中,使用filter过滤器十分常见,但是在过滤器中spring Bean即使在配置文件中配置了扫描filter对应的包,也无法正确注入spring 管理的Bean. 2.原因 ...

  2. BZOJ 3172 [Tjoi2013]单词 AC自动机Fail树

    题目链接:[http://www.lydsy.com/JudgeOnline/problem.php?id=3172] 题意:给出一个文章的所有单词,然后找出每个单词在文章中出现的次数,单词用标点符号 ...

  3. Java 中的浮点数取精度方法

    Java 中的浮点数取精度方法 一.内容 一般在Java代码中取一个double类型的浮点数的精度,四舍五入或者直接舍去等的方式,使用了4种方法,推荐使用第一种,我已经封装成工具类了. 二.代码实现 ...

  4. Linux 内核编译步骤及配置详解

    前言    Linux内核是操作系统的核心,也是操作系统最基本的部分. Linux内核的体积结构是单内核的.但是他充分采用了微内核的设计思想.使得虽然是单内核.但工作在模块化的方式下.并且这个模块可以 ...

  5. Git_搭建Git服务器

    在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改. GitHub就是一个免费托管开源代码的远程仓库.但是对于某些视源代码如生命的商业公司来说,既不想 ...

  6. windows下git命令的使用

    一.写在前面 关于git,出于自己的爱好,前段时间玩了一下,也自己上网查了一下资料,现简单记录一下,以备查看. 当然,本文并不是介绍配置git服务器的文章,而是以github服务器作为git的远程仓库 ...

  7. jquery的closest方法和parents方法的区别

    今天第一次看到closest方法,以前也从来没用过. 该方法从元素本身开始往上查找,返回最近的匹配的祖先元素. 1.closest查找开始于自身,parents开始于元素父级 2.closest向上查 ...

  8. PHP中的 变量 与 常量 详解

    几乎所有的编程语言都会涉及到变量和常量这两个概念,PHP也不例外.本节将介绍PHP语言中的变量和常量的应用方法. 一.什么是变量和常量 在程序执行的过程中,变量存储的值可以随时改变,而常量存储的值是不 ...

  9. systemtap 用户态调试

    #include <stdio.h> int main( void) { ; a=fun(,); printf("%d\n",a); } int fun(int a,i ...

  10. Remon Spekreijse CSerialPort串口类的修正版2014-01-10

    转自:http://m.blog.csdn.net/blog/itas109/18358297# 2014-1-16阅读691 评论0 如需转载请标明出处:http://blog.csdn.net/i ...