明经CAD社区

 找回密码
 注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 839|回复: 37

[讨论] 改一个字节,破掉试用次数限制

[复制链接]
发表于 2018-10-8 08:34 | 显示全部楼层 |阅读模式
本帖最后由 baitang36 于 2018-10-8 08:46 编辑

http://bbs.mjtd.com/forum.php?mo ... %CA%D4%D3%C3&page=1在这个帖子中,鱼与熊掌提出了一个思路,可以用读写文件的方式设置试用次数。经过实验,发现这种方式是比较弱的。本帖的目的不是为了破解,是为了启发大家的思路。
这是程序源码:
;作者:鱼与熊掌QQ775452144
(defun c:tt()
(IF (SETQ TMPTXT (open "C:\\Program Files\\WINDOWNS.TXT" "R"))
   (progn
   (setq tmpxx(READ-LINE tmptxt))
   (CLOSE TMPTXT)
   (setq tmpxx(1+(fix(atof tmpxx))))
   (SETQ TMPTXT (open "C:\\Program Files\\WINDOWNS.TXT" "w"))
   (write-line (itoa tmpxx) tmptxt)
   (CLOSE TMPTXT)
)
   (progn
     (SETQ TMPTXT (open "C:\\Program Files\\WINDOWNS.TXT" "w"))
     (write-line "1" tmptxt)
     (CLOSE TMPTXT)
   )
)

(if (< tmpxx 3)
(progn
(prompt "试用次数内")
)
(progn
(alert "试用超过限制,注册联系QQ775452144")
)
)
)
为方便试验,我把试用次数30,改成了3.
以下是编译后的fas文件:
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
00000000   0D 0A 20 46 41 53 34 2D  46 49 4C 45 20 3B 20 44      FAS4-FILE ; D
00000010   6F 20 6E 6F 74 20 63 68  61 6E 67 65 20 69 74 21   o not change it!
00000020   0D 0A 31 38 33 0D 0A 32  30 20 24 14 00 00 00 00     183  20 $     
00000030   09 13 00 09 12 00 35 02  11 00 03 0B 06 10 00 67         5        g
00000040   56 00 00 00 03 10 00 35  01 0F 00 03 06 0E 00 03   V      5        
00000050   10 00 35 01 0D 00 03 0A  03 0E 00 35 01 0C 00 03     5        5   
00000060   35 01 0B 00 03 35 01 0A  00 03 06 0E 00 09 13 00   5    5         
00000070   09 09 00 35 02 11 00 03  06 10 00 03 0E 00 35 01      5          5
00000080   08 00 03 03 10 00 35 02  07 00 03 0A 03 10 00 35         5        5
00000090   01 0D 00 03 0A 57 23 00  00 00 09 13 00 09 09 00        W#         
000000A0   35 02 11 00 03 06 10 00  09 06 00 03 10 00 35 02   5             5
000000B0   07 00 03 0A 03 10 00 35  01 0D 00 03 0A 03 0E 00          5        
000000C0   32 03 35 02 05 00 03 67  0D 00 00 00 09 04 00 35   2 5    g       5
000000D0   01 03 00 03 57 08 00 00  00 09 02 00 35 01 01 00       W       5   
000000E0   03 16 24 0D 0A 33 30 35  20 35 20 24 B9 CF 52 E5     $  305 5 $瓜R?
000000F0   4B 09 AF F2 6A D9 08 5C  07 44 31 78 6E 50 44 5A   K j?\ D1xnPDZ
00000100   49 26 06 54 24 D8 A0 53  E4 10 78 95 94 1F F3 31   I& T$貭S?x晹 ?
00000110   5C 06 51 47 14 47 11 0D  29 0D 38 D5 31 42 AD E4   \ QG G  ) 8?B
00000120   6A E5 4B 60 EE 8C 0E A1  65 5D 07 47 46 14 63 11   j錕`顚 ] GF c
00000130   CD CF DE C8 D1 9D FB 50  01 8D 32 8D 17 78 62 F9   拖奕?鸓  2  xb?
00000140   12 F0 F7 C8 A7 16 45 74  26 32 2F 38 39 53 05 76    瘅颧 Et&2/89S v
00000150   F6 9E 01 AB 06 6B FB C0  4B A6 30 5D 0D 12 8D C0   鰹 ?kK?]   ?
00000160   90 D2 B3 D5 C7 F6 A6 EB  19 91 CE 53 B1 4A 3B AE    页涨靓?懳S盝;?
00000170   C0 7A A8 66 0F 4E 46 02  39 0F 58 49 5E 0D 42 36   纙╢ NF 9 XI^ B6
00000180   7E 03 AD CE 06 E5 4B 3A  AF B7 10 C2 1A 5D 41 5B   ~  錕: ?]A[
00000190   1F 14 02 45 48 5D 0D 48  2E 7E 11 E8 CE 07 A9 1B      EH] H.~ 栉 ?
000001A0   63 F7 C0 19 B6 70 19 2A  5E 0E 5A 06 11 53 56 5D   c骼 秔 *^ Z  SV]
000001B0   5F 3A 65 42 E2 9E 16 AA  4B 3B FA C2 4B F2 31 0F   _:eB鉃 狵;K?
000001C0   1A 12 04 2E 1F 41 75 74  6A 79 03 5C 62 EB A7 3F      . Autjy \b毵?
000001D0   81 38 67 F8 89 05 B7 7E  0A 49 41 69 40 1B 45 5B    8g鴫 穨 IAi@ E[
000001E0   1B 0D 48 62 31 56 AD C4  0F E4 4B 09 AF 9B 08 C9     Hb1V 銴 瘺 ?
000001F0   65 09 07 12 7D 15 00 15  07 1A 0D 17 76 30 42 AD   e   }       v0B?
00000200   CE 5A E7 4B 31 F8 C0 4B  F3 31 54 03 12 41 16 43   蝂鏚1K?T  A C
00000210   18 05 1B 38 0A 63 31 43  A7 C7 51 E4 5D 19 79 D4      8 c1CQ鋆 y?
00000220   1A 49 AD E6 DD 72 B2 F9  0A 3B 66 61 73 34 20 63    I輗铲 ;fas4 c
00000230   72 75 6E 63 68 0A 3B 24  3B 41 31 30 2F 38 2F 31   runch ;$;A10/8/1
00000240   38                                                                        8
只要把C8位置的0D改成00,就破掉了限制,变成了永远在试用次数内。
000000C0   32 03 35 02 05 00 03 67  0D 00 00 00 09 04 00 35  就是这一行的0D改00

本帖子中包含更多资源

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

x
发表于 2018-10-8 09:20 | 显示全部楼层
楼主你这个是编译完了再比较二进制文件, 找到记录位置的地方,才“破解”的。先有源文件,再破解,有何实际意义?而且只要人家稍微改动下源程序,大于3改成大于9开平方,要改的就不止一个字节了。
 楼主| 发表于 2018-10-8 09:25 | 显示全部楼层
mikewolf2k 发表于 2018-10-8 09:20
楼主你这个是编译完了再比较二进制文件, 找到记录位置的地方,才“破解”的。先有源文件,再破解,有何实 ...

确实如此,其实这不能算是破解,只是思路,说明这样是可行的。
要不,你修改后编译一个fas文件发上来,让我试验一下这种方法是否可行?
发表于 2018-10-8 10:00 | 显示全部楼层
baitang36 发表于 2018-10-8 09:25
确实如此,其实这不能算是破解,只是思路,说明这样是可行的。
要不,你修改后编译一个fas文件发上来, ...

方法是可行的,在没源代码的情况下要找出这个比较条件基本是不可能的。如果加入两个以上跳转语句,本方法基本无解。
 楼主| 发表于 2018-10-8 10:03 | 显示全部楼层
updoc 发表于 2018-10-8 10:00
方法是可行的,在没源代码的情况下要找出这个比较条件基本是不可能的。如果加入两个以上跳转语句,本方法 ...

发一个小程序上来试试?
发表于 2018-10-8 10:10 | 显示全部楼层
baitang36 发表于 2018-10-8 10:03
发一个小程序上来试试?

贱人工具箱 你试一试
发表于 2018-10-8 10:21 | 显示全部楼层
命令 TT:
未过期显示对话框 执行程序A
过期显示  程序已过期  请联系作者
单纯的一个判断

本帖子中包含更多资源

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

x
 楼主| 发表于 2018-10-8 10:54 | 显示全部楼层
updoc 发表于 2018-10-8 10:21
命令 TT:
未过期显示对话框 执行程序A
过期显示  程序已过期  请联系作者

还是把一个0D改成了00

本帖子中包含更多资源

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

x
 楼主| 发表于 2018-10-8 11:01 | 显示全部楼层
updoc 发表于 2018-10-8 10:10
贱人工具箱 你试一试

谢谢,这句话,我记住了。也许将来会向高手致敬的。虽然目前我还做不到大海捞针。
发表于 2018-10-8 11:08 | 显示全部楼层
怎么就知道是修改那一个字节呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号  
©2000-2017 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2018-10-16 17:57 , Processed in 0.255697 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

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