吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 11744|回复: 6
收起左侧

[原创] 关于水淼·电商评论采集器破解的另一种方法

  [复制链接]
苏紫方璇 发表于 2015-4-13 15:36
首先说一下原帖地址,我的这个方法是建立在@吃饭睡觉打豆豆 的思路之上的。
地址http://www.52pojie.cn/thread-349238-1-1.html
我原来也发过一篇关于水淼的帖子,当时也是使用的爆破的方法,而吃饭睡觉打豆豆大神找到了明码的地方,但他使用的办法是修改程序的代码,把字符串保存到一个不用的地方,然后进行读取。这样做的方法却有一些小的问题。那串明码会根据机器码的个数产生多个,这种方法却只能读取到最后一个明码。而我使用了另外的一种方法进行读取。
我的方法是,在0x0041D64F这个地方修改为int3,即程序运行到这里会断下,然后自己写一个简单的调试器加载在这个程序上,当程序断下后,自己写的程序就可以得到信息。然后根据这些信息就可以得到注册码了。如果断下后不进行删除断点,可以获得所有的注册码了。下面上源码。
QQ截图20150413152204.png

QQ截图20150413152919.png

[C++] 纯文本查看 复制代码
#include <windows.h>

#define SE_DEBUG_PRIVILEGE 20
typedef  DWORD(WINAPI *PRtlAdjustPrivilege)   //未文档化函数声明
(
ULONG    Privilege,
BOOLEAN Enable,
BOOLEAN CurrentThread,
PBOOLEAN Enabled
);
void WINAPI AdjustPrivilege()         //ntdll中的提权函数
{
	BOOLEAN Enabled;
	PRtlAdjustPrivilege RtlAdjustPrivilege = (PRtlAdjustPrivilege)GetProcAddress(LoadLibrary(L"ntdll.dll"), "RtlAdjustPrivilege");
	RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE, TRUE, FALSE, &Enabled);
}
void GetAppPath(char *path)       //吃饭睡觉打豆豆大神的获取当前路径
{
	GetModuleFileNameA(0, path, MAX_PATH);
	for (SIZE_T i = strlen(path) - 1; i >= 0; i--)
	{
		if (path[i] == '\\')
		{
			path[i + 1] = '\0';
			break;
		}
	}
	strcat(path, "水淼·电商评论采集器.exe");
}


int WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nShowCmd)
{
	char pass[30];
	BYTE code[2] = {0xcc,0x00};
	BOOL status = TRUE;
	AdjustPrivilege();      //提升进程权限
	STARTUPINFOA si = { sizeof(si) };
	PROCESS_INFORMATION pi;
	char path[MAX_PATH];
	GetAppPath(path);
	//创建进程并调试
	if (!CreateProcessA(NULL, path, NULL, NULL, FALSE, DEBUG_ONLY_THIS_PROCESS | DEBUG_PROCESS, NULL, NULL, &si, &pi))
	{
		MessageBoxA(NULL, "无法启动进程", "提示", MB_OK);
		return 0;
	}
	//读取原来的指令
	if (!ReadProcessMemory(pi.hProcess, (LPVOID)0x0041D64F, &code[1], 1, NULL))
	{
		MessageBoxA(NULL, "读取内存出错", "提示", MB_OK);
		return 0;
	}
	//写入int 3
	if (!WriteProcessMemory(pi.hProcess, (LPVOID)0x0041D64F, code, 1, NULL))
	{
		MessageBoxA(NULL, "写入内存出错", "提示", MB_OK);
		return 0;
	}
	DEBUG_EVENT dbg;
	while (status)
	{
		//接受调试信息
		if (WaitForDebugEvent(&dbg, 50) == 0)
		{
			Sleep(10);
			continue;
		}
		if (dbg.dwDebugEventCode == EXCEPTION_DEBUG_EVENT && dbg.u.Exception.ExceptionRecord.ExceptionCode == EXCEPTION_BREAKPOINT)
		{
			//如果是int3断点并且位置是0x0041D64F
			if ((DWORD)dbg.u.Exception.ExceptionRecord.ExceptionAddress == 0x0041D64F)
			{
				HANDLE h = OpenThread(THREAD_ALL_ACCESS, FALSE, dbg.dwThreadId);
				CONTEXT ct;
				ct.ContextFlags = CONTEXT_ALL;
				if (h > 0)
				{
					SuspendThread(h);
					GetThreadContext(h, &ct);
					if (!WriteProcessMemory(pi.hProcess, (LPVOID)0x0041D64F, &code[1], 1, NULL))
					{
						MessageBoxA(NULL, "写入内存出错", "提示", MB_OK);
						return 0;
					}
					if (!ReadProcessMemory(pi.hProcess, (LPVOID)ct.Eax, pass, 30, NULL))
					{
						MessageBoxA(NULL, "读取内存出错", "提示", MB_OK);
						return 0;
					}
					MessageBoxA(NULL, pass, "注册码", MB_OK);
					status = FALSE;
					ct.Eip -= 1;
					SetThreadContext(h, &ct);
					ResumeThread(h);
					CloseHandle(h);
				}
			}
		}
		ContinueDebugEvent(dbg.dwProcessId, dbg.dwThreadId, DBG_CONTINUE);
	}
	//退出调试
	DebugActiveProcessStop(pi.dwProcessId);
	return 0;

}


以上代码在win7 X64+VS2013中编译通过。
如果本文有什么错误的地方,还请大家指正。
本文所涉及的软件,还请到吃饭睡觉打豆豆的帖子中下载。
我实在不想做成隐藏回复可见,虽然这样会造成回复很少。
各位的评分就是我的动力,如果大家觉得从本文中学到了什么,请给我加热心、加CB。评分不会扣分。谢谢。

免费评分

参与人数 6威望 +1 热心值 +5 收起 理由
wenshuai008 + 1 热心回复!
1198345 + 1 已答复!
舜天V5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
lenovo131 + 1 学习 学习 谢谢分享啦!
吃饭睡觉打豆豆 + 1 大神就是大神,太吊了,跪舔~~
Poner + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

莫谷 发表于 2015-4-13 15:45
不错,水淼的东西确实可以,请问LZ这个方法通杀水淼软件吗
Perry 发表于 2015-4-13 15:52
不过这个没用特码就太可惜了 只能支持这个版本 下次更新就废了
 楼主| 苏紫方璇 发表于 2015-4-13 16:10
莫谷 发表于 2015-4-13 15:45
不错,水淼的东西确实可以,请问LZ这个方法通杀水淼软件吗

水淼的验证好像都是这个样子,使用吃饭睡觉打豆豆的方法应该是可以破解所有的水淼软件(没试过)。
 楼主| 苏紫方璇 发表于 2015-4-13 16:11
ztd 发表于 2015-4-13 15:52
不过这个没用特码就太可惜了 只能支持这个版本 下次更新就废了

不会找特征码,抱歉,如果您会的话还请教我一下,谢谢
hanfeng988 发表于 2015-5-11 08:35
小白来学习了,膜拜大神
fysxq 发表于 2016-9-23 16:32
我想要一个最新版的水淼门户新闻评论采集器 v1.5,可否赐一个
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 10:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表