简单Crack与Hacker思维打造灵巧后门pc软件 文章资讯 手机软件

您当前的位置→图文中心安全防范简单Crack与Hacker思维打造灵巧后门

简单Crack与Hacker思维打造灵巧后门


2009/3/29  编辑:佚名 来源:本站整理  关键词:

简单Crack与Hacker思维打造灵巧后门

 

适合读者:破解迷、黑兵器库老板
前置知识:Crack必备工具的可以说是使用方法
Icefire:长久以来破解爱好者们都就在会一直不断地寻求一种方式, 可以能够突破Cracker局限的方式, 可以能够不单单就在各类软件中随意驰骋, 更能就在网络net这块天地中自由翱翔。 或许本文就提供了一种让二者结合更巧妙的方式
适合读者:破解迷、黑兵器库老板

前置知识:Crack必备工具的可以说是使用方法

Icefire:长久以来破解爱好者们都就在会一直不断地寻求一种方式, 可以能够突破Cracker局限的方式, 可以能够不单单就在各类软件中随意驰骋, 更能就在网络net这块天地中自由翱翔。 或许本文就提供了一种让二者结合更巧妙的方式, 真的希望能给您一点启发。

不复杂Crack与Hacker思维打造灵巧后门

文/ dickboy

相信这篇文章的出现将造成网络net电视之类的东西漫天飞舞(或许还是有一种新兴后门), 我可没有一点点私心啊, 知道这点东西就立刻和大家分享了。

同学想看网络net电视, 可惜程序要注册, 把我这个义工叫了过去, 几下搞定后, 一看注册费……还真不是一般的贵!要不咱也写一个得了?说不定也可以能够搞点钱花花。 住宿费还欠着呢, 不交钱不让考试, 穷人家的孩子啊(Icefire:同道同道!想当初……唉, 还是不想了, 大过年的。 ), 5555……。 可惜我也不知道怎么写, 我还没有学过Windows编程, 还记得上期杂志我的文章《Crack新手进化篇》吗?我的补丁程序可是黑忽忽的界面啊!哎, 没有办法啊, 将不会Windows编程, 只好分析别人的程序了, 就拿网络net电视小精灵下手吧!

Peid检查后发现是用Delphi编写的, 郁闷, 很难去寻找到是哪个函数全自动打开Realplay或Media Player播放影音资料的, 要是用VC++编写的就好了。 到网上找了几个类似的网络net电视程序, 不是Delphi就是VB写的。 没有一个VC++的, 只好对网络net电视小精灵动真功夫了——按江湖规矩, 我们我自己单挑……那个拿葱的大婶您过来!

Crack思维

用Dede反编译, Tnit1的TForm1看到很多事件, 仔细看看, 看到了一个CCTV1Click事件, 双击来到对应代码:

004A1A80   53                     push    ebx

004A1A81   8BD8                   mov     ebx, eax

004A1A83   6A01                   push    $01

004A1A85   6A00                   push    $00

004A1A87   6A00                   push    $00

* Possible String Reference to: 'http://www.cctv.com/sports/'

|

004A1A89   68A01A4A00             push    $004A1AA0

004A1A8E   6A00                   push    $00

004A1A90   8BC3                   mov     eax, ebx

* Reference to: QForms.TCustomForm.GetClientHandle(TCustomForm):QWorkspaceH;

|

004A1A92   E88501FAFF             call    00441C1C

004A1A97   50                     push    eax

* Reference to: shell32.ShellExecuteA()

|

004A1A98   E89B94F8FF             call    0042AF38

004A1A9D   5B                     pop     ebx

004A1A9E   C3                     ret

嘿嘿, 本来用的ShellExecuteA。 打开Ollydbg, 载入网络net电视小精灵, 下断点就在004A1A80, 也就是CCTV1Click事件现在开始的第一条语句。 运行, 用鼠标点击中央一台, 现在开始播放了……等等, 不对啊, 竟然没有断下?!仔细看看网址, 本来用的ShellExecuteA是打开网页http://www.cctv.com/sports/的, CCTV1Click不是调用Media Player.exe打开中央一台的事件, 那这个到底是什么东东呢?打开网络net电视小精灵看看, 就在网络net导航的体育栏目看到了本来是用鼠标点击CCTV体育的事件, 晕倒。

继续, 再找一个熟悉的:BBC1Click, 从名字上看, 应该是播放BBC电台或者电视台的事件(不知道有没有BBC电视台, 呵呵), 双击来到对应的地方, 发现这一次的代码和上面的完全不同:

0048E298   BAB0E24800             mov     edx, $0048E2B0

* Reference to control TForm1.WebBrowser1 : TWebBrowser

|

0048E29D   8B805C040000           mov     eax, [eax+$045C]

* Reference to : TWebBrowser._PROC_0046395C()

