首页
社区
课程
招聘
请教一下版主关于调试器的编写
发表于: 2012-4-22 08:01 18745

请教一下版主关于调试器的编写

2012-4-22 08:01
18745
最近想试着写一个转换区位的程序,现有的例子ntlea采用的方式是hook掉所有与code page相关的win api,所以准备也采用类似的方式做inline hook
不过感觉用调试器的架构比较方便在后期加入点功能什么的,而且以前也没有试过嘛
在这里写下自己的思路,希望版主看到了能指点一二
>截获所有的dll导出函数调用
  a.LOAD_DLL_DEBUG_EVENT获得映像加载基址和句柄(反查得到文件名
  b.读取导入表,通过RVA和映像加载基址获得函数入口点,将函数名和入口保存到一个表中
  c.函数头部下int 3
        #在这里如果不想源程序读函数头来检测可以用VirtualProtect将内存设为只执行然后处理EXCEPTION_ACCESS_VIOLATION么?又该如何将自己保存的文件头返还给被调试程序呢(比如mov eax,XXXXXXXXh/rep lodsb)?

  d.EXCEPTION_DEBUG_EVENT-->EXCEPTION_BREAKPOINT
     从ExceptionAddress获得地址,查表获得函数名
  e.处理堆栈内的参数/找到ret返回的地址过去int 3截获处理返回值

也希望版主能推荐一些有关调试器编写的文章与书籍,谢谢

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 297
活跃值: (265)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
2
http://bbs.pediy.com/showthread.php?t=111876
2012-4-22 10:09
0
游客
登录 | 注册 方可回帖
返回
//