首页
社区
课程
招聘
[分享]TM2007去除自动升级提示
发表于: 2009-8-13 17:42 3920

[分享]TM2007去除自动升级提示

2009-8-13 17:42
3920
TM2007去除自动升级提示
相信还是有部分朋友在使用TM2007,因为它非常简洁直观,但由于版本的原因,每次登陆的时候都会自动弹出一个NAG提示我们升级,我们自然不能升级咯,但是每登陆一次都会弹出这样一个窗口来,难免会让人觉得有些烦恼,我简单的来说一下去掉那升级窗口的方法!
   由于我下载的是绿色版本,打开安装目录,首先会看到一个shell.exe,这就是我们每次要登陆的东西,我想肯定就是通过它来检查升级的,但我们看一下文件大小只有60KB,显示不是真正的主程序,那么真正的主程序在哪儿呢!我们先运行TM登陆QQ,然后再使用OD的附加功能,这时我们就看到了真正TM登陆器调用的路径了
大家可以看到是在我们当前目录下的 TMDLLS文件夹中
引用:
未命名的窗口, 条目 12
进程=00000518
名称=TM
窗口=Socket Notification Sink
路径=D:\Program Files\Tencent\TM2007\TMDLLS\TM .exe
我们既然已经知道真正TM所在的目录之后,这时我们就好办啦!直接到TMDLLS中用OD载入TM.exe
在调试之前我们可以先看一下TMDLLS目录中的一些文件,这有助于我们分析,我简单的看了一下,发现有两个可运行的文件,分别有:QQLiveUpdate.exe、BDLiveUpdate.exe,前者就是自动弹出升级的那个对话框,后面那个是出错的框,这时我们找到了升级会自动调用QQLiveUpdate.exe。
   我们在OD中直接搜索字符串QQLiveUpdate.exe,会搜索到几个调用QQLiveUpdate.exe的地方,我们分别下好F2断点
F9运行,来到这儿
引用:
004013F5   >mov dword ptr [esp], TM.0051B024         ;  QQLiveUpdate.exe
004013FC   >push dword ptr [eax]                     ;  这儿是读取这个目录的一些信息
004013FE   >lea eax, [ebp-20]
00401401   >mov byte ptr [ebp-4], 1
00401405   >push TM.0051B234                         ;  %s%s
0040140A   >push eax
0040140B   >call <jmp.&MFC42.#2818>
00401410   >and byte ptr [ebp-4], 0
00401414   >add esp, 10
00401417   >lea ecx, [ebp-28]
0040141A   >call <jmp.&MFC42.#800>
0040141F   >push edi
00401420   >push dword ptr [ebp-20]
00401423   >push ebx
00401424   >push TM.0051B020                         ;  TM
00401429   >call TM.0040F660
0040142E   >add esp, 10
00401431   >cmp eax, edi
00401433   >je TM.004017F5                           ;  改跳了程序就直接退出了,这段不是我们关键的
00401439   >push edi
再次F9运行,登陆框已经启动了,登陆之后中断到
引用:
0045CBE5  />push ebp                                 ;  在这儿改为retn
0045CBE6  |>mov ebp, esp
0045CBE8  |>push -1
0045CBEA  |>push TM.0050887E                         ;  SE 处理程序安装
0045CBEF  |>mov eax, fs:[0]
0045CBF5  |>push eax
0045CBF6  |>mov fs:[0], esp
0045CBFD  |>sub esp, 0C
0045CC00  |>mov [local.6], ecx
0045CC03  |>mov [local.5], 0
0045CC0A  |>lea eax, [local.4]
0045CC0D  |>push eax
0045CC0E  |>call [<&BasicCtrlDll.GetExeFolder>]      ;  BasicCtr.GetExeFolder
0045CC14  |>add esp, 4
0045CC17  |>mov [local.1], 1                         ;  下面这就调用升级文件了,我们不让它跳用
0045CC1E  |>push TM.0056105C                         ;  QQLiveUpdate.exe
0045CC23  |>lea ecx, [local.4]
0045CC26  |>call <jmp.&MFC42.#941>
0045CC2B  |>lea ecx, [local.4]
再次F9运行,又中断到
引用:
0045ED4E  |. >call [ecx+2C]                            ;  (Initial CPU selection)
0045ED51  |. >test eax, eax
0045ED53  |. >je short TM.0045ED8B                     ;  所以这儿一定不能让它跳,一跳程序就会出错,直接NOP
0045ED55  |. >mov [local.22], 1
0045ED5C  |. >mov byte ptr [ebp-4], 1
0045ED60  |. >lea ecx, [local.5]
0045ED63  |. >call TM.004027D5
0045ED68  |. >mov byte ptr [ebp-4], 0
0045ED6C  |. >lea ecx, [local.6]
0045ED6F  |. >call TM.004027D5
0045ED74  |. >mov [local.1], -1
0045ED7B  |. >lea ecx, [local.7]
0045ED7E  |. >call <jmp.&MFC42.#800>
0045ED83  |. >mov eax, [local.22]
0045ED86  |. >jmp TM.0045EF2C
0045ED8B  |> >mov ecx, [arg.1]                         ;  这下面就会调用程序出错了
0045ED8E  |. >call TM.0045EF55
0045ED93  |. >mov byte ptr [ebp-10], 0
0045ED97  |. >mov [local.13], 1
0045ED9E  |. >lea eax, [local.4]
0045EDA1  |. >push eax
0045EDA2  |. >push TM.0052557C                         ;  bEnableAutoUpdate
0045EDA7  |. >lea ecx, [local.5]
0045EDAA  |. >call TM.00491A40
我们这时再F9运行,就不会弹出升级的对话框了,复制保存的时候大家不能覆盖目录中的TM.exe文件,否则不能运行,大家新建一个快捷方式到桌面上也是一样的啦!呵呵,分析得不是很好,希望大家多多见谅!

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//