|

0048E2A3   E8B456FDFF             call    0046395C

0048E2A8   C3                     ret

分析发现网络net电视小精灵似乎使用TWebBrowser构件来播放网上的影音资料。 赶紧从网上找了一下TWebBrowser的资料, 本来是Delphi的一个控件……将不会啊, 没办法。 不能够死心, 再找其它的事件——12:00了, 还是睡觉再说, 明天早上还要上课呢!

刚躺到床上, 突然想起前面的ShellExecuteA不是可以能够打开网页吗?那还是有没有其它作用呢?赶紧起床!用IDA反汇编网络net电视小精灵, 去寻找到ShellExecuteA(一定不要问我怎么找的, 就在Names选择中项), IDA就是好啊, 给出了注释:

jmp     ds:__imp_ShellExecuteA ; Opens or prints a specified file

看到了吗?不复杂翻译应该是:打开或打印一个具体文件程序。

看来有真的希望, 网上看电影不也是打开一个具体文件程序吗?还记得用Realone网上看电影吧, 突然掉线的时候, 是不是弹出一个对话框, 说什么*.rm不能够播放。 赶紧用百度查了查ShellExecuteA的资料, 哇, 太多了, 大部分都是VB中怎么用这个控件, 没有一个我要的。 灵机一动, 换一种思维方式:当我们我自己用鼠标点击一个电视台或者广播台的时候, 不是用Media Player.exe打开就是用Realplay.exe打开的。 所以, 要是可以能够用ShellExecuteA并且用Realplay.exe作为参数可以能够打开一个网上的影音文件程序, 那么用“ShellExecuteA realplay.exe”搜索应该是有结果的。

好了, 搜索“ShellExecuteA realplay.exe”, 没有发现, , 将不会吧?Ok, 再来搜索ShellExecuteA  Media Player.exe, 也是一个结果也没有。 只好出绝招了, 拿出Cracker必备的API手册, 查ShellExecuteA, 居然是用VB描述的……

第二天上课的时候没有心思, 继续想这个问题, 没有什么结果, 回到寝室, 查MSDN, 有发现了:

HINSTANCE ShellExecute(     
    HWND hwnd,

    LPCTSTR lpOperation,

    LPCTSTR lpFile,

    LPCTSTR lpParameters,

    LPCTSTR lpDirectory,

    INT nShowCmd

);

lpOperation支持的用法有:

edit

Launches an editor and opens the document for editing. If lpFile is not a document file, the function will fail.

explore

Explores the folder specified by lpFile.

find

Initiates a search starting from the specified directory.

open

Opens the file specified by the lpFile parameter. The file can be an executable file, a document file, or a folder.

print

Prints the document file specified by lpFile. If lpFile is not a document file, the function will fail.

英语菜, 就不翻译了, 更具体请查阅MSDN, 我怕说我骗稿费。 到这里, 您有什么想法?lpOperation已经指出了一些操作, 对编写网络net电视有用的只有上面的“open”。 后来从网上去寻找到了《深入浅出ShellExecute》:

Q:怎么才能打开一个网页?

ShellExecute(this->m_hWnd,"open","notepad.exe", "c:\\MyLog.log","",SW_SHOW );

As you can see, I haven't passed the full path of the programs.

ShellExecute(this->m_hWnd, "open", "http://www.google.com";, "", "", SW_SHOW );

您觉得哪个更有用呢?第一个?实验一下, 假如我替换Notepad.exe为Media Player.exe, 替换“c:\\MyLog.log”为“d:\\t.mid”, 当然这里的“d:\\t.mid”是真实存就在的MID音乐, 这样行吗?先不复杂测试一下。 选择中现在开始菜单->运行, 输入“Media Player.exe d:\t.mid”, 弹出Windows Media Player现在开始播放t.mid了。

赶快用VC新建一个Win32 Console Application工程, 输入如下代码:

#include <windows.h>

int main(int argc, char* argv[])

{

       ShellExecute(0, "open", "Media Player.exe", "d:\\t.mid", "", SW_SHOW);

       return 0;

}

执行, 呵呵, 是不是一个黑忽忽的界面之后, 弹出Windows Media Player现在开始播放t.mid了?成功!

小提示:Windows 98不是Media Player.exe, 98下面是Mplayer2.exe, 请大家对照我自己的机器做实验。 文中的机器是Windows XP。

第二个例子打开一个网页, 用什么打开呢?用IE, 确切的说是用默认的浏览器, 因为这里没有指定有什么打开, 也就是说打开网页有一个关联程序, 也就是默认的浏览器。 发散一下思维, 如果把这里的http://www.google.com换成其它呢?这里我换成“d:\\t.mid”, 赶快用VC新建一个Win32 Console Application工程, 输入如下代码:

#include <windows.h>

int main(int argc, char* argv[])

{

       ShellExecute(0, "open", "d:\\t.mid", "", "", SW_SHOW);

//提醒一定要注意与上面的不同之处,去掉了“Media Player.exe”, 同一个时间要打开文件程序的具体详细位置成了第3个参数

       return 0;

}

执行, 呵呵, 是不是一个黑忽忽的界面之后弹出Windows Media Player现在开始播放t.mid了。 因为我测试的机器默认MID关联Windows Media Player。 这就是为什么我就在上面强调“打开网页关联默认的浏览器”, 如果您的机器默认关联其它的播放器(如豪杰系列), 则应该弹出豪杰的超级音频解霸播放t.mid。

已经出现曙光了, 现就在到Baidu找一首歌曲, 我找的是:陈慧琳-记事本。 查看属性, 得到地址:http://mp3.baidu.com/u?u=http://www.jsshmzx.com/zhuwei/geci/flash/ZzI$.mp3

继续修改程序:

hellExecute(0, "open", "http://mp3.baidu.com/u?u=http://www.jsshmzx.com/zhuwei/geci/flash//ZzI$.mp3", "", "", SW_SHOW );

小提示:这个地址是Baidu搜索的, 到读者测试的时候有可能已经过时了。

运行, Windows Media Player现在开始播放陈慧琳的记事本了!成功!

   

Hacker思维

当我们我自己上网看电视的时候, Windows Media Player或者Realone会打开网络net电视内置的网址, 这个网址是要作为Windows Media Player或者Realone的请求发给服务器的, 所以这里有两个方法:

1.  既然是网络net电视内置的网址, 那么我们我自己可以能够先用W32dasm反汇编之后去找网址。

这里仍以网络net电视小精灵为例, 用W32dasm反汇编, 会发现大量的网址, 但是仔细看, 会发现几乎没有一个网址是用来看电视和听广播的, 都是网络net电视小精灵里面网络net导航提供的网址。 似乎此路不通?等等, 再用Ollydbg载入网络net电视小精灵, 查看字符参考, 没有吃惊吧?可以说是可以能够去寻找到所有的看电视和听广播的网址。

2.  既然这个网址是要作为Windows Media Player或者Realone的请求发给服务器, 所以我们我自己可以能够用Sniffer获得真实地址。

测试时我用的Commview, 个人觉得这是我等菜鸟最好用的Sniffer, 这里我不复杂说一下, 布置设置过滤条件:IP为我自己机器的IP, 只捕获流出的数据信息包。 布置设置协议, 因为播放影音文件程序一般的协议有这些:mms://, rtsp://等。 如果捕获不到地址, 放宽条件就可以能够了。

Ok, 现就在解决处理了所有问题, 剩下的就是不停地加入网址, 写代码了。 下面谈谈怎么利用ShellExecute做一个属于我自己的隐蔽的后门, 这也是从上面的内容中引起的灵感。 先看以下代码:

// test.cpp:定义控制台应用程序的入口点

//

#include <windows.h>

int main(int argc, char* argv[])

{

      ShellExecute(0, "open", "Media Player.exe", "d:\\t.mid", 0, SW_HIDE);

      return 0;

}

测试上面的代码, 运行, 有什么发现吗?应该有吧:黑忽忽的界面之后, 听到音乐了吧!但是看到“Media Player”的界面了吗?没有!这是因为最后一个参数改为了SW_HIDE;如果这里第2个参数不用Open, 而用0则将不会呈现“Media Player”的界面, 但是却就在播放音乐——想到了什么?仔细想想, 如果这里不是Media Player.exe, 而是您的木马xx.exe?您用另外的一个正常的程序悄悄启动xx.exe?呵呵, 这个想法很好吧!这可是拥有不容易被杀死的极品后门啊!

好了, 文章到这里就结束了, 真的希望大家能看明白, 我要就在上面写出ShellExecute的原型就是因为我想让网友朋友们去发掘每一个参数的意义, 说不定就能发现宝藏哦!
 

相关文章
  • wifi共享的原理是什么,共享原理十分简单
  • 王者荣耀·为什么射手第一条装备都买末世?原因很简单
  • 【大仙王者荣耀】王者局,不知火舞的简单连招
  • 这些高校抗住了勒索病毒,校园安全“卫士”不简单
  • 谷歌语音助手要想走进用户家庭,可不止是听声识人这么简单
  • 端午节的手抄报简单字少
  • 端午节的手抄报简单的
  • 安全免费、简单快速的文件搜索小工具:Wise JetSearch
  • 简单有气质的女生微博名字
  • 《狙击手:幽灵战士3》手动存档简单方法介绍
  • 发表评论
    阅读排行
    相关热门
    网站帮助 - 广告合作 - 下载声明 - 网站地图