找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2355|回复: 16

[研讨] 混淆加setq变换,这样反编译了也看不懂了

[复制链接]

已领礼包: 1915个

财富等级: 堆金积玉

发表于 2013-12-21 11:45:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 zhang8755 于 2013-12-21 11:54 编辑
  1. <p>(defun C:FLAT (/       #23760700#@4_58  x6_$2%$99@67*50  __&$32_80%@*5*%   #101&30*016_17%     _0@9&$2646%_629  i
  2.                   x97$@%92$_*66_4  x@_60723$4%_72$  ##3#$8_59$47#%7  $549@&74257$%@@   x59_4_*057868#@   x*$*0&034%4635&   _%2%972#%6725&7
  3.                   *8*07*6@_9#__79    x3@_$05%1__0_5@     x637224%9277&_#
  4.                  )
  5.   ;;Error handler
  6.   (set (read (vl-list->string '(35 50 51 55 54 48 55 48 48 35 64 52 95 53 56))) *error*)
  7.   (defun *error* (x&#_1$1734*3719)
  8.     (if (= x&#_1$1734*3719 "quit / exit abort")
  9.       (princ)
  10.       (princ (strcat "error: " x&#_1$1734*3719))
  11.     )
  12.     (set (read (vl-list->string '(42 101 114 114 111 114 42))) #23760700#@4_58)
  13.     (command "._UCS"           "_Restore"        "$FLATTEN-TEMP[        DISCUZ_CODE_0        ]quot;
  14.              "._UCS"           "_Delete"         "$FLATTEN-TEMP[        DISCUZ_CODE_0        ]quot;
  15.             )
  16.     (command "._UNDO" "_End")
  17.     (setvar "CMDECHO" x6_$2%$99@67*50)
  18.     (princ)
  19.   )

  20.   ;;Function to change Z coordinate to 0

  21.   (defun __&$32_80%@*5*% (x@_2*#97*5#*355 x1%$58@63@2*69& / x350_*&186%3222 %814@74$0_3$_&4)
  22.     (set (read (vl-list->string '(120 51 53 48 95 42 38 49 56 54 37 51 50 50 50))) (assoc x@_2*#97*5#*355 x1%$58@63@2*69&)
  23.           %814@74$0_3$_&4 (reverse (append '(0.0) (cdr (reverse x350_*&186%3222))))
  24.           x1%$58@63@2*69& (subst %814@74$0_3$_&4 x350_*&186%3222 x1%$58@63@2*69&)
  25.     )
  26.     (entmod x1%$58@63@2*69&)
  27.   )

  28.   ;;Setup
  29.   (set (read (vl-list->string '(120 54 95 36 50 37 36 57 57 64 54 55 42 53 48))) (getvar "CMDECHO"))
  30.   (setvar "CMDECHO" 0)
  31.   (command "._UNDO" "_Group")
  32.   (command "._UCS"         "_Delete"       "$FLATTEN-TEMP[        DISCUZ_CODE_0        ]quot;
  33.            "._UCS"         "_Save"         "$FLATTEN-TEMP[        DISCUZ_CODE_0        ]quot;
  34.            "._UCS"         "World"
  35.           )                             ;set World UCS

  36.   ;;Get input
  37.   (prompt
  38.     (strcat
  39.       "\nFLATTEN sets the Z coordinates of most objects to zero."
  40.     )
  41.   )

  42.   (initget "Yes No")
  43.   (set (read (vl-list->string '(42 56 42 48 55 42 54 64 95 57 35 95 95 55 57))) (getkword "\nDo you want to continue : "))
  44.   (cond ((/= *8*07*6@_9#__79 "No")
  45.          (graphscr)
  46.          (prompt "\nChoose objects to FLATTEN ")
  47.          (prompt
  48.            "[press return to select all objects in the drawing]"
  49.          )
  50.          (set (read (vl-list->string '(35 49 48 49 38 51 48 42 48 49 54 95 49 55 37))) (ssget))
  51.          (if (null #101&30*016_17%)                 ;if enter...
  52.            (set (read (vl-list->string '(35 49 48 49 38 51 48 42 48 49 54 95 49 55 37))) (ssget "X"))       ;select all entities in database
  53.          )


  54.          ;;*initialize variables
  55.          (set (read (vl-list->string '(95 48 64 57 38 36 50 54 52 54 37 95 54 50 57))) (sslength #101&30*016_17%)    ;length of selection set
  56.                i      0                 ;loop counter
  57.                x97$@%92$_*66_4 0                 ;number changed counter
  58.                x@_60723$4%_72$ 0                 ;number not changed counter
  59.                ##3#$8_59$47#%7 0                 ;number not changed and Z /= 0 counter
  60.                $549@&74257$%@@  (ssadd)           ;selection set of unchanged entities
  61.          )                              ;setq

  62.          ;;*do the work
  63.          (prompt "\nWorking.")
  64.          (while (< i _0@9&$2646%_629)            ;while more members in the SS
  65.            (if (= 0 (rem i 10))
  66.              (prompt ".")
  67.            )
  68.            (set (read (vl-list->string '(120 53 57 95 52 95 42 48 53 55 56 54 56 35 64))) (ssname #101&30*016_17% i)   ;entity name
  69.                  x*$*0&034%4635& (entget x59_4_*057868#@)   ;entity data list
  70.                  _%2%972#%6725&7 (cdr (assoc 0 x*$*0&034%4635&)) ;entity type
  71.            )

  72.            ;;*Keep track of entities not flattened
  73.            (if (not (member _%2%972#%6725&7
  74.                             '("3DFACE"     "ARC"        "ATTDEF"
  75.                               "CIRCLE"     "DIMENSION"  "ELLIPSE"
  76.                               "HATCH"      "INSERT"     "LINE"
  77.                               "LWPOLYLINE" "MTEXT"      "POINT"
  78.                               "POLYLINE"   "SOLID"      "TEXT"
  79.                              )
  80.                     )
  81.                )
  82.              (progn                     ;leave others alone
  83.                (set (read (vl-list->string '(120 64 95 54 48 55 50 51 36 52 37 95 55 50 36))) (1+ x@_60723$4%_72$))
  84.                (if (/= 0.0 (car (reverse (assoc 10 x*$*0&034%4635&))))
  85.                  (progn                 ;add it to special list if Z /= 0
  86.                    (set (read (vl-list->string '(35 35 51 35 36 56 95 53 57 36 52 55 35 37 55))) (1+ ##3#$8_59$47#%7))
  87.                    (ssadd x59_4_*057868#@ $549@&74257$%@@)
  88.                  )
  89.                )
  90.              )
  91.            )

  92.            ;;Change group 10 Z coordinate to 0 for listed entity types.
  93.            (if (member _%2%972#%6725&7
  94.                        '("3DFACE"    "ARC"       "ATTDEF"    "CIRCLE"
  95.                          "DIMENSION" "ELLIPSE"   "HATCH"     "INSERT"
  96.                          "LINE"      "MTEXT"     "POINT"     "POLYLINE"
  97.                          "SOLID"     "TEXT"
  98.                         )
  99.                )
  100.              (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38)))  (__&$32_80%@*5*% 10 x*$*0&034%4635&) ;change entities in list above
  101.                    x97$@%92$_*66_4 (1+ x97$@%92$_*66_4)
  102.              )
  103.            )

  104.            ;;Change group 11 Z coordinate to 0 for listed entity types.
  105.            (if (member _%2%972#%6725&7
  106.                        '("3DFACE" "ATTDEF" "DIMENSION" "LINE" "TEXT" "SOLID")
  107.                )
  108.              (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38))) (__&$32_80%@*5*% 11 x*$*0&034%4635&))
  109.            )

  110.            ;;Change groups 12 and 13 Z coordinate to 0 for SOLIDs and 3DFACEs.
  111.            (if (member _%2%972#%6725&7 '("3DFACE" "SOLID"))
  112.              (progn
  113.                (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38))) (__&$32_80%@*5*% 12 x*$*0&034%4635&))
  114.                (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38))) (__&$32_80%@*5*% 13 x*$*0&034%4635&))
  115.              )
  116.            )

  117.            ;;Change groups 13, 14, 15, and 16
  118.            ;;Z coordinate to 0 for DIMENSIONs.
  119.            (if (member _%2%972#%6725&7 '("DIMENSION"))
  120.              (progn
  121.                (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38))) (__&$32_80%@*5*% 13 x*$*0&034%4635&))
  122.                (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38))) (__&$32_80%@*5*% 14 x*$*0&034%4635&))
  123.                (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38))) (__&$32_80%@*5*% 15 x*$*0&034%4635&))
  124.                (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38))) (__&$32_80%@*5*% 16 x*$*0&034%4635&))
  125.              )
  126.            )

  127.            ;;Change each polyline vertex Z coordinate to 0.
  128.            ;;Code provided by Vladimir Livshiz, 09-Oct-1998
  129.            (if (= _%2%972#%6725&7 "POLYLINE")
  130.              (progn
  131.                (set (read (vl-list->string '(120 51 64 95 36 48 53 37 49 95 95 48 95 53 64))) x59_4_*057868#@)
  132.                (while (not (equal (cdr (assoc 0 (entget x3@_$05%1__0_5@))) "SEQEND"))
  133.                  (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38))) (entget (entnext x3@_$05%1__0_5@)))
  134.                  (set (read (vl-list->string '(120 54 51 55 50 50 52 37 57 50 55 55 38 95 35))) (cadddr (assoc 10 x*$*0&034%4635&)))
  135.                  (if (/= x637224%9277&_# 0)
  136.                    (progn
  137.                      (__&$32_80%@*5*% 10 x*$*0&034%4635&)
  138.                      (entupd x59_4_*057868#@)
  139.                    )
  140.                  )
  141.                  (set (read (vl-list->string '(120 51 64 95 36 48 53 37 49 95 95 48 95 53 64))) (cdr (assoc -1 x*$*0&034%4635&)))
  142.                )
  143.              )
  144.            )

  145.            ;;Special handling for LWPOLYLINEs
  146.            (if (member _%2%972#%6725&7 '("LWPOLYLINE"))
  147.              (progn
  148.                (set (read (vl-list->string '(120 42 36 42 48 38 48 51 52 37 52 54 51 53 38)))  (subst (cons 38 0.0) (assoc 38 x*$*0&034%4635&) x*$*0&034%4635&)
  149.                      x97$@%92$_*66_4 (1+ x97$@%92$_*66_4)
  150.                )
  151.                (entmod x*$*0&034%4635&)
  152.              )
  153.            )

  154.            (set (read (vl-list->string '(105))) (1+ i))              ;next entity
  155.          )
  156.          (prompt " Done.")

  157.          ;;Print results
  158.          (prompt (strcat "\n" (itoa x97$@%92$_*66_4) " object(s) flattened."))
  159.          (prompt
  160.            (strcat "\n" (itoa x@_60723$4%_72$) " object(s) not flattened.")
  161.          )

  162.          ;;If there any entities in ssno0, show them
  163.          (if (/= 0 ##3#$8_59$47#%7)
  164.            (progn
  165.              (prompt (strcat "  ["
  166.                              (itoa ##3#$8_59$47#%7)
  167.                              " with non-zero base points]"
  168.                      )
  169.              )
  170.              (getstring
  171.                "\nPress enter to see non-zero unchanged objects... "
  172.              )
  173.              (command "._SELECT" $549@&74257$%@@)
  174.              (getstring "\nPress enter to unhighlight them... ")
  175.              (command "")
  176.            )
  177.          )
  178.         )
  179.   )

  180.   (command "._UCS"           "_Restore"        "$FLATTEN-TEMP[        DISCUZ_CODE_0        ]quot;
  181.            "._UCS"           "_Delete"         "$FLATTEN-TEMP[        DISCUZ_CODE_0        ]quot;
  182.           )
  183.   (command "._UNDO" "_End")
  184.   (setvar "CMDECHO" x6_$2%$99@67*50)
  185.   (set (read (vl-list->string '(42 101 114 114 111 114 42))) #23760700#@4_58)
  186.   (princ)
  187. )

  188. (prompt
  189.   "\nFLATTEN version 2k.0 loaded.  Type FLATTEN to run it."
  190. )
  191. (princ)

  192. ;;;eof
  193. </p>
混淆的同时,将所有的setq都换成  (set (read (vl-list->string '(...))),这样就是反编译了,也根本看不懂!

目前程序自动处理不支持一个setq为多个变量赋值,因为替换后,后面的赋值无法执行了。










论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2014-1-5 13:52:57 | 显示全部楼层
NET-JOB 发表于 2014-1-5 12:08
这样写也太累了,正常的程序有些还看不明白呢

不是这样写代码,是用我的程序将代码变换成这样,对付反编译的。

点评

自己写自己用,表示不需要加密  详情 回复 发表于 2014-1-5 15:17
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 1 反对 0

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2013-12-21 11:49:31 | 显示全部楼层
所有的字串部分都可以,变量用 eval read

点评

是的。但是实现用程序处理有点困难,要区分识别的量比较大,例如定义函数部分的变量表不能替换。  详情 回复 发表于 2013-12-21 12:00
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2013-12-21 12:00:29 | 显示全部楼层
st788796 发表于 2013-12-21 11:49
所有的字串部分都可以,变量用 eval read

是的。但是实现用程序处理有点困难,要区分识别的量比较大,例如定义函数部分的变量表不能替换。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2688个

财富等级: 家财万贯

发表于 2013-12-21 13:55:39 | 显示全部楼层
上面仅仅是混淆后的结果吗?没看到用于混淆的程序啊。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2013-12-21 21:16:40 | 显示全部楼层
混淆程序

LSPRP.rar

7.48 KB, 下载次数: 60, 下载积分: D豆 -1 , 活跃度 1

售价: 10 D豆  [记录]

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复

使用道具 举报

已领礼包: 1488个

财富等级: 财源广进

发表于 2013-12-24 13:14:28 | 显示全部楼层
zhang8755:是源码吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2013-12-24 15:54:36 | 显示全部楼层
又更新了吗?跟之前的版本有什么区别?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2013-12-24 16:05:51 | 显示全部楼层
又多了一个步骤而已吧。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

 楼主| 发表于 2013-12-25 12:50:59 | 显示全部楼层
是的,增加了变换的内容,可以说加密强度提高了。经测试性能影响不大。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 9801个

财富等级: 富甲天下

发表于 2013-12-26 08:31:12 | 显示全部楼层
猫就是这样对付反编译的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 918个

财富等级: 财运亨通

发表于 2014-1-5 12:08:53 | 显示全部楼层
这样写也太累了,正常的程序有些还看不明白呢

点评

不是这样写代码,是用我的程序将代码变换成这样,对付反编译的。  详情 回复 发表于 2014-1-5 13:52
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 918个

财富等级: 财运亨通

发表于 2014-1-5 15:17:16 | 显示全部楼层
zhang8755 发表于 2014-1-5 13:52
不是这样写代码,是用我的程序将代码变换成这样,对付反编译的。

{:soso_e179:}自己写自己用,表示不需要加密
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6881个

财富等级: 富甲天下

发表于 2017-3-17 19:56:15 | 显示全部楼层
请问大师
; 错误: 参数类型错误: VLA-OBJECT nil
感觉不能用啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

发表于 2018-1-28 15:54:43 | 显示全部楼层
大师我用这个混淆我的文件没变化
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-4-23 19:01 , Processed in 0.407887 second(s), 63 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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