首页
社区
课程
招聘
招募有兴趣开发调试器的兄弟
发表于: 2005-4-3 14:26 8431

招募有兴趣开发调试器的兄弟

2005-4-3 14:26
8431
我在学习指令结构的时候,尝试写一个调试器来玩玩

附件:carving.zip

这个东西并没有功能,只是完成了最基本的 disassembly 反汇编, floating point 部份还没有完成

如果看雪有兄弟对一个新调试器的开发有兴趣的话,可以在这里留言

我觉得开发一个好的调试器,是一条很长的路,一个人是很难走完的。
如果很多兄弟也有兴趣一起开发的话,我会把它登记到 sourceforge 开放源码

各位有甚么意见 ?   

( 开发环境 :  C 语言 ( ANSI C 和 VC6 extension,绝对不含 c++ ) , SDK 方式 )

目标 : ring 3 debugger

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

收藏
免费 0
支持
分享
最新回复 (44)
雪    币: 228
活跃值: (119)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
高手呀,偶在下边敬仰以下
2005-4-3 15:17
0
雪    币: 2384
活跃值: (766)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
3
写代码我还不行,只有在下面支持一下了。
2005-4-3 15:22
0
雪    币: 258
活跃值: (230)
能力值: ( LV12,RANK:770 )
在线值:
发帖
回帖
粉丝
4

where源代码???
2005-4-3 16:53
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
5
最初由 qiweixue 发布

where源代码???


还没有登记 sourceforge

我想知道有没有兄弟一起开发
如果没有,便不开放出去了  
2005-4-3 18:58
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
6
没有人有兴趣吗~  ?
2005-4-3 18:59
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我蛮感兴趣的,只是实力太差,如果不是技术性很高的活,我还可以做点,呵呵,我还是懂点c和sdk的.也可以借此机会学点东西.
2005-4-3 20:25
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
8
最初由 freshman 发布
我蛮感兴趣的,只是实力太差,如果不是技术性很高的活,我还可以做点,呵呵,我还是懂点c和sdk的.也可以借此机会学点东西.


我的想法也是一样

我希望可以写一个有价值的东西,和开发小组的兄弟们一起练习一下编程

各位不要怕功力不够,我的功力也不是好,最重要是有热诚和投入

如果人数足够,便成立一个小组一起开发

再计划如何
2005-4-3 20:48
0
雪    币: 342
活跃值: (323)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
9
兴趣到是有.不过VC的code能力不好.如果正式开工了,别忘了到工具开发区上一贴啊.
2005-4-3 21:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 riijj 发布


我的想法也是一样

我希望可以写一个有价值的东西,和开发小组的兄弟们一起练习一下编程
........

支持!!只要兄弟们不嫌俺菜,我会百分百的投入的,最重要的是能学到东西.
2005-4-3 22:00
0
雪    币: 270
活跃值: (176)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
11
强烈支持!
希望参与,等这段时间把工作找好以后...
2005-4-3 22:06
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tom
12
我想参与,不知道如何参与
2005-4-3 23:08
0
雪    币: 279
活跃值: (375)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
13
不知楼主的设想是什么?这个调试器与同类的有什么驱别?如与softice,od?是ring0还是ring3?
刚才用你的程序载入QQ的主程序,到99%时非法退出,看来还得努力啊。另外问一下干吗不用C++,用面向对象技术有利于各位协作开发啊
2005-4-4 00:01
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
14
最初由 lordor 发布
不知楼主的设想是什么?这个调试器与同类的有什么驱别?如与softice,od?是ring0还是ring3?
刚才用你的程序载入QQ的主程序,到99%时非法退出,看来还得努力啊。另外问一下干吗不用C++,用面向对象技术有利于各位协作开发啊


我发上来的程序并不完善,不要用它来做实际的试验了,用它打开 notepad 是可以的  

打算写一个像 OD 的 ring 3 调试器

