吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6598|回复: 8
收起左侧

[分享] int 3 断点原理 以及实现

[复制链接]
T_MAC仔 发表于 2016-4-20 20:04
和大家分享一下自己的想法,错误之处请指出,话不多说:
    学习目的:调试过程中你能够灵活的利用断点,几乎可以事半功倍,断点包括(硬件断点 内存断点,int3断点...)
      从原理+实践出发,更好.更深入的了解int3 断点原理  (int3 机器码为  CC)
        环境配置
              先讲笔者现在的电脑环境吧还是:windows7 旗舰版
              安装教程:http://www.cnblogs.com/TK4Moma/p/5392123.html(有疑问的请随时联系笔者)
              实验环境:windows xp 虚拟机 (笔者用vmware 12虚拟机软件)
                  :工具http:// www.52pojie.cn/forum.php  点击吾爱破解工具包下载即可
                        

                    :vc++6.0  
                此时工具已经完备,下面讲正题:
        准备工作:
          1.vc++6.0 建工程写c程序:

                  #include<stdio.h>
                    int main(void)
                      {
                        while(1)
                        {
                          printf("Hello World");

                        }
                          getchar();
                          return 0;
                      }

          2.在工程目录下找到 可执行文件(即..exe 文件,常说的黑窗口)

          3.打开 下载好的工具包
          4. 单击OllyDbg吾爱专版 后将 刚才编译的 exe 拖进 ollydbg 就可以啦  
          5. 此时只需要点击右键-》 查找 -》所有参考文本字符串 ;  

            6.接下来 单击右键  查找文本-》输入Hello 即可      单击Hello World 即可来到



[url=][/url]
1 0040102D  |.  85C0          |test eax,eax 2 0040102F  |.  74 0F         |je short t.00401040 3 00401031  |.  68 1C204200   |push t.0042201C                         ;  ASCII "Hello World"   点击后 程序停留在此处 4 00401036  |.  E8 35000000   |call t.00401070 5 0040103B  |.  83C4 04       |add esp,0x4 6 0040103E  |.^ EB E8         \jmp short t.00401028                    循环跳转 7 00401040  |>  33C0          xor eax,eax                               此处下 int3 断点即可   (F2 即可) 8 00401042  |.  5F            pop edi                                  ;  kernel32.7C817077 9 00401043  |.  5E            pop esi                                  ;  kernel32.7C81707710 00401044  |.  5B            pop ebx                                  ;  kernel32.7C81707711 00401045  |.  83C4 40       add esp,0x4012 00401048  |.  3BEC          cmp ebp,esp13 0040104A  |.  E8 A1000000   call t.004010F014 0040104F  |.  8BE5          mov esp,ebp15 00401051  |.  5D            pop ebp                                  ;  kernel32.7C81707716 00401052  \.  C3            retn

              7.  接下来就是用 LoadPE  dump (操作方法,打开无碍破解工具包,单击 PE 工具 找到 吾爱破解专版打开即可) [url=][/url]



             

              8. 找到 相应的进程 (即 ...exe 的进程)然后单击右键完整转存即可

              9.将完整转存后的 可执行文件(exe)拖进 olldbg  重复  4 5  6步骤即可,,,找到 ASCII helloworld
                 此时下断点的地方 可以看出已变成 CC  int3 啦  实验完成

          知识补充:

              1. loadpe  dump 原理原帖地址:http://blog.csdn.net/zhangmiaoping23/article/details/9405835
            2.转载请标明出处
            3.不足之处请大家知无不言,

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

520_ai_in@sina. 发表于 2016-4-20 20:19
不懂 简单的看了下你说的是 如何下断点 如何断下来   这叫用法吧
wangqiustc 发表于 2016-4-20 20:41
 楼主| T_MAC仔 发表于 2016-4-21 10:58
520_ai_in@sina. 发表于 2016-4-20 20:19
不懂 简单的看了下你说的是 如何下断点 如何断下来   这叫用法吧

1.谢谢你耐心看完,并且说出您的意见,
2.关于其原理请问您的理解是?
xiaobaixiaobai 发表于 2018-10-12 19:35
你这排版这是要人命
丿猎狐 发表于 2018-10-13 07:37
排版有点乱哦,6到7之间的那些没看明白
92013 发表于 2018-11-24 14:13
感谢有你,感谢分享
92013 发表于 2018-11-24 14:38
收藏一下。。。谢谢分享。。
ikea 发表于 2019-3-13 16:45
楼主先用ollydbg下断点,再用工具dump出来看下断点实现的原理,发现ollydbg断点的原理是插入int3指令来实现断点功能。
我想知道的是为什么int3 可以实现断点?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-15 03:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表