易码技术论坛

 找回密码
 加入易码
搜索
查看: 233033|回复: 9

[教程][NC3000]为BIN程序加上系统密码

[复制链接]
发表于 2005-11-18 22:54:00 | 显示全部楼层
这么好的帖子竟然没人顶……
发表于 2005-11-13 10:12:00 | 显示全部楼层
很实用的说!

J兄强啊!3000用户的福音啊!


发表于 2005-11-13 10:14:00 | 显示全部楼层
厉害啊,我的3000,又加强了~~
发表于 2005-11-13 13:07:00 | 显示全部楼层
汗,这个以前有过类似教程

好像是在"高中文言文.ebk"上附带的
发表于 2005-11-13 18:36:00 | 显示全部楼层
虽然此方法众所周知,但毕竟很少人出教程,楼主辛苦啦
 楼主| 发表于 2005-11-13 19:37:00 | 显示全部楼层
不辛苦,不辛苦,能为大家带来快乐就好

PS:在老星迷里众所周知了,可是新的星迷知道的人还是甚少的。
发表于 2005-11-19 11:41:00 | 显示全部楼层
其实没那么麻烦,所谓加密,只是在程序真正部份运行之前加入一个调用系统密码的中断,楼主说的方法是直接改BIN文件头的跳转,跳到调用密码中断的地方,我写的工具也是这个原理。

不过当程序大于32K时,一次只能载入32K,所以不能在文件尾加上调用密码的中断并改跳转到文件尾,这也是为什么工具只能加密小于32的BIN的原因。

对于大于32K的文件,必须在它的前32K的位置的空闲地方加上调用密码的代码,并将文件头的跳转指向那里。对于有截图等功能的BIN,为保留那些功能,应该将调用密码的跳转放在那些功能的代码之后,而不是直接改文件头的跳转。

其实只要知道原理,加个密码并不难,建议反汇编一下调用密码那里,应该是这样的:

LDA#$00

STA$0488

INT$XXXX

BCS$(JMP那里)

RTS

JMP$主要程序

前两句是将密码开关清0,如果密码开关不是0的话就相当于绕过密码.第三句调用密码中断,是什么不记得了。下一句是对于密码正不正确的一个判断,是不是BCS也不记得了(汗),反一下程序其实很容易明白的。

PS:改BIN用XASMBAS应该会比较方便点,虽然慢不过似乎没有更全面的工具了(广告广告~~~~[em05][em05])。
发表于 2006-1-27 10:40:00 | 显示全部楼层
非常支持,3000有救了(不会再被同学虐了。。。),2600能用吗?[em01]
发表于 2006-1-27 11:12:00 | 显示全部楼层
太感谢了[em01]
 楼主| 发表于 2005-11-13 09:55:05 | 显示全部楼层 |阅读模式
注:1、此方法在NC3000上测试,大部分程序能够生效,要使加密生效,必须在设置系统密码时对名

片加密。
        2、如果需要加密的程序小于32754B,可以使用Sleepy的SYS-TOOLS.bas,更方便些。


    首先,备份好你需要修改的BIN程序,然后用pacmgr编辑需要加密的BIN,进入编辑界面后,你会在第

一行看到类似“AE EE EA 00 10 00 20 4C”或者“AE EE EA 00 20 00 20 4C”的HEX,下面,请在纸上

记录下第二行开头的两个HEX(类似“10 40”等),为了下面叙述方便,命名为“HEX(原)”,一般程序的

结尾都会有一大段空白区(即HEX为“FF”的区域),接下来你就可以在这段空白区自由挥洒了——在空白

区内随便找一处开始写上“A9 00 8D 88 04 00 05 06
                        B0 01 60 4C ** **”(其中** **为先前记录下来的“HEX(原)”)
然后将编辑光标移动到你刚才写“A9”的位置,记下屏幕下方显示的当前位置(设为L),接下来就需要计

算了,先计算H1吧,方法是H1=(L+16384)/256 (取整数部分,不是四舍五入!)
H2=L+16384-H1*256
然后用星星内置的科学计算其将H1和H2分别转换为十六进制,方法是进入科学计算器输入H1,然后按“=

”接着按“SHIFT+9”,记下结果,再按“SHIFT+0”切换回十进制后再用同样的方法计算出十六进制的H2


    最后,在编辑刚才那个我们编辑到一般的BIN,按“=”后跳转到8的位置,将原先的HEX改为十六进制

的H2 ,在将光标后移一位,将原HEX改为十六进制的H1就可以了,退出编辑器,运行一下程序试试吧!~如果不出意外的话程序就已经被加密了!

另注:1、如果加密不成功(运行程序就关机、死机或无反应),则请先确认上面的步骤操作无误了,如果确定没有错误的话,则说明此程序不适合用此方法加密(像“超级玛丽”,我就加密了不成功-_-),只有另寻它路了。
2、对于双目录程序(如“记事本.bin”、“GVmaker++.bin”等),用此方法加密后,双目录就失效了,请斟酌!
3、已经通过验证可以用此方法加密的程序有(*.bin):系统工具、系统工具Plus、GVBASIC+、是男人就撑20秒、频率测算、HGP浏览、Q-Player、GVmaker+(虽然有一些程序加密是没有必要的,但是这里列出来是为了说明此方法具有一定的广泛适用性^_^)


附:Sleepy的SYS-TOOLS.bas



您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2025-5-3 18:23 , Processed in 0.013969 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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