奇怪的验证
本帖最后由 liuqiangni 于 2011-5-5 10:43 编辑今天发个自己写的破解题目,不是很难,但是也不是很简单!当然对于高手来说是很简单的!但也希望高手指点!
要求: 1.
我给的附件里面有2个文件,一个TestA.exe ,一个Tm.dll 都没有壳. 所以,不能用修改文件来达到破解的目的!
2. 把Tm.dll注入到TestA.exe 里面,要求 目标文件(TestA.exe)不关闭.
3. 注入用工具是可以的,这个不要求写程序!
4.不论你采用什么方法,只要保证Tm.dll 在TestA.exe 的进程空间,且保证程序不关闭.当然不能直接修改我的任何资源(包括我的TestA.exe的标题),允许在内存里面任意修改!
附注:最好用内存补丁的形式来实现!
如果有可以实现的人,希望跟帖!说明你破解的方法!( 不要把这个问题想得太简单!其实不简单,期待你的回答!)
是在测试什么哦???编程能力?
Hook LoadLibrary + offset 是在测试什么哦???编程能力?
Hook LoadLibrary + offset 回复 3# Luckly
也不是测试编程能力啦, 就是我自己写了个DLL,让它来加载Tm.dll,然后补丁之,发现不行,总结错误是 我用LoadLibrary("Tm.dll"),这个执行后任然先执行的是验证,所以,我想问问版主能不能按我的方法给我一个正确的方向 回复 4# liuqiangni
HookLoadLibrary我看不行,不过Hook,DLL 里面执行的函数到是可以看看 HOOK GetVersion就可以了
DWORD WINAPI myGetVersion(void)
{
DWORD ver = sysGetVersion();
HMODULE padr = GetModuleHandle("Tm.dll");
if (*(WORD *)((BYTE *)(padr)+0x1082) == 0x1d75)
{
DWORD tp;
VirtualProtect((LPVOID)((DWORD)(padr)+0x1082),2,PAGE_EXECUTE_READWRITE,&tp);
*(WORD *)((BYTE *)(padr)+0x1082)=0x9090;
}
return ver;
} 因为是DLLMAIN里面的代码,所以选择HOOK API就要选择早一点的函数 因为是DLLMAIN里面的代码,所以选择HOOK API就要选择早一点的函数
Luckly 发表于 2011-5-6 14:29 https://www.chinapyg.com/images/common/back.gif
呵呵,多谢版主,这个我现在弄懂了,通过这个东西,学了不少东西.Nisy 说你这方面很牛,要我找你,呵呵,没找错人,版主还是挺热心的嘛...以后希望多多指教我一下!嘻嘻!
页:
[1]