Microchip XC8/XC16/XC32 破解

2020-02-06 09:51发布

复制下列代码,另存为xclm.c,然后用mingw编译(推荐Code::Blocks的ide)生成xclm.exe,然后替换掉安装目录里面的同名文件即可。
  1. /*****************************************************************************
  2. *
  3. * xclm.c - A replacement license server for Microchip embedded compilers
  4. *
  5. *****************************************************************************/

  6. #include <stdio.h>
  7. #include <string.h>
  8. #include <stdlib.h>

  9. enum
  10. {
  11.     LICENSE_FREE,
  12.     LICENSE_STANDARD,
  13.     LICENSE_PRO,
  14.     LICENSE_NULL,
  15.     LICENSE_NOCPP,
  16.     LICENSE_CPPFREE,
  17.     LICENSE_CPPFULL
  18. };

  19. /* Padded keystring for XC8 compiler */
  20. const char XC8_KEY[] = "120205690315959428539973816151144999076498629234049888"
  21.                        "179227155534183820578631309018645587360933525814619915"
  22.                        "779526071941849199599867328321377639683720790016145394"
  23.                        "178294936006671919157552224249424396156390966410329115"
  24.                        "909578096551465127991840510571525598801543710978110203"
  25.                        "982753256678760352233698494166181105701471577863949973"
  26.                        "752378527793703095602570185318279000307654710756304884"
  27.                        "332086971157374238079344503160762531771453544441183117"
  28.                        "818224971852635709182448998796203508335756172022603393"
  29.                        "785870328131267807990054177348691152537065623705744096"
  30.                        "622171290262732073236149224291304052855537234103307757"
  31.                        "779806424202430488281521000914602653822069627155202082"
  32.                        "274335001015294801198690117625951676366998171835575234"
  33.                        "880703719555742347294083595208861666202572853755813079"
  34.                        "282586487282173705566196898952662018776810629200817792"
  35.                        "338135876828426412432431480282173674506720693507626895"
  36.                        "304345939375032966363775750624733239923482883107733905"
  37.                        "27680200757984356120205690";

  38. int main(int argc, char *argv[])
  39. {
  40.     int license = LICENSE_FREE;
  41.     int ii;

  42.     for (ii = 0; ii < argc; ++ii)
  43.     {
  44.         if (!strcmp(argv[ii], "swxc32") ||
  45.             !strcmp(argv[ii], "swxc16") ||
  46.             !strcmp(argv[ii], "swxc8"))
  47.         {
  48.             license = LICENSE_PRO;
  49.         }
  50.         else if (!strcmp(argv[ii], "swxcpp32"))
  51.         {
  52.             license = LICENSE_CPPFULL;
  53.         }
  54.         else if (!strcmp(argv[ii], "-hash"))
  55.         {
  56.             int index = atoi(argv[ii+1]);
  57.             printf("%.10s", &XC8_KEY[index]);
  58.         }
  59.     }

  60.     return license;
  61. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。