首页
论坛
课程
招聘
IDA Pro 4.90 边界线插件源代码
2005-10-24 17:22 17852

IDA Pro 4.90 边界线插件源代码

bpx 活跃值
3
2005-10-24 17:22
17852
附件:borderpatch.rar

由于代码优化,可patch的空间缩小了,花了一天的时间才搞定。里面有编译好的版本,放在plugin目录下就可以用了。

[2022冬季班]《安卓高级研修班(网课)》月薪两万班招生中~

收藏
点赞0
打赏
分享
最新回复 (25)
雪    币: 584
活跃值: 活跃值 (11129)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 活跃值 8 2005-10-24 17:38
2
0
呵~我们还没有IDA Pro 4.90 ,再等段时间试试你这插件。
雪    币: 331
活跃值: 活跃值 (141)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
winndy 活跃值 17 2005-10-24 18:17
3
0
多谢
雪    币: 400
活跃值: 活跃值 (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
JiANGWEi 活跃值 2005-10-24 19:04
4
0
楼主能否共享一个。
雪    币: 209
活跃值: 活跃值 (11)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
WiNrOOt 活跃值 5 2005-10-25 08:45
5
0
臭显,鉴定完毕
雪    币: 204
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
bpx 活跃值 3 2005-10-25 10:01
6
0
这是真实的故事:我的一个同事在辞职前将IDA带出去了一份并在家中使用。在我向DataRescue申请版本更新时,它说我将他们的产品泄漏给公司以前的雇员,并险些拒绝让我更新。到现在我还没有搞明白它是怎么知道这些的。
雪    币: 209
活跃值: 活跃值 (11)
能力值: ( LV12,RANK:220 )
在线值:
发帖
回帖
粉丝
WiNrOOt 活跃值 5 2005-10-25 10:48
7
0
too strong了
雪    币: 1206
活跃值: 活跃值 (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hume 活跃值 2005-10-25 14:59
8
0
这个很简单,可能是由于辞职雇员在新版本出现时同时也向datasecure提交了更新请求,而这里面是要求有key的.
雪    币: 1206
活跃值: 活跃值 (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hume 活跃值 2005-10-25 15:12
9
0
采用找空间的办法经常会失败,自己分配一块内存就省事多了.这个插件麻烦就在于要随着IDA版本升级进行改动.hook ExtTextoutA缺点在于直接复制拷贝反汇编代码时边界线字符还是按照原垃圾字符显示.

建议所有有正式版的用户到IDA论坛上去发增加新功能的请求,把边界线的配置增加到.cfg配置文件中以后就省事了.
雪    币: 143
活跃值: 活跃值 (21)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
采臣·宁 活跃值 1 2005-10-25 17:28
10
0
附件:idaborder.rar
因为我机子上没有VC,所以我转换成了DEV-CPP工程文件,用 GCC 编译。楼主看看在4.9版本上面能运行波?另,有没有可以在IDA4.6 847上面编译运行的源代码?
雪    币: 204
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
bpx 活跃值 3 2005-10-25 20:00
11
0
>IDA4.6 847 我没有这个版本,虽然每次更新我都申请了。
我有4.6 785和4.6 809上的代码,要的话可以给你
雪    币: 204
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
bpx 活跃值 3 2005-10-25 20:07
12
0
9楼:采用找空间的办法经常会失败
应该不会。那块空间就是代码段最后没有使用的部分,这部分应该总是有的。至少我没有遇到过失败的情况
雪    币: 143
活跃值: 活跃值 (21)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
采臣·宁 活跃值 1 2005-10-25 20:42
13
0
最初由 bpx 发布
>IDA4.6 847 我没有这个版本,虽然每次更新我都申请了。
我有4.6 785和4.6 809上的代码,要的话可以给你

谢谢你的答复,能给我一份4.60 785的代码吗?我的邮箱:ncc2008@126.com
雪    币: 1206
活跃值: 活跃值 (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hume 活跃值 2005-10-26 10:46
14
0
for 4.9 compiled.增加了一个简单的UI(ctrl-alt-1),可配置你喜欢的分隔字符,同时可修改交叉引用里面不可复制的字符,同样可配置.

src在家里的机器上,改天再带来附件:borderph.rar
雪    币: 143
活跃值: 活跃值 (21)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
采臣·宁 活跃值 1 2005-10-26 11:29
15
0
代码已收到,但编译运行后没效果。代码出错提示太少了,加入出错提示后,发现是找不到代码空间,把搜索范围改大了一点,运行成功!
这样出一个版本就要重新定位一下函数搜索方式,比较烦。有没有好一点的办法呢?

附件:BorderPatch v4.6 785 for DevCpp+GCC.rar
注:改sdk目录下的LIBGCC.W32\ida.a为libida.a,不然会找不到库文件
雪    币: 204
活跃值: 活跃值 (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
bpx 活跃值 3 2005-10-30 02:28
16
0
其实从这个代码里可以看出我是想一劳永逸的。但我没做到。不过过程虽较烦,但IDA更新的频率不高。
雪    币: 1412
活跃值: 活跃值 (1215)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 活跃值 5 2005-10-30 10:32
17
0
bpx老大,IDA可否偷偷Email下从哪获取?嘿嘿/

crackerabc@126.com
雪    币: 143
活跃值: 活跃值 (21)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
采臣·宁 活跃值 1 2005-10-30 14:45
18
0
看代码风格,BPX 老大是搞内核编程的吧?
雪    币: 204
活跃值: 活跃值 (14)
能力值: ( LV12,RANK:490 )
在线值:
发帖
回帖
粉丝
FlyToTheSpace 活跃值 12 2006-3-7 00:12
19
0
这插件我就一直没有加载成功过,入在plugins目录里面跟本就没用
雪    币: 1
活跃值: 活跃值 (65)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
hermit 活跃值 1 2006-3-7 21:48
20
0
最初由 FlyToTheSpace 发布
这插件我就一直没有加载成功过,入在plugins目录里面跟本就没用

试试这个,还是用楼主代码编译的:
上传的附件:
雪    币: 143
活跃值: 活跃值 (21)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
采臣·宁 活跃值 1 2006-3-8 10:29
21
0
//楼主代码编译不成功主要是因为找不到空间植入代码,改函数FindSpaceForMyCode如下,加载成功
BYTE* FindSpaceForMyCode()
{
    BYTE* ptr = (BYTE*)&debug - 16 * 1024;

    do {
        while (*ptr != 0xcc) ptr++;
        if (*(DWORD*)ptr == 0xcccc && *((DWORD*)ptr + 1) == 0)
            return ptr;
    } while (ptr++ < (BYTE*)&debug);

    return NULL;
}
雪    币: 133
活跃值: 活跃值 (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
BlackStone 活跃值 2006-3-15 10:54
22
0
//找到植入代码的空间
idaman int  execute(char*);
BYTE* FindSpaceForMyCode()
{
// for IDP_INTERFACE_VERSION == 76 //IDA 4.90
        BYTE* ptr = GetRealAddrOf(execute) + 0x3370;
        BYTE* end = ptr + 1024;
       

        do {
                while (*ptr != 0xcc) ptr++;
                if (*(DWORD*)ptr == 0xcccc && *((DWORD*)ptr + 1) == NULL)
                        return ptr;
        } while (ptr++ < end);

        return NULL;
}

想请教一下这个0x3370和end地址是怎么确定的,为何在我的4.9中要BYTE* end = ptr + 1024*304;才行
雪    币: 215
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
quby 活跃值 2006-4-30 14:46
23
0
这么多个版本,到底那个版本好用,不知为什么我把楼主的补丁下来,放到Plugin目录中,不提示错误,也没起作用!!?这是为什么!!
雪    币: 1
活跃值: 活跃值 (65)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
hermit 活跃值 1 2006-5-2 13:58
24
0
一楼的申请空间有点保守。试试后面几楼的~
雪    币: 202
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
上天惟我 活跃值 2006-5-5 22:04
25
0
好东西阿\\
游客
登录 | 注册 方可回帖
返回