首页
社区
课程
招聘
[求助]flash加载地址的问题
发表于: 2013-7-6 21:08 5211

[求助]flash加载地址的问题

2013-7-6 21:08
5211
我在修改一个flash软件。

flash文件是加密的,我没考虑弄他。

现在用IE加载后,调试,可以成功修改关键代码。

但是,IE加载flash的地址都不一样,所以关键代码的地址也不一样。

请教有什么方法能得知IE加载flash的起始地址?然后我根据偏移量得知关键代码的位置。

非常感谢

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 235
活跃值: (129)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
特征码,寻找一段比较长的别处不可能有的片段
2013-7-6 21:15
0
雪    币: 382
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
哦,我找个相对固定的地址就是不想 搜索特征码。

因为自己编写程序从 很大的内存空间中找特征码,很费时间。达不到CE那样的,几秒就搜出来的效果。
2013-7-7 06:09
0
雪    币: 382
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
顶起,大牛来帮忙啊
2013-7-9 19:46
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
我也遇到过,我的办法是,找到IE进程,然后找flash的模块地址,这样就可以了
2013-8-7 17:55
0
雪    币: 382
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
您能再说的详细点么?
2013-8-8 07:59
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
试试看呢
DWORD dwProcessID = GetCurrentProcessId();

	MODULEENTRY32 modle32;  
	modle32.th32ProcessID = dwProcessID;  
	modle32.dwSize = sizeof(modle32);  
	HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,dwProcessID);  
	if (INVALID_HANDLE_VALUE == hSnap )  
	{  
		AfxMessageBox(_T("Call CreateToolhelp32Snapshot failed"));  
	}  

	g_dwBaseAddr = 0;

	BOOL bMore = Module32First(hSnap,&modle32);  
	while(bMore)  
	{  
		if (dwProcessID == modle32.th32ProcessID && NULL != wcsstr(modle32.szExePath, _T("Flash")))   // 模块名字
		{  
			Dbg_Print("modBaseAddr:%p,modBaseSize:%8u,szExePath:%S",
				modle32.modBaseAddr,modle32.modBaseSize,modle32.szExePath);

			g_dwBaseAddr = (DWORD)modle32.modBaseAddr; // 基址

			break;
		} 

		bMore = Module32Next(hSnap,&modle32);  
	}
2013-8-8 22:55
0
游客
登录 | 注册 方可回帖
返回
//