首页
社区
课程
招聘
[原创]让winhex支持??模糊查找的通用补丁
2016-4-27 13:24 3763

[原创]让winhex支持??模糊查找的通用补丁

2016-4-27 13:24
3763
离之前发布的“新版winhex18.2中文集成修改+爆破”已经将近一年,那时不知道挟持为何物。
其实现在对vc也是一窍不通,直接asm代码拼接。
虽然后来也写过一些补丁,但发现winhex的特征码居然变了好几次。
看看之前写的代码,发现很垃圾,所以重新写了匹配代码,支持所有32位的winhex,更加通用。



sspicli.rar

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (5)
雪    币: 111
活跃值: (1409)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
真难取 2016-4-27 13:35
2
0
好奇问一下,这dll要113KB那么大?会包含木马吗?
雪    币: 10740
活跃值: (2604)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
menglv 2016-4-27 13:54
3
0
也许吧,只是不想让别人知道我的代码
雪    币: 101
活跃值: (104)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
tmxfh 2016-6-4 00:17
4
0
这东西确实不错的说
发个自己写的查找代码

//内存比较函数,支持模糊查找,为?时通配  size = sizeof(array)
	static INT XMemCmp(LPBYTE startAddr, UINT len, LPBYTE obj, UINT size)
	{
		MEMORY_BASIC_INFORMATION mbi;
		ZeroMemory(&mbi, sizeof(MEMORY_BASIC_INFORMATION));
		if (!VirtualQuery((LPCVOID)startAddr, &mbi, sizeof(MEMORY_BASIC_INFORMATION)))
		{
			return 0;
		}
		if (mbi.State != MEM_COMMIT)
		{
			return 0;
		}
		//if (mbi.Protect && PAGE_EXECUTE_READ
		if (size > len) return 0;

		for (UINT i = (UINT)startAddr; i < (UINT)startAddr + len; i++)
		{
			LPBYTE curPbt = (LPBYTE)i;

			for (UINT j = (UINT)obj; j < (UINT)obj + size; j++)
			{
				LPBYTE objPbt = (LPBYTE)j;
				if ((*curPbt == *objPbt) || (*objPbt == '?'))
				{
					++curPbt;
				}
				else
				{
					break;
				}

				if (j == (UINT)obj + size - 1) return i;
			}

		}
		return 0;

	}

雪    币: 19
活跃值: (196)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
haojunzhao 2016-6-6 11:59
5
0
Use as wildcard:[3F]选项打勾后,模糊查找的地方用3F代替就可,根本不用补丁
雪    币: 10740
活跃值: (2604)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
menglv 2016-6-6 13:15
6
0
[QUOTE=haojunzhao;1432716]Use as wildcard:[3F]选项打勾后,模糊查找的地方用3F代替就可,根本不用补丁[/QUOTE]

你不觉得这样很麻烦?还有就是你这样是要去掉空格的.
游客
登录 | 注册 方可回帖
返回