int 3 断点原理 以及实现
和大家分享一下自己的想法,错误之处请指出,话不多说: 学习目的:调试过程中你能够灵活的利用断点,几乎可以事半功倍,断点包括(硬件断点 内存断点,int3断点...) 从原理+实践出发,更好.更深入的了解int3 断点原理(int3 机器码为CC) 环境配置 先讲笔者现在的电脑环境吧还是:windows7 旗舰版 安装教程:http://www.cnblogs.com/TK4Moma/p/5392123.html(有疑问的请随时联系笔者) 实验环境:windows xp 虚拟机 (笔者用vmware 12虚拟机软件) :工具http:// www.52pojie.cn/forum.php点击吾爱破解工具包下载即可 http://images2015.cnblogs.com/blog/920371/201604/920371-20160420190337195-1614249036.png: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.打开 下载好的工具包 http://images2015.cnblogs.com/blog/920371/201604/920371-20160420191402913-359924932.png 4. 单击OllyDbg吾爱专版 后将 刚才编译的 exe 拖进 ollydbg 就可以啦 5. 此时只需要点击右键-》 查找 -》所有参考文本字符串 ;http://images2015.cnblogs.com/blog/920371/201604/920371-20160420192225804-1388132722.png
6.接下来 单击右键查找文本-》输入Hello 即可 http://images2015.cnblogs.com/blog/920371/201604/920371-20160420192355945-803653346.png 单击Hello World 即可来到
http://common.cnblogs.com/images/copycode.gif
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.接下来就是用 LoadPEdump (操作方法,打开无碍破解工具包,单击 PE 工具 找到 吾爱破解专版打开即可) http://common.cnblogs.com/images/copycode.gif
http://images2015.cnblogs.com/blog/920371/201604/920371-20160420193020991-1748203164.png
8. 找到 相应的进程 (即 ...exe 的进程)然后单击右键完整转存即可
9.将完整转存后的 可执行文件(exe)拖进 olldbg重复4 56步骤即可,,,找到 ASCII helloworld 此时下断点的地方 可以看出已变成 CCint3 啦实验完成http://images2015.cnblogs.com/blog/920371/201604/920371-20160420193430601-701503331.png
知识补充:
1. loadpe dump 原理原帖地址:http://blog.csdn.net/zhangmiaoping23/article/details/9405835 2.转载请标明出处 3.不足之处请大家知无不言,
不懂 简单的看了下你说的是 如何下断点 如何断下来 这叫用法吧 厉害厉害,顶楼主 520_ai_in@sina. 发表于 2016-4-20 20:19
不懂 简单的看了下你说的是 如何下断点 如何断下来 这叫用法吧
1.谢谢你耐心看完,并且说出您的意见,
2.关于其原理请问您的理解是? 你这排版这是要人命 排版有点乱哦,6到7之间的那些没看明白 感谢有你,感谢分享 收藏一下。。。谢谢分享。。 楼主先用ollydbg下断点,再用工具dump出来看下断点实现的原理,发现ollydbg断点的原理是插入int3指令来实现断点功能。
我想知道的是为什么int3 可以实现断点?
页:
[1]