至于不使用 C++ 并没有甚么原因,因为 C 有足够的开发能力,对于调试器的性能也好
2005-4-4 00:23
0
雪    币: 1540
活跃值: (2807)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
是Ring3级别的还是Ring0级别的?

最初由 riijj 发布
我在学习指令结构的时候,尝试写一个调试器来玩玩

附件:carving.zip

这个东西并没有功能,只是完成了最基本的 disassembly 反汇编, floating point 部份还没有完成
........
2005-4-4 01:04
0
雪    币: 216
活跃值: (370)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
16
技术我是有自信,可惜没有时间。
2005-4-4 09:09
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
我加入!!
dohkoos@163.com
2005-4-4 10:52
0
雪    币: 200
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
弟兄们,顶啊!

强烈期待中
2005-4-4 12:18
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
如果不嫌我菜,我就干,我会C,但没正式编过东西
2005-4-4 12:20
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
20
如果有兄弟真的想知道自己有没有能力一起开发,才作决定,可以尝试解答下面 3 条问题,能答 2 题的也算是通过   

question 1.  
assert( var1 == 0 ),  这是甚幺意思 ?

question 2.
PE 里, import address table 和 import lookup table 有甚幺分别 ?

question 3.
假如要获得一个 API 呼叫失败的原因,我们有时候用 GetLastError ,请尝试设计一个 #define 的句子,执行时它会弹出 messagebox 显示 GetLastError 的英文错误信息 (可以独立地插入在程序的任何地方 )

( 不要在这里贴答案 )
2005-4-4 13:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
强烈支持!
虽然我的功力不够,C的动态内存分配不会弄,但希望参与!
强烈愿望!
2005-4-4 13:15
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
擦点就把答案帖出来了!
2005-4-4 13:17
0
雪    币: 214
活跃值: (60)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
想加入,但是2不会,嘿嘿
2005-4-4 14:24
0
雪    币: 200
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
不会3。^_^。只能显示中文的错误信息
2005-4-4 15:32
0
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
25
assert( var1 == 0 )不等于0就退出  断言

/*
* MtVerify.h
*
* Error handling for applications in
* "Multitheading Applications in Win32"
*
* The function PrintError() is marked as __inline so that it can be
* included from one or more C or C++ files without multiple definition
* errors. For the examples in this book, this works fine.
* To use the PrintError() in an application, it should be taken out,
* placed in its own source file, and the "__inline" declaration removed
* so the function will be globally available.
*/

#pragma comment( lib, "USER32" )

#include <crtdbg.h>
#define MTASSERT(a) _ASSERTE(a)

#define MTVERIFY(a) if (!(a)) PrintError(#a,__FILE__,__LINE__,GetLastError())

__inline void PrintError(LPSTR linedesc, LPSTR filename, int lineno, DWORD errnum)
{
        LPSTR lpBuffer;
        char errbuf[256];
#ifdef _WINDOWS
        char modulename[MAX_PATH];
#else // _WINDOWS
        DWORD numread;
#endif // _WINDOWS

        FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER
                        | FORMAT_MESSAGE_FROM_SYSTEM,
                NULL,
                errnum,
                LANG_NEUTRAL,
                (LPTSTR)&lpBuffer,
                0,
                NULL );

        wsprintf(errbuf, "\nThe following call failed at line %d in %s:\n\n"
               "    %s\n\nReason: %s\n", lineno, filename, linedesc, lpBuffer);
#ifndef _WINDOWS
        WriteFile(GetStdHandle(STD_ERROR_HANDLE), errbuf, strlen(errbuf), &numread, FALSE );
        Sleep(3000);
#else
        GetModuleFileName(NULL, modulename, MAX_PATH);
        MessageBox(NULL, errbuf, modulename, MB_ICONWARNING|MB_OK|MB_TASKMODAL|MB_SETFOREGROUND);
#endif
        exit(EXIT_FAILURE);
}
import lookup table 没见过
2005-4-4 17:05
0
游客
登录 | 注册 方可回帖
返回
//