资源描述:
《qqsclauncher逆向分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、QQScLauncher逆向分析逆向版本:QQ2011正式版(2425)逆向目的:只是感兴趣,没有任何其他意图版权声明:本文档由代码疯子整理,在保留本文档版权声明和原始出处的前提下欢迎转载!需要工具:IDAPro、Ollydbg原文出处:http://www.programlife.net/qqsclauncher-reversing-analysis.html正文内容:什么是QQScLauncher?在QQ最新版(QQ2011正式版)中加入了不少新功能,如手写、视频群聊、语音输入等,另外还有一个功能是可以把好友拖放到桌面上,点击就可以直接与之
2、进行聊天,处于好奇,本人对他进行了一下逆向,于是便有本文。先去准备两个QQ小号(842342202、2390318912,不是必须的,这里显示,所以用小号)先随便把一个好友拖放到桌面上,会产生一个快捷方式,查看这个快捷方式的属性,得到目标内容,会发现一个叫做QQScLauncher的程序:"C:ProgramFilesTencentQQBinQQScLauncher.exe"/uin:842342202/quicklunch:1D0BEC54CBEE33C09ED6F8089A7528E12EA3F4892C20DE8B0E8EF11
3、44D765CD46176A599C09696DF可以看到,这里是通过一个叫做QQScLauncher.exe的程序来启动的,uin参数指定自己的QQ号码,quicklaunch肯定就是用于鉴别好友用的了。用PEiD对QQScLauncher.exe进行查壳,结果什么也没查到,估计是我的PEiD数据库太久了,用FileFormatIdentifier查出来是VisualC++2005Release->Microsoft。其实是什么不要紧,拿起IDA逆一逆就没什么了。下面使用IDA对其进行简单的分析,可以看到一个获取命令行参数/uin和/quic
4、klunch的过程:.text:00401000subesp,270h.text:00401006moveax,dword_403000.text:0040100Bxoreax,esp.text:0040100Dmov[esp+270h+var_4],eax.text:00401014moveax,ds:__argc;命令行参数个数argc的地址.text:00401019pushebx.text:0040101Apushebp.text:0040101Bpushesi.text:0040101Cpushedi.text:0040101Dxor
5、edi,edi;edi清零.text:0040101Fxorebp,ebp;ebp清零.text:00401021cmp[eax],edi;看看是不是正常启动(三个参数).text:00401023mov[esp+280h+var_270],edi;存放QQ号的位置.text:00401027mov[esp+280h+var_26C],edi;0/1暗示QQ号是否找到.text:0040102Bmov[esp+280h+var_268],edi;0/1暗示quicklunch是否找到.text:0040102Fjleloc_40112A;不是正
6、常启动则跳转.text:00401035movebx,ds:wcsncmp;存储wcsncmp函数的地址,后面会经常用到.text:0040103Bjmpshortloc_401040.text:0040103B;---------------------------------------------------------------------------.text:0040103Dalign10h.text:00401040.text:00401040loc_401040:;CODEXREF:wWinMain(x,x,x,x)+3Bj.
7、text:00401040;wWinMain(x,x,x,x)+93j.text:00401040movecx,ds:__wargv;命令行参数的地址.text:00401046movedx,[ecx];取得第一个字符串的地址.text:00401048movesi,[edx+edi*4];取得第一个字符串的字符.text:00401048;第一次将取到C:ProgramFilesTencentQQBinQQScLauncher.exe.text:00401048;.text:0040104Bpush5;MaxCount.text:0
8、040104DpushoffsetStr2;"/uin:".text:00401052pushesi;Str1.text:00401053calleb