易语言吧 关注:266,775贴子:1,666,421

【伪·教程】最为简单的hook(求助攻)

只看楼主收藏回复

最简单的hook讲解:
1.hook是什么:
英文来说,hook是钩子。
其实捏,Hook是Windows中提供的一种用以替换DOS下“中断”的系统机制,中文译为“挂钩”或“钩子”。在对特定的系统事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会受到系统的通知,这时程序就能在第一时间对该事件做出响应。(转自百科)
某大神说:
Hook是一个针对程序执行过程中挂钩技术。它主要用来拦截一些数据,并对这些数据进行处理,此时,程序转到我们的Hook代码,我们拥有整个程序的执行权限,我们可以选择跳过此处,也可以选择修改数据,或者出错退出程序等等。
2.hook应用的范围
这东西应用范围相当广啊。。。可以是程序(高深点说是用户层)可以是内核(貌似叫硬件层)4p虫子大神一定会内核什么的?驱动什么的。。。
3.其实还是2
我们一般用Hook主要是用在外部程序,来监视一个程序的某个动作是否满足我们的条件。
(当然也可以用于自身程序的说)
4.废话
hook用于拦截。。。所以当然APIHook最为重要啦其实我的目的就在这里。。。(求教APIHook)
5.汇编基础。。。
6.工具:我OD,易语言,百度
下面开始码图码字!
首先,搞一个厉害的程序
然后,码代码
然后,打开静态编译好。
然后,打开OD,F3附加这个程序
然后,将滑块条移至最上方,找到这里
ok,为什么是这里,而不是上面呢?其实,我也说不清楚。。。大概应该是关于调用子程序的东西。。。但是我们是要hook,那肯定得要找有用的地方,而我们看到这里下方有local.1、2、3 就是有3个局部变量。。。local在英语中是局部的意思。然后,我们在这里下断。运行,让他走到这里停下,再一步步分析。。。
这一大段,就是c=a+b的运算过程,貌似多借了2行。。。
我们hook就要从这里下手。首先,我们分析下这一小段。。。第二行sub esp,24是腾出变量空间。第3-5行是初始化3个局部变量,4.5是分别把1、2赋值给a和b。介个很容易理解吧。。。然后下面棕色这一段就是处理运算。(又见易语言奇葩的浮点。。。)最后mov是把c输出出来,然后下面call弹出信息框,然后继续走下去就结束了。这个过程很简单的样子。
好了,废话了这么一大堆,开始hook。那我们怎么hook啊我又不会APIHook
那我就找段空白代码自己码出来再跳回去吧。。。
ok,翻到最底下,随便找一个。
我们在上面分析过了,加法运算是从那一堆棕色的玩意开始的。。。那我们hook的入口就定在fild [local.1]那里。找个存储的,我的是
00461BC1 00 db 00
然后把入口fild [local.1]那里修改成jmp 00461BC1,
毫不清楚。。。就这样看吧
介个OD为什么下面有nop啊,什么字节问题,可以自行去百度
然后是关键,ctrl+G 到00461BC1
开始写让它ab变的代码,似乎红色的相当不清楚。我把他弄出来
00461BC1 C745 FC 03000>mov dword ptr ss:[ebp-4],3
00461BC8 C745 F8 04000>mov dword ptr ss:[ebp-8],4
00461BCF 8B45 FC mov eax,dword ptr ss:[ebp-4]
00461BD2 0345 F8 add eax,dword ptr ss:[ebp-8]
00461BD5 8945 F4 mov dword ptr ss:[ebp-C],eax
00461BD8 ^ E9 9AF4F9FF jmp 厉害!.00401077
前两句是把a,b改为3和4 后三句是把a赋值给eax,再加上b,然后再传给c。最后一句呢,就是把他跳到信息框弹出的call啦。
然后右键赋值可执行文件,所有修改,全部复制,右键保存文件即可。
是不是很简单那,其实我的主要目的是


1楼2014-03-30 13:51回复


    IP属地:内蒙古2楼2014-03-30 13:52
    收起回复
      2025-06-16 08:27:06
      广告
      这小程序自己写就好了吧!


      3楼2014-03-30 13:52
      收起回复
        哇晒…顶一下送15字哈
          ——不必仰望别人,自己亦是风景!


        IP属地:浙江来自Android客户端4楼2014-03-30 13:53
        收起回复
          路过…


          IP属地:福建来自手机贴吧5楼2014-03-30 13:54
          收起回复

            @我要求助V 使用挽尊卡

            挽回他的尊严!

            效果:易语言吧经验+6



            7楼2014-03-30 13:55
            收起回复
              好像很厉害的样子…都不会呢~顶楼主咯~


              IP属地:福建来自手机贴吧10楼2014-03-30 14:05
              回复
                APIHook还用教吗?很简单的


                来自iPhone客户端11楼2014-03-30 14:13
                收起回复
                  2025-06-16 08:21:06
                  广告
                  话说LZ的教程不是Hook吧?这是反汇编


                  来自iPhone客户端12楼2014-03-30 14:14
                  收起回复


                    IP属地:美国来自Android客户端13楼2014-03-30 14:38
                    回复

                      @神灬决裂 使用挽尊卡

                      挽回他的尊严!

                      效果:易语言吧经验+5



                      IP属地:北京14楼2014-03-30 15:00
                      收起回复
                        怎么防呢


                        IP属地:广东16楼2014-03-30 15:54
                        回复
                          很厉害。我一点也不会。


                          来自Android客户端17楼2014-03-30 17:07
                          回复
                            不明觉厉。表示看懂了。


                            来自手机贴吧18楼2014-03-30 17:09
                            收起回复
                              2025-06-16 08:15:06
                              广告
                              厉害!


                              IP属地:湖北来自iPhone客户端19楼2014-03-30 17:46
                              回复