baixingjian8 发表于 2017-9-9 11:56

Aperodry 发表于 2017-9-10 10:21

本帖最后由 Aperodry 于 2017-9-10 10:24 编辑


__declspec(naked) BOOL MyCheck()
{
        __asm{
                mov dword ptr ss:,1
                ret
        }
}
int _tmain(int argc, _TCHAR* argv[])
{
      DWORD Export_fun_RVA=0x1246;//导出函数偏移
      DWORD Call_addr_RVA = 0x1710;//Check
      HANDLE hDLL = LoadLibrary(L"CrackMe.dll");
      std::cout << "dodule:"<<std::hex << hDLL << std::endl;;
      if (hDLL)
      {
                //Patch
                __asm mov dword ptr ds:,0x1      //cmp success
                DWORD oldProtect;
                if (VirtualProtect((LPVOID)(Call_addr_RVA+(DWORD)hDLL), 4096, PAGE_EXECUTE_READWRITE, &oldProtect))
                {
                        inlineHook((LPVOID)(Call_addr_RVA+(DWORD)hDLL),MyCheck);//HOOK函数的ret
                }
                VirtualProtect((LPVOID)(Call_addr_RVA + (DWORD)hDLL), 4096, oldProtect, &oldProtect);
                DWORD funaddr = (DWORD)hDLL + Export_fun_RVA;
                std::cout << "funcaddr:"<<funaddr << std::endl;
                __asm call funaddr
      }
      system("PAUSE");
      FreeLibrary(HMODULE( hDLL));
      return 0;
}
Ps:。。这很简单嘛

zbnysjwsnd8 发表于 2017-9-9 12:35

本帖最后由 zbnysjwsnd8 于 2017-9-9 12:56 编辑


放到CrackMe.dll的目录下然后打开Loader.exe即可。

苏紫方璇 发表于 2017-9-9 12:34

下次发cm请发到cm区,那里下载附件系统不收cb

byh3025 发表于 2017-9-9 13:08

zbnysjwsnd8 发表于 2017-9-9 12:35
放到CrackMe.dll的目录下然后打开Loader.exe即可。

第一次见到这样只有一个DLL文件的,我用OD加载了,该如何操作呢

苏紫方璇 发表于 2017-9-9 13:19

改了一个全局变量和一个返回值

PA助手 发表于 2017-9-9 14:01

楼主要习惯在蹂躏中成长{:17_1059:}

zbnysjwsnd8 发表于 2017-9-9 20:36

byh3025 发表于 2017-9-9 13:08
第一次见到这样只有一个DLL文件的,我用OD加载了,该如何操作呢

他的验证在dll的导出函数里面。

byh3025 发表于 2017-9-9 20:49

zbnysjwsnd8 发表于 2017-9-9 20:36
他的验证在dll的导出函数里面。

这样的单个DLL依托什么运行呢

zbnysjwsnd8 发表于 2017-9-9 20:53

byh3025 发表于 2017-9-9 20:49
这样的单个DLL依托什么运行呢

我不是发了一个Loader了么
这个Loader就是调用了这个DLL的导出函数而已
一共调用两次
第一次调用然后修改一个全局变量最后再调用一次。
你去分析一下

hexiaomo 发表于 2017-9-10 08:59

很多个工程师写出来的软件都能被破解,你这一个人写的应该也能破吧,还是有很多大神的
页: [1] 2
查看完整版本: 【原创 dll 版的CrackMe】这个如果被破解,我就。。我就。。我就再写其他算法。