zbnysjwsnd8 发表于 2017-9-9 14:30

发一个CrackMe

从别的地方看到的CrackMe 感觉挺不错的
给大佬们练练手。
成功图片:

石头上的水流声 发表于 2017-9-10 13:10

应该要传过去“PID+成功”才可以
但有了"成"在前面好像就不可行了
但很多其他的地方我都没有跟踪过 不知道有没有提示
(另外能不能说一下CM来自哪里?最近也想多做一些CM的练习)

zbnysjwsnd8 发表于 2017-9-10 13:12

石头上的水流声 发表于 2017-9-10 13:10
应该要传过去“PID+成功”才可以
但有了"成"在前面好像就不可行了
但很多其他的地方我都没有跟踪过 不知 ...

这个PID是指什么?
这个CM的出处被52屏蔽了= ={:1_909:}

zbnysjwsnd8 发表于 2017-9-10 13:18

石头上的水流声 发表于 2017-9-10 13:10
应该要传过去“PID+成功”才可以
但有了"成"在前面好像就不可行了
但很多其他的地方我都没有跟踪过 不知 ...

提示就是
CM有使用命名管道。

西交范略 发表于 2017-9-10 22:54

倒是认识了一下命名管道 但并没有找到Key
单单输入某一格式的Key就可以出现你贴出的成功图吗?
搞不定,你发一下Key吧

zbnysjwsnd8 发表于 2017-9-10 22:57

本帖最后由 zbnysjwsnd8 于 2017-9-10 23:03 编辑

西交范略 发表于 2017-9-10 22:54
倒是认识了一下命名管道 但并没有找到Key
单单输入某一格式的Key就可以出现你贴出的成功图吗?
搞不定,你 ...
我没有key
但是我有补丁。

zbnysjwsnd8 发表于 2017-9-10 23:01

西交范略 发表于 2017-9-10 22:54
倒是认识了一下命名管道 但并没有找到Key
单单输入某一格式的Key就可以出现你贴出的成功图吗?
搞不定,你 ...

#include <stdio.h>
#include <conio.h>
#include <windows.h>
int main(void)
{
    HANDLE hPipe;
    HANDLE hPipe1;
    DWORD written;
    DWORD read;
    HANDLE hEvent;
    OVERLAPPED olp;
    unsigned char data = {0};
    unsigned char ZeroData = {0};
    char *success = "成功";
    SetConsoleTitleA("Patcher Coded by _KaQqi");
    hPipe = CreateNamedPipeA("\\\\.\\pipe\\IM SON",PIPE_ACCESS_DUPLEX | FILE_FLAG_OVERLAPPED,0,1,1024,1024,0,NULL);
    if(hPipe == INVALID_HANDLE_VALUE)
      return 0;   
    hEvent = CreateEventW(NULL,TRUE,FALSE,NULL);
    if(!hEvent)
    {
      CloseHandle(hPipe);
      CloseHandle(hEvent);
      return 0;
    }
    ZeroMemory(&olp,sizeof(OVERLAPPED));
    olp.hEvent = hEvent;
    if(!ConnectNamedPipe(hPipe,&olp))
    {
      if(GetLastError() != ERROR_IO_PENDING)
      {
            CloseHandle(hPipe);
            CloseHandle(hEvent);
            return 0;
      }
    }
    if(WaitForSingleObject(hEvent,INFINITE) == WAIT_FAILED)
    {
      CloseHandle(hPipe);
      CloseHandle(hEvent);
      return 0;
    }
    CloseHandle(hEvent);
    if (!WaitNamedPipeA("\\\\.\\pipe\\IM DAD",NMPWAIT_WAIT_FOREVER))
    {
      CloseHandle(hPipe);
      return 0;
    }
    hPipe1 = CreateFileA("\\\\.\\pipe\\IM DAD",GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,NULL,NULL);
    if (hPipe1 == INVALID_HANDLE_VALUE)
    {
      CloseHandle(hPipe);
      CloseHandle(hPipe1);
      return 0;
    }
    while(1)
    {
      if(ReadFile(hPipe1,data,sizeof(data),&read,NULL) == FALSE)
      {
            CloseHandle(hPipe);
            CloseHandle(hPipe1);
            return 0;
      }
      if(memcmp(data,ZeroData,sizeof(data)))
            break;
    }
    if(WriteFile(hPipe,success,sizeof(success),&written,NULL) == TRUE)
      puts("Cracked!");
    else
      puts("Error!");
    getch();
    CloseHandle(hPipe);
    CloseHandle(hPipe1);
    return 0;
}
这段代码编译以后
先打开编译后的程序再打开cm就能注册了。

西交范略 发表于 2017-9-10 23:04

zbnysjwsnd8 发表于 2017-9-10 22:57
我没有key
但是我有补丁。
你要吗

需要的,补丁发出来可以让大家都学习到
这题的原作者有给答案吗
或者有谁找出了Key的?

zbnysjwsnd8 发表于 2017-9-10 23:05

西交范略 发表于 2017-9-10 23:04
需要的,补丁发出来可以让大家都学习到
这题的原作者有给答案吗
或者有谁找出了Key的?

原作者没有给答案
也没有人找到key。我觉得应该是不存在的
页: [1]
查看完整版本: 发一个CrackMe