mm475 发表于 2014-12-18 00:07

硬件断点之三----- 关机暗桩的解除

本帖最后由 mm475 于 2014-12-18 04:48 编辑

今天看到格盘大大的视频https://www.52hb.com/thread-3604-1-1.html于是就拿他的软件练练手,在写教程之前谈几句题外话,论坛运行2个多月了,经过了被攻击、迁移……等等,终于回归正常,有2个人也默默的运行了2个多月,一个是恒大、一个是格盘。机器还有当机的时候,更何况人,但是你不管是什么时间发帖,他都第一时间回复!向他致敬!好了!废话不多说,格盘的教程里谈到了脱壳,谈到了Patch,谈到了爆破点,那么我就从那个爆破点开始讲起,这样我也可以把后面的讲详细点!对了这个软件有个关机暗桩 OD载入004094f5   爆破点0040B31A   E8 41830900   call <jmp.&user32.ExitWindowsEx>         ; \ExitWindowsEx0040B325   E8 36830900   call <jmp.&user32.ExitWindowsEx>         ; \ExitWindowsEx因为我爆破后被关机了,所以要练手的话先在关机暗桩的段首下好段,以免走到那里重新再来。0040B270   关机暗桩段首先下上断点,一会再讲如何处理首先来004094f5   爆破点004094E8|.8B95 74FFFFFF mov edx, 004094EE|.80BA 91030000>cmp byte ptr ds:,0x0       此处下断分析运行004094F5|.0F85 2C060000 jnz UnPack.00409B27         要让此处跳必须上面不相等
下好断点以后,重新载入第一次断下,没什么情况,不用管他第二次断下004049D8   .C680 90030000>mov byte ptr ds:,0x1    给断点处赋值1004049DF   .8B4D FC       mov ecx,dword ptr ss:004049E2   .C681 91030000>mov byte ptr ds:,0x0    给断点处赋值0004049E9   .8B45 D0       mov eax,dword ptr ss:上面肯定有个判断,不管他了全都赋值1,断点处我们也赋值1 继续第三次断下,我们发现刚断点处赋值的1变成了0 是al赋值的。我们现在要找下al是那里赋值的0040D8AD|.8B01          mov eax,dword ptr ds:    此处给eax赋值在此处下断0040D8AF|.E8 B02A0300   call UnPack.004403640040D8B4|>8B55 9C       mov edx,0040D8B7|.FFB2 1C030000 push dword ptr ds:0040D8BD|.E8 92F9FFFF   call UnPack.0040D2540040D8C2|.59            pop ecx0040D8C3|.8B0D 64F24A00 mov ecx,dword ptr ds:0040D8C9|.8B11          mov edx,dword ptr ds:0040D8CB|.8882 91030000 mov byte ptr ds:,al       此处al=00040D8D1|.8B45 A0       mov eax,0040D8D4|.64:A3 0000000>mov dword ptr fs:,eax0040D8DA|.8BE5          mov esp,ebp0040D8DC|.5D            pop ebp在0040D8AD下断,经过调试al的0是在0040D8BD call 里得到的,我们F7进call查看0040D4FB|> \8A45 DB       mov al,byte ptr ss:Al的0的ebp-0x25的 但是我们发现ebp-0x30值是2!觉定修改代码0040D4FB|> \8A45 DB       mov al,byte ptr ss:第四次断下是个比较。然后软件启动点注册这是完成注册了,好吧!保存一下现在要去掉暗桩了,暗桩是怎么触发的?当我们点转换ico的时候,暗桩就触发了!而且暗桩是2次调用本地调用来自 00407195, 004076D6 两处的段首分别下断,再次重新载入
00407130|. /74 59         je XUnPack.0040718B             跳向正确的   0040718B00407132|. |8B15 70F24A00 mov edx,dword ptr ds:          ;UnPack._Form300407138|. |8B02          mov eax,dword ptr ds:0040713A|. |05 1C030000   add eax,0x31C0040713F|. |8945 BC       mov ,eax00407142|. |8B55 BC       mov edx,00407145|. |833A 00       cmp dword ptr ds:,0x000407148|. |74 07         je XUnPack.00407151               0040714A|. |8B4D BC       mov ecx,0040714D|. |8B01          mov eax,dword ptr ds:0040714F|. |EB 05         jmp XUnPack.0040715600407151|> |B8 4A484A00   mov eax,UnPack.004A484A00407156|> |0FBE50 14   movsx edx,byte ptr ds:0040715A|. |83FA 41       cmp edx,0x410040715D|. |75 30         jnz XUnPack.0040718F         程序重这里跳下0040718F0040715F|. |8B0D 70F24A00 mov ecx,dword ptr ds:          ; 00407165|. |8B01          mov eax,dword ptr ds:00407167|. |05 1C030000   add eax,0x31C0040716C|. |8945 B8       mov ,eax0040716F|. |8B55 B8       mov edx,00407172|. |833A 00       cmp dword ptr ds:,0x000407175|. |74 07         je XUnPack.0040717E00407177|. |8B4D B8       mov ecx,0040717A|. |8B01          mov eax,dword ptr ds:0040717C|. |EB 05         jmp XUnPack.004071830040717E|> |B8 4B484A00   mov eax,UnPack.004A484B00407183|> |0FBE10      movsx edx,byte ptr ds:00407186|. |83FA 5A       cmp edx,0x5A00407189|. |75 04         jnz XUnPack.0040718F0040718B|> \C645 CB 01mov byte ptr ss:,0x1如果跳向这里,就可以跳过暗桩0040718F|>807D CB 00    cmp byte ptr ss:,0x0    此处的比较,jnz是不跳的00407193|.75 20         jnz XUnPack.004071B5         可以跳过暗桩00407195|.E8 D6400000   call UnPack.0040B270            暗桩CALL00407195, 004076D6两处的情况差不多,两处能跳过暗桩的关键跳转改之00407130   jmpXUnPack.0040718B   00407647   jmp XUnPack.004076B4修改好保存重新载入更换图标

mm475 发表于 2014-12-18 00:09

你们这是用FZ了吧!!!评分可以秒的吗?

Shark恒 发表于 2014-12-18 00:16

475发布的精品教程非常多啊,讲解非常详细!大赞!{:6_208:}

520Kelly 发表于 2014-12-18 00:20

不错、我居然没有去注意这个常量、简直是我的失误、感谢楼主为我解答疑惑


奥特曼 发表于 2014-12-18 00:52

mm475的教程真心详细啊!!

Camille 发表于 2014-12-18 01:58

前排膜拜大大教程

China小二 发表于 2014-12-18 02:25

支持,谢谢楼主分享!

Scar-疤痕 发表于 2014-12-18 07:39

教程写的很详细,楼主辛苦了!谢谢!

信仰 发表于 2014-12-18 08:27

很详细的教程 我这样的新手通俗易懂 收益很多吖

vipcrack 发表于 2014-12-18 08:58

赞一个,475的教程很详细,实用
页: [1] 2 3 4 5 6
查看完整版本: 硬件断点之三----- 关机暗桩的解除