cnks
发表于 2008-5-28 11:55:00
alin发表于2008-5-28 9:56:00static/image/common/back.gif不是我的东西,你可以把一个藏有密码的小FAS程序传上来摆擂台,虽然我也没什么把握。
<p>摆擂台好啊,不知道明总是否愿意,赢了能不能给点明经币?</p>
无痕
发表于 2008-5-28 12:48:00
<p></p><p></p><p>发一个fas,用于编辑多义线顶点的,谁来试试反编译</p>
alin
发表于 2008-5-28 14:57:00
<p>无版,这个程序好像不能正确运行</p>
alin
发表于 2008-5-29 08:56:00
无痕发表于2008-5-28 12:48:00static/image/common/back.gif41168发一个fas,用于编辑多义线顶点的,谁来试试反编译只有60%可读,其余的自己凑合
;;;(defun main
;;;FasStringtables 0
;;;FasStringtables 1
;;;(defun main
;;;nil
;;;(PRINC "\nplve====lwpolyline vert edit,Ôö¼Ó/ɾ³ýplÏß¶¥µã v1.0--------lxx.2001.7")
;;;(setq C:PLVE <Func> C:PLVE)
;;;(vl-ACAD-defun C:PLVE)
;;;C:PLVE
;;;(setq EPLV <Func> EPLV)
;;;EPLV
;;;(setq APLV <Func> APLV)
(defun C:PLVE (/ OS KEY)
(PRINC
"\nplve====lwpolyline vert edit,Add/Erase Vertex----------lxx.2001.7"
)
(SETVAR "cmdecho" 0)
(INITGET "A E")
(setq OS (GETVAR "osmode"))
(setq KEY (GETKWORD "\n A-Add/<E-Erase>:"))
(if (= KEY nil)
(setq KEY "E")
)
;;;(cond (= Then OR Else (STRCASE KEY)) (
(cond ((= "A" (STRCASE KEY))
(APLV)
)
((= "E" (STRCASE KEY))
(EPLV)
)
)
(SETVAR "osmode" OS)
)
(defun EPLV ()
(command "osnap")
(command "end")
(setq PTEND (GETPOINT "\nPick a vertex:"))
;;;nil
(setq ENL (NENTSELP PTEND))
(setq ENT (CAR ENL))
(setq ENTL (ENTGET ENT))
(setq PTL (CONS 10 (LIST (CAR PTEND) (CADR PTEND))))
(setq L2 (CDDDDR (MEMBER PTL ENTL)))
(setq L1 (REVERSE (CDR (MEMBER PTL (REVERSE ENTL)))))
(setq ENTL (APPEND L1 L2))
(PRINT ENT)
(PRINT ENTL)
(ENTMOD ENTL)
)
(defun APLV ()
(command "_.osnap")
(command "nea")
(setq PTNEA (GETPOINT "\nSpecify the position to add new vertex:"))
(setq ENL (NENTSELP PTNEA))
(setq ENT (CAR ENL))
(setq ENTL (ENTGET ENT))
(setq PTEND (OSNAP PTNEA "_end"))
(setq PTCEN (OSNAP PTNEA "_cen"))
(setq PTL (CONS 10 (LIST (CAR PTEND) (CADR PTEND))))
(setq N0 (LENGTH ENTL))
(setq N (LENGTH (MEMBER PTL ENTL)))
(setq N (- N0 N))
(setq PTNEXTL (NTH (+ N 4) ENTL))
(setq PTNEXT (CDR PTNEXTL))
(IF (AND (<= (VLAX-CURVE-GETPARAMATPOINT ENT PTNEA)
(VLAX-CURVE-GETPARAMATPOINT ENT PTEND)
)
(NOT (AND (< (DISTANCE PTNEA PTEND) 0.0001)
(EQUAL (VLAX-CURVE-GETENDPARAM ENT)
(VLAX-CURVE-GETPARAMATPOINT ENT PTEND)
0.0001
)
)
)
)
(setq N (- N 4))
)
;;; ((= 210 (CAR PTNEXTL))
;;; (cond
;;; ((INTERS PTEND PTNEXT PTNEA PTNEA)
;;; (setq R1 (DISTANCE PTEND PTCEN))
;;; (setq R2 (DISTANCE PTNEXT PTCEN))
;;; (setq R3 (DISTANCE PTNEA PTCEN))
;;; (cond
;;; ((OR
;;; (EQUAL R1 R2 0.0001)
;;; (EQUAL R2 R3 0.0001)
;;; (EQUAL R1 R3 0.0001)
;;; )
;;; (PRINC)
;;; )
;;; (T
;;; (PRINC)
;;; )
;;; )
;;; )
;;; )
;;; )
;;;)
;;;;;;(setq N (- N 4))
;;;(setq E40 (CONS 40 (CDR (NTH (+ N 2) ENTL))))
;;;(setq E41 (CONS 41 (CDR (NTH (+ N 5) ENTL))))
;;;(setq E42 (NTH (+ N 3) ENTL))
(setq E40 (CONS 40 0.0))
(setq E41 (CONS 41 0.0))
(IF (OR (AND (< (DISTANCE PTNEA PTEND) 0.0001)
(EQUAL (VLAX-CURVE-GETSTARTPARAM ENT)
(VLAX-CURVE-GETPARAMATPOINT ENT PTEND)
0.0001
)
)
(AND (< (VLAX-CURVE-GETPARAMATPOINT ENT PTEND)
(VLAX-CURVE-GETPARAMATPOINT ENT PTNEA))
;;; (NOT PTCEN)
(OSNAP PTEND "_cen")
)
)
(setq E42 (CONS 42 0.0))
(setq E42 (NTH (1- N) ENTL))
)
(IF (= (setq
NPT (GETPOINT PTNEA
"\nNew vertex <Origin picked point>:"
)
)
NIL
)
(setq NPT PTNEA)
)
(setq
NPTL (APPEND (LIST (CONS 10 (LIST (CAR NPT) (CADR NPT)))
E40
E41
E42
)
)
)
(setq L1 nil)
(setq L2 nil)
(setq I 0)
(FOREACH X ENTL
(IF (>= (+ N 3) I)
(setq L1 (CONS X L1))
(setq L2 (CONS X L2))
)
(setq I (1+ I))
)
(setq L1 (REVERSE L1))
(setq L2 (REVERSE L2))
(setq ENTL (APPLY 'APPEND (LIST L1 NPTL L2)))
(ENTMOD ENTL)
)
cnks
发表于 2008-5-29 09:34:00
<p>不是找密码么?变成反编译了?</p>
fawn_lgc
发表于 2008-5-29 10:57:00
<p>震惊,是不是真的啊?</p><p>试试我这个命令行计算器程序:</p><p>命令:cc 或 calculator</p><p>注意: 3的平方用3\2表示</p><p>如:√(3<sup>2</sup>+4<sup>2</sup>)=(3\2+4\2)\0.5=5</p><p>5cos60=2.5</p><p></p><p>该计算器不完善有待改进.</p>
alin
发表于 2008-5-29 12:59:00
<p>太长了。</p>
fawn_lgc
发表于 2008-5-29 13:14:00
<p>为什么太长的文件就不能反编译呢,不会你是通过手工而不是软件进行反编译啊?</p><p>这程序不到千行就嫌长,万行的我还没有发出来呢。</p>
alin
发表于 2008-5-29 13:20:00
请看我23楼的解释。
fawn_lgc
发表于 2008-5-29 14:07:00
本帖最后由 作者 于 2008-5-29 14:16:12 编辑
以下是引用alin在23楼的解释:
的确有一个反编译fas文件的东东,虽然不是很成功,只能部分或小部分还原,但在某种情况下还是很有用的。比如要找程序中设置的密码,运气好的话还真的能找到。
哈哈,看来我的程序连部分或小部分,哪怕是一两行程序都还原不了咯。
好像我明白怎样反“反编译”了。
我的程序算法特殊,恐怕杜拟都杜不出来的。可惜,可惜。