Gh0st整理资料1
题首
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、Android项目框架搭建 (分析需求、整理资料)
闲来无事.想搭个框架试试 分析一般应用 将资料整理整理 粗略统计 须要下面资料 1.android-pulltorefresh 一个强大的拉动刷新开源项目,支持各种控件下拉刷新 ListView.Vi ...
- AngularJS 整理资料
AngularJS是Google开源的一款JavaScript MVC框架,弥补了HTML在构建应用方面的不足,其通过使用指令(directives)结构来扩展HTML词汇,使开发者可以使用HTML来 ...
- WEB安全工程师整理资料
安全产品 NESS Nmap AWVS Burp APPScan chopper sqlmap kali linux 具体的教程可以在SEcWiki 上搜索 使用公开的漏洞 ...
- Android 6.0 新特性 整理 资料来自网络
Android 6.0新特性 Runtime Permissions Doze and App Standby Apache HTTP Client Removal BoringSSL Access ...
- Unity 3d C#和Javascript脚本互相调用 解决方案(非原创、整理资料,并经过实践得来)
Unity 3d C#和Javascript脚本互相调用 解决方案 1.背景知识 脚本的编译过程分四步: 1. 编译所有 ”Standard Assets”, “Pro Standard Assets ...
- js window对象属相和方法相关整理资料
window对象有以下方法: open close alert confirm prompt setTimeout clearTimeout setInterval clearInterval mov ...
- AJPFX循环结构整理资料
Java语言基础(循环结构概述和for语句的格式及其使用)* A:循环结构的分类 * for,while,do...while * B:循环结构for语句的格式:* ...
- android开发之动画的详解 整理资料 Android开发程序小冰整理
/** * 作者:David Zheng on 2015/11/7 15:38 * * 网站:http://www.93sec.cc * * 微博:http://weibo.com/mcxiaob ...
- C语言零基础入门难发愁,那就快来看看这篇基础整理资料吧
C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { in ...
随机推荐
- [leetcode tree]98. Validate Binary Search Tree
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...
- 关于socket知识整理
一个完整的计算机系统是由硬件.操作系统.应用软件三者组成,具备了这三个条件,一台计算机系统就可以玩单机游戏.如果你想上网(访问个黄色网站,发个黄色微博啥的),就需要遵守网络协议,即计算机之间交流的标准 ...
- centos+uwsgi+nginx+python+django服务器安装配置
1.ssh登录后使用fdisk –l查看需要格式化硬盘的名称: 2.运行fdisk /dev/vdb,对数据盘进行分区,按照提示,依次输入n,p,1,两次回车,wq,分区开始.(注意数据盘的名称,和阿 ...
- 快速排序之C++实现
快速排序之C++实现 一趟快速排序的算法是: 1)设置两个变量i.j,排序开始的时候:i=0,j=N-1: 2)以第一个数组元素作为关键数据,赋值给key,即key=A[0]: 3)从j开始向前搜索, ...
- PHP-FPM高负载的解决办法
=================== 优化设置 ========================= When you running a highload website with PHP-FPM ...
- MySQL主从复制(Replication)(MySQL数据同步)配置
MySQL是开源的关系型数据库系统.复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(mast ...
- [USACO5.5]Hidden Password
题目大意: 求字符串最小表示. 思路: 本来按照lbn187的课件,知道SAM可以求字符串最小表示. 然而他并没有提供例题,就自己找了一道做. 大体思想就是把字符串复制一遍接在后面,构建SAM,然后每 ...
- codevs 1052 地鼠游戏 优先队列
1052 地鼠游戏 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.codevs.cn/problem/1052/ Descriptio ...
- Unity3D中的UnitySendMessage方法的使用
UnitySendMessage(“string”,“string”, ***),这是方法,我们至少需要传入两个参数,第一个参数为unity中的一个gameobject名称,第二个参数为这个gameo ...
- 基于springboot的spring JSR validation 后台参数验证
springboot集成JSR参数校验: 1. 导入maven <dependency> <groupId>org.springframework.boot</group ...