飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5232|回复: 17

[转贴] [破文]MyPTC 破解+内存补丁

[复制链接]
  • TA的每日心情
    擦汗
    2015-8-31 20:53
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2007-12-27 10:00:51 | 显示全部楼层 |阅读模式
    引言:前几天网友叫我破这个软件,之前也碰过这个,不过都浅尝辄止,那天刚好是把SuperClick1.57破了,很有股冲劲,想把这个搞定,于是苦战两天终于告捷!破解后精力几乎耗尽,不过有幸见识软件狡猾的伎俩,收获还是颇多。本来网友叫我做补丁来卖钱,我也考虑了一阵子,最终我不想沦为破解界的垃圾(破了软件拿来卖钱,还没有这样搞过呢!),凭着网络知识共享的原则,我公布破文。由此引发一系列后果,与我无关!希望软件作者早些升级。
    本来不想公布,但是我越保留就说明我所存的东西越少,也就是说明没有进步,所以我要记录在这里,毫无保留!
    不过真要写起破文,感觉有点无从下手,一是写破文的经验少,二是对这个软件不知从哪儿说起,还是略略论述然后张贴一些记录吧。

    程序启动,解密部分字符,对字符下断点很容易找到解密字符的程序段,不过这还不是主要的,加密的字符如:"MyPTCForm","TMyPTC","MyPTC.ini","正在登录","正在登陆[1]","update.exe","登陆成功"……主要防止很轻易的找到重要字符下断点。

    登录发送的数据好像是:用户ID,程序名+版本号,以及一些特别的数字。

    程序启动的时候读取了8个地址,不知道干什么,原本以为是发送给服务器的,但是后拉发现并没有多大作用。算是程序比较多余的一处,代码如下:
    005BBD0C   .  A1 08A55C00              mov eax,dword ptr ds:[5CA508]
    005BBD11   .  8B80 74040000            mov eax,dword ptr ds:[eax+474]
    005BBD17   .  33D2                     xor edx,edx
    005BBD19   .  E8 82EBFBFF              call dumped_.0057A8A0
    005BBD1E   .  85C0                     test eax,eax
    005BBD20   .  7E 48                    jle short dumped_.005BBD6A
    005BBD22   .  8D8D 4CFFFFFF            lea ecx,dword ptr ss:[ebp-B4]
    005BBD28   .  A1 08A55C00              mov eax,dword ptr ds:[5CA508]
    005BBD2D   .  8B80 74040000            mov eax,dword ptr ds:[eax+474]
    005BBD33   .  BA E8CA5B00              mov edx,dumped_.005BCAE8                ;  ASCII "website"
    后面7个都是带"website"的。

    登录成功后才开始读取8个网址,并显示在列表中,代码片段:
    005BAD38  |.  8B45 FC             mov eax,[local.1]
    005BAD3B  |.  8B80 74040000       mov eax,dword ptr ds:[eax+474]
    005BAD41  |.  33D2                xor edx,edx
    005BAD43  |.  E8 58FBFBFF         call dumped_1.0057A8A0
    005BAD48  |.  85C0                test eax,eax
    005BAD4A  |.  7E 35               jle short dumped_1.005BAD81
    005BAD4C  |.  8D4D F4             lea ecx,[local.3]
    005BAD4F  |.  8B45 FC             mov eax,[local.1]
    005BAD52  |.  8B80 74040000       mov eax,dword ptr ds:[eax+474]
    005BAD58  |.  BA 8CB45B00         mov edx,dumped_1.005BB48C              ;  ASCII "sitetype"
    005BAD5D  |.  E8 86F5FBFF         call dumped_1.0057A2E8
    005BAD62  |.  33D2                xor edx,edx
    005BAD64  |.  8B45 F4             mov eax,[local.3]
    005BAD67  |.  E8 ECEDE4FF         call dumped_1.00409B58
    005BAD6C  |.  8B55 FC             mov edx,[local.1]
    005BAD6F  |.  FF8482 78040000     inc dword ptr ds:[edx+eax*4+478]
    005BAD76  |.  55                  push ebp
    005BAD77  |.  8BD0                mov edx,eax
    005BAD79  |.  33C0                xor eax,eax
    005BAD7B  |.  E8 40F7FFFF         call dumped_1.005BA4C0                 ;  加载网址!
    005BAD80  |.  59                  pop ecx                                ;  0012FDE8
    后面有7个都是带"sitetype"字符的程序段,很明显是读取8个网址。这段程序的功能完全可以模拟,后面破解的时候就是patch了的。

    登录成功后,根据服务器返回的一些数据运算得出8个网址的加密网址,以及间隔符。举例如下:
    01187E7C  "104116116112058047047119119119046097045099108105099107115104097114105110103045116101097109046099111109036104116116112058047047119119119046098101108103105117109109111110101121046105110102111036104116116112058047047119119119046098105108108"...//加密的网址
    01187E78  0121A904  ASCII "050036042048038094051057050033055" //分隔符,用于后面判断网址是否在前8个当中的时候用。加密的代码好像在程序中就有,而且加密不是很难,每3个数字对应一个字符如"104116116112"就是http            (crack essay by lynn on lynn百度空间)

    这段加密数字用于判断前面读取的8个网址是否在前面8个中。有一段判断的代码片段:
    005AC8BF    E8 CC4BF4FF           call crack_pr.004F1490             ; 取8个网址,每个网址加间隔符间隔
    005AC8C4    8D55 F0               lea edx,dword ptr ss:[ebp-10]
    005AC8C7    8BC7                  mov eax,edi
    005AC8C9    E8 EEFAFFFF           call crack_pr.005AC3BC
    005AC8CE    8D45 E8               lea eax,dword ptr ss:[ebp-18]
    005AC8D1    50                    push eax
    005AC8D2    B9 01000000           mov ecx,1
    005AC8D7    BA 01000000           mov edx,1
    005AC8DC    8B45 F0               mov eax,dword ptr ss:[ebp-10]
    005AC8DF    E8 F485E5FF           call crack_pr.00404ED8
    005AC8E4    8B45 E8               mov eax,dword ptr ss:[ebp-18]
    005AC8E7    E8 30D2E5FF           call crack_pr.00409B1C
    005AC8EC    8BF0                  mov esi,eax
    005AC8EE    8D45 EC               lea eax,dword ptr ss:[ebp-14]
    005AC8F1    8B55 F0               mov edx,dword ptr ss:[ebp-10]
    005AC8F4    8A1432                mov dl,byte ptr ds:[edx+esi]
    005AC8F7    E8 A482E5FF           call crack_pr.00404BA0
    005AC8FC    8D45 E0               lea eax,dword ptr ss:[ebp-20]
    005AC8FF    8B4D EC               mov ecx,dword ptr ss:[ebp-14]
    005AC902    8B55 F8               mov edx,dword ptr ss:[ebp-8]
    005AC905    E8 BA83E5FF           call crack_pr.00404CC4             ; 网址后加间隔符,看是不是在8个网址中!
    005AC90A    8B55 E0               mov edx,dword ptr ss:[ebp-20]   ;edx为当前网址
    005AC90D    8D4D E4               lea ecx,dword ptr ss:[ebp-1C]
    005AC910    8B45 F4               mov eax,dword ptr ss:[ebp-C]   ;eax为8网址
    005AC913    E8 604AF4FF           call crack_pr.004F1378             ; 判断是不是在8个网址中
    005AC918    8B55 E4               mov edx,dword ptr ss:[ebp-1C]      
    005AC91B    8D45 F8               lea eax,dword ptr ss:[ebp-8]
    005AC91E    E8 2D81E5FF           call crack_pr.00404A50
    005AC923    B9 01000000           mov ecx,1
    005AC928    8B55 F8               mov edx,dword ptr ss:[ebp-8]
    005AC92B    8B45 EC               mov eax,dword ptr ss:[ebp-14]
    005AC92E    E8 7149F4FF           call crack_pr.004F12A4
    005AC933    8BF0                  mov esi,eax
    005AC935    8D87 08010000         lea eax,dword ptr ds:[edi+108]     
    005AC93B    50                    push eax                           
    005AC93C    8BCE                  mov ecx,esi                        
    005AC93E    49                    dec ecx
    005AC93F    BA 01000000           mov edx,1
    005AC944    8B45 F8               mov eax,dword ptr ss:[ebp-8]
    005AC947    E8 8C85E5FF           call crack_pr.00404ED8
    005AC94C    8B87 08010000         mov eax,dword ptr ds:[edi+108]     ;
    005AC952    E8 2183E5FF           call crack_pr.00404C78
    005AC957    83F8 0A               cmp eax,0A
    005AC95A    7D 1B                 jge short crack_pr.005AC977        ; 前8个跳过这个!
    005AC95C    8D55 DC               lea edx,dword ptr ss:[ebp-24]
    005AC95F    B8 34CB5A00           mov eax,crack_pr.005ACB34          ; ASCII "O*?@OvOv?,O9On?@OY?f?r?vOvO@OvOv?9??OvOv?9?*?@O.?.O@O,OvO.O,O.O#OvO.?.O@On?@?#OvOvO@O.O#?MO#O.O#OA"
    005AC964    E8 FB6BF4FF           call crack_pr.004F3564             ; 解密上面这个字符串为http://www.clixncash.com
    005AC969    8B55 DC               mov edx,dword ptr ss:[ebp-24]
    挺有意思的就是前面如果我们patch了加载8个网址的地方(含"sitetype"那段),那么列表将显示所有网址,但是当你点击前8个以后的"GO"的时候,这段代码就起作用了,他偷偷将点击那栏的网址改为"http://www.clixncash.com"作为打开网页的数据,比如:(crack  essay by lynn on lynn百度空间)
    01248D2C  01248BDC  ASCII "http://www.clixncash.com"  //这里偷偷修改了
    01248D30  01248BAC  ASCII "jemmy8288"
    01248D34  01248BC4  ASCII "123456987"
    01248D38  01248B90  ASCII "jamminclicks"
    01248D3C  01250148  ASCII "Logined"

    好了,主要的两段代码已经分析了,其余的就是根据你点击的列表行数,如果超过8就错误,有下面这些段:
    005ACDAD    83B8 00010000 08      cmp dword ptr ds:[eax+100],8        ; 就是这个看你点击的行数是否超过8
    005ACDB4    7E 1D                 jle short dumped_.005ACDD3
    005ACDB6    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACDB9    8B90 B0000000         mov edx,dword ptr ds:[eax+B0]
    005ACDBF    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACDC2    8B80 F8000000         mov eax,dword ptr ds:[eax+F8]
    005ACDC8    8B80 2C010000         mov eax,dword ptr ds:[eax+12C]
    005ACDCE    E8 A532FCFF           call dumped_.00570078
    005ACDD3    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACDD6    83B8 00010000 08      cmp dword ptr ds:[eax+100],8    ;这里!
    005ACDDD    7E 29                 jle short dumped_.005ACE08
    005ACDDF    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACDE2    8B80 B4000000         mov eax,dword ptr ds:[eax+B4]
    005ACDE8    BA 50000000           mov edx,50
    005ACDED    E8 66CDE5FF           call dumped_.00409B58
    005ACDF2    8BD0                  mov edx,eax
    005ACDF4    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACDF7    8B80 F8000000         mov eax,dword ptr ds:[eax+F8]
    005ACDFD    8B80 2C010000         mov eax,dword ptr ds:[eax+12C]
    005ACE03    E8 5032FCFF           call dumped_.00570058
    005ACE08    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACE0B    83B8 00010000 08      cmp dword ptr ds:[eax+100],8    ;这里!
    005ACE12    7E 20                 jle short dumped_.005ACE34
    005ACE14    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACE17    8B80 F8000000         mov eax,dword ptr ds:[eax+F8]
    005ACE1D    8B80 2C010000         mov eax,dword ptr ds:[eax+12C]
    005ACE23    83C0 14               add eax,14
    005ACE26    8B55 FC               mov edx,dword ptr ss:[ebp-4]
    005ACE29    8B92 B8000000         mov edx,dword ptr ds:[edx+B8]
    005ACE2F    E8 D87BE5FF           call dumped_.00404A0C
    005ACE34    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACE37    83B8 00010000 08      cmp dword ptr ds:[eax+100],8    ;这里!
    005ACE3E    7E 20                 jle short dumped_.005ACE60
    005ACE40    8B45 FC               mov eax,dword ptr ss:[ebp-4]
    005ACE43    8B80 F8000000         mov eax,dword ptr ds:[eax+F8]
    005ACE49    8B80 2C010000         mov eax,dword ptr ds:[eax+12C]
    005ACE4F    83C0 08               add eax,8
    005ACE52    8B55 FC               mov edx,dword ptr ss:[ebp-4]
    005ACE55    8B92 BC000000         mov edx,dword ptr ds:[edx+BC]
    005ACE5B    E8 AC7BE5FF           call dumped_.00404A0C

    那个"X/8"显示代码(其实不修改也没问题): (crack essay by lynn on lynn 百度空间)
    005BB17F  |.  83B8 60040000 08    cmp dword ptr ds:[eax+460],8
    005BB186      7C 0D               jl short dumped_.005BB195
    005BB188  |.  8B45 FC             mov eax,[local.1]
    005BB18B  |.  C780 60040000 08000>mov dword ptr ds:[eax+460],8
    005BB195  |>  8D55 9C             lea edx,[local.25]

    另外还有两处破解可以达到多开:
    005C1FE6  |.  3D B7000000         cmp eax,0B7
    005C1FEB  |.  0F84 92000000       je dumped_.005C2083
    005C1FF1  |.  A1 0C6E5C00         mov eax,dword ptr ds:[5C6E0C]
    005C1FF6  |.  8B00                mov eax,dword ptr ds:[eax]
    以及:
    005AB8EB    E8 D0BFE5FF           call <jmp.&user32.FindWindowA>
    005AB8F0    85C0                  test eax,eax
    005AB8F2    75 0D                 jnz short dumped_.005AB901
    005AB8F4    8D45 FC               lea eax,dword ptr ss:[ebp-4]
    005AB8F7    8B55 F8               mov edx,dword ptr ss:[ebp-8]

    另外还有几处,是别人不知怎么得出的——那个人破了软件拿来卖钱,我不想说什么。代码如下:
    005B3934    8B55 D8               mov edx,dword ptr ss:[ebp-28]
    005B3937    8D4D DC               lea ecx,dword ptr ss:[ebp-24]
    005B393A    8B45 E8               mov eax,dword ptr ss:[ebp-18]

    005B6925    8B55 E8               mov edx,dword ptr ss:[ebp-18]
    005B6928    8D4D EC               lea ecx,dword ptr ss:[ebp-14]
    005B692B    8B45 F8               mov eax,dword ptr ss:[ebp-8]

    005B83A5  |.  8B55 E8             mov edx,[local.6]
    005B83A8  |.  8D4D EC             lea ecx,[local.5]
    005B83AB  |.  8B45 F8             mov eax,[local.2]

    005B9905  |.  8B55 E8             mov edx,[local.6]
    005B9908  |.  8D4D EC             lea ecx,[local.5]
    005B990B  |.  8B45 F8             mov eax,[local.2]
    其实不修改这些代码也都破解成功了,我觉得有点多余,后面还是一并修改了。
    (crack essay by lynn on lynn's百度空间)

    另外也修改了"体验版"字符为正式版,但请用我给的版本才能生效。

    好了,以上代码都是原始代码,下面开始patch!
    ——到这里你可能是还不知道我在说什么,呵呵,可能是这样的,如果你没有跟过程序的话:)

    就简单张贴我的内存补丁编写记录吧:
    patch1:
    005BAD41
    0x8B ,0x15 ,0xEF ,0x4B ,0x66 ,0x00 ,0xE8 ,0x54 ,0xFB ,0xFB ,0xFF ,0x85 ,0xC0 ,0x7E ,0x41 ,0x8D ,0x4D ,0xF4 ,0x8B ,0x45 ,0xFC ,0x8B ,0x80 ,0x74 ,0x04 ,0x00 ,0x00 ,0xBA ,0x8C ,0xB4 ,0x5B ,0x00 ,0xE8 ,0x82 ,0xF5 ,0xFB ,0xFF ,0x33 ,0xD2 ,0x8B ,0x45 ,0xF4 ,0xE8 ,0xE8 ,0xED ,0xE4 ,0xFF ,0x8B ,0x55 ,0xFC ,0xFF ,0x84 ,0x82 ,0x78 ,0x04 ,0x00 ,0x00 ,0x55 ,0x8B ,0xD0 ,0xA1 ,0xEF ,0x4B ,0x66 ,0x00 ,0x40 ,0xA3 ,0xEF ,0x4B ,0x66 ,0x00 ,0x48 ,0xE8 ,0x32 ,0xF7 ,0xFF ,0xFF ,0x59 ,0xEB ,0xA7 ,0xE9 ,0x14 ,0x02 ,0x00 ,0x00
    005BAD95
    共85个

    patch2://多开爆破点1
    005C1FEB
    0x90, 0x90, 0x90, 0x90, 0x90, 0x90
    6个

    patch3://判断网址是否在8个中
    005AC912
    0xE0
    1个

    patch4://此处为我的补丁区别于那个人的不同处
    005ACDB4,005ACDDD,005ACE12,005ACE3E
    0xEB

    patch5://"0/8"的8的修改
    005BB186
    0xEB//可以共用patch4的!

    patch6://多开爆破点2
    005AB8F2
    0x90,0x90

    patch7://类似patch3
    005B692D,005B990D,005B83AD
    0xE8

    patch8://类似7
    005B393C
    0xD8

    那个补丁最后一处:575920,我没改,那个好像有问题,另外它有三处跟我不同。那个地方也正是他破解代理没有修改的地方,不过估计我的patch4修正了他的问题,所以我的补丁可能是全能的!

    patch9://资源修改,dephi资源的字符居然是unicode的!
    00633984
    0x63, 0x6B, 0x0F, 0x5F
    4个字节(正式)

    另赋SDK补丁源码——是不是做得太绝了了,呵呵!没关系,我说了要毫无保留的!这样才达到交流学习的目的。

    #include <windows.h>

    void MessBox(char* mess)
    {   
    const char *caption = "信息提示";
    MessageBox(NULL, mess, caption, MB_OK|MB_ICONERROR);
    return;
    }

    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow)
    {
    STARTUPINFO si;
    PROCESS_INFORMATION pi;

    //修改字节
    BYTE patch1[] = { 0x8B ,0x15 ,0xEF ,0x4B ,0x66 ,0x00 ,0xE8 ,0x54 ,0xFB ,0xFB ,0xFF ,0x85 ,0xC0 ,0x7E ,0x41 ,0x8D ,0x4D ,0xF4 ,0x8B ,0x45 ,0xFC ,0x8B ,0x80 ,0x74 ,0x04 ,0x00 ,0x00 ,0xBA ,0x8C ,0xB4 ,0x5B ,0x00 ,0xE8 ,0x82 ,0xF5 ,0xFB ,0xFF ,0x33 ,0xD2 ,0x8B ,0x45 ,0xF4 ,0xE8 ,0xE8 ,0xED ,0xE4 ,0xFF ,0x8B ,0x55 ,0xFC ,0xFF ,0x84 ,0x82 ,0x78 ,0x04 ,0x00 ,0x00 ,0x55 ,0x8B ,0xD0 ,0xA1 ,0xEF ,0x4B ,0x66 ,0x00 ,0x40 ,0xA3 ,0xEF ,0x4B ,0x66 ,0x00 ,0x48 ,0xE8 ,0x32 ,0xF7 ,0xFF ,0xFF ,0x59 ,0xEB ,0xA7 ,0xE9 ,0x14 ,0x02 ,0x00 ,0x00};
    BYTE patch2[] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90};
    BYTE patch3[] = { 0xE0 };
    BYTE patch4[] = { 0xEB };
    BYTE patch5[] = { 0x90,0x90 };
    BYTE patch6[] = { 0xE8 };
    BYTE patch7[] = { 0xD8 };
    BYTE patch8[] = { 0x63, 0x6B, 0x0F, 0x5F };

    DWORD Buffer; //判断解压完毕
    const char *fname = "MyPTC.exe";   
    char *err1 = "不能创建进程!";   
    char *err2 = "不能读取进程内存!";   
    char *err3 = "字节不符!";   
    char *err4 = "不能写入内存!";
        char *msOK = "补丁成功!";
       
    ZeroMemory(&si, sizeof(si));   
    si.cb=sizeof(si);


    if ( CreateProcess(fname,NULL,NULL,NULL,FALSE,/*CREATE_SUSPENDED*/NORMAL_PRIORITY_CLASS, NULL,NULL, &si, &pi) )
    {   
      ResumeThread(pi.hThread);
      while(ReadProcessMemory(pi.hProcess,(LPCVOID)0x005C1FF6, &Buffer,4,NULL))//特别注意第二个参数!
       //DWORD dwUnpack = 0x005C1FF6;然后&dwUnpack是错误的!郁闷半天!参看别人代码很好!
       //WriteProcessMemory的第二个参数也是如此!
      {   
       if(Buffer == 0xD7E8008B)
        goto unpack;
       else
        continue;
      }
      MessBox(err2);
      return 0;  
    unpack:
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005BAD41,&patch1,85,NULL))//path1,破解Grid显示
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005C1FEB,&patch2, 6,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005AC912,&patch3, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005ACDB4,&patch4, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005ACDDD,&patch4, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005ACE12,&patch4, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005ACE3E,&patch4, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005BB186,&patch4, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005AB8F2,&patch5, 2,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005B692D,&patch6, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005B990D,&patch6, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005B83AD,&patch6, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x005B393C,&patch7, 1,NULL))
       MessBox(err4);
      if(!WriteProcessMemory(pi.hProcess,(LPVOID)0x00633984,&patch8, 4,NULL))
       MessBox(err4);
       
      CloseHandle   (pi.hProcess);   
      CloseHandle   (pi.hThread);   
    }   
    else   
      MessBox(err1);

    return 0;
    }

    现成补丁请到我的论坛下载:
    lynn.lunqun.com
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-27 12:32:40 | 显示全部楼层
    很不错,精神和行动上支持你,还有不知道这 PTC 是什么软件,没用过 (菜鸟啊)

    [ 本帖最后由 lgjxj 于 2007-12-27 12:34 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2015-8-31 20:53
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2007-12-27 18:23:34 | 显示全部楼层
    算不上是作弊软件··嗯··PTC广告自动点击软件!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-9-7 09:38
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2007-12-28 12:31:19 | 显示全部楼层
    是不是登录网络帐号的程序都会有一些标志性的东西。

    例如:从服务器端返回一些数据的。

        比如:注册的帐号有些级别区别。

              分为付费用户和免费的。免费的自然有些限制。


              汇编语言有没有这方面的代码呢。

              不好意思,应该自己去查资料。

             但,菜鸟么。就在这里问问啦。哈哈
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-29 20:36:01 | 显示全部楼层
    学习楼主的PACH技术
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-12-9 12:34
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2007-12-31 11:42:56 | 显示全部楼层
    看不懂。。。。。
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2020-9-27 20:02
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2008-1-8 15:26:30 | 显示全部楼层
    .一点都不详细..
    中等级别都很难看懂..
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-2-21 23:39:15 | 显示全部楼层
    请楼主一并发出破解时候使用的软件和补丁好吗?
    现在在网上很难找到早一点的软件版本了,另外软件还要自动登录服务器吗?
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2020-9-27 20:02
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2008-3-1 22:34:08 | 显示全部楼层
    ..这个可以搞起本地验正`就好了。..
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-3-4 01:12:17 | 显示全部楼层
    楼主真的是高手啊,我也永远支持你!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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