首页
社区
课程
招聘
[求助] 请问这种动态地址怎么打补丁
发表于: 2015-1-27 15:39 8650

[求助] 请问这种动态地址怎么打补丁

2015-1-27 15:39
8650
00BF982A   /74 45           je X老A分析?00BF9871
这个00BF982A的地址每次重新启动前面的00BF都会发生变化,请教各位大神,这样的动态地址应该如何打补丁,因为是个强壳自己不会脱壳所以只能打补丁,还望各位大神给个思路。谢谢了

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

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 398
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
特征码搜索,然后补丁
2015-1-27 15:56
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
点击 OD菜单中 E,可以看到 imagebase,你要补丁的地址 跟imagebase 是一个固定的差值,
所以 GetModuleHandle + 差值 = 补丁地址.
2015-1-27 16:17
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
楼上的应该是对的。因为PE里面的RVA是不会变的,改变的只有ImageBase,所以可以使用计算偏移量的方法来补丁。

当然了,搜索特征码也可以的,但是需要额外编写搜索代码,会比较麻烦。
2015-1-27 16:37
0
雪    币: 9917
活跃值: (475)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
能否说下如何搜索到特征码吗?。没接触过特征码不是很懂,还请麻烦一下详细说一下好吗?谢谢了
2015-1-27 16:58
0
雪    币: 9917
活跃值: (475)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
照你的方法点击E。找不到你说的这个 imagebase。,还请详细说一下好吗?谢谢了
2015-1-27 17:01
0
雪    币: 9917
活跃值: (475)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我就是照楼上的方法在菜单中按E,但是没有找到 这个ImageBase名字的dll模块。能否说下方法谢谢了。对一块没接触过还不是很懂。还请抽空详细帮我解说下。谢谢
2015-1-27 17:05
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
8
3#正解!
2015-1-27 17:13
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
唉,不是的,imagebase是PE文件的一个属性,不是文件名。。。
imagebase又叫“程序基址”,你用Alt+E之后,一般第一行就是EXE文件自己的imagebase。。。
我看你的截图,你的程序基址应该是0x00BF0000吧。。。

DWORD WINAPI FindCode(DWORD dwBase, PBYTE pCode, DWORD dwSize)
{
	PBYTE pTmp = (PBYTE)dwBase;
	DWORD dwLimit = 0x80000000 - dwSize;
	while((DWORD)pTmp < dwLimit)
	{
		BYTE ch = *pTmp;
		if(ch == pCode[0])
		{
			if(0 == memcmp(pCode, pTmp, dwSize))
			{
				return (DWORD)pTmp;
			}
		}
		pTmp++;
	}
	return 0;
}

上面这个代码就是一个简单的搜索特征码的例子,我以前用的,虽然不怎么优美,但是至少能搜出来。。。
第一个参数是程序基址(也就是所谓的imagebase),第二个参数是特征码的指针,第三个参数是特征码的长度,返回值就是特征码的内存地址。。。
2015-1-27 17:42
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
点击 E之后,如果是汉化版的OD,会有“基址” 这一列, 一般第一行 就是你模块的信息,
其他 #9 已经回答了,
2015-1-27 20:23
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
以上所有楼层均是正解
2015-1-27 20:31
0
雪    币: 9917
活跃值: (475)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
万分感谢。又多学了一点知识了,谢谢了。
2015-1-27 20:46
0
雪    币: 9917
活跃值: (475)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
谢谢各位的热心答复。好人必有好报,愿各位大大2015年行大运。好事连连不断 特别鸣谢:LiXMX 大大。再一次说声谢谢了
2015-1-27 20:47
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
我算不上大大啊。。。
主要还是2楼、3楼的思路,我只是把细节多说了几句而已,因为都是入门所以知道迷惑的地方在哪里。。。
还有8楼的精华数。。。
我擦。。。我比较大的估计只有Kx币数量了。。。
2015-1-28 07:55
0
雪    币: 60
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
昨天过节,  我想要你 kx 的 2 .
2015-1-28 09:23
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
太狠了。。。那我就一夜回到解放前了。。。

不过话说回来,看雪的分享精神还是很好的,大家发附件都是免费的,只要登录就可以下载。。。
不像有些地方,下载这个要3个币,下载那个要10个币。。。
为了赚几个金币费劲脑汁啊。。。
2015-1-28 09:40
0
雪    币: 55
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
正好在研究一个动态基址的程序,前来学习下,谢谢分享
2017-6-11 17:26
0
游客
登录 | 注册 方可回帖
返回