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

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

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

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

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

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

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

非常感谢

[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

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

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