前往Shuct.Net首页

Shudepb PB反编译专家长时间以来,为业内同类软件事实上的唯一选择.细节,彰显专业.态度,决定品质.

关于PB反编译的搜索

【原创】XX迷你进销存医药版注册码算法分析(适合初级) - 看雪安全论坛 看雪安全论坛 > Windows > 『软件调试逆向』 成果分享 【原创】XX迷你进销存医药版注册码算法分析(适合初级) 用户名 记住 密 码 忘记密码? KSSD 注册账号 搜索论坛 日历事件 论坛帮助 --> 『软件调试逆向』 [综合性论坛]本版讨论的主题包括:调试逆向、系统底层、商业保护、虚拟机保护、.NET平台等安全相关的话题。 转到页面... 该主题: "【原创】XX迷你进销存医药版注册码算法分析(适合初级)" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。 第 1 页,共 3 页 1 23 > 主题工具 显示模式 本站声明:看雪论坛文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者信息及本声明! csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 1 2007-03-27 12:17:00 【原创】XX迷你进销存医药版注册码算法分析(适合初级) 标 题: 【原创】XX迷你进销存医药版注册码算法分析(适合初级) 作 者: csshrb 时 间: 2007-03-27,12:17:00 链 接: http://bbs.pediy.com/showthread.php?t=41710 【文章标题】: XX迷你进销存医药版注册码算法分析 【文章作者】: csshrb 【作者邮箱】: csshrb2004@yahoo.com.cn 【作者主页】: www.freeoffice.com.cn 【作者QQ号】: 69780955 【软件名称】: XX迷你进销存医药版 【软件大小】: 5.61M 【下载地址】: 自己搜索下载 【加壳方式】: 无 【保护方式】: 无 【编写语言】: VFP9.0 【使用工具】: VFPupker,foxtools,ollydbg, 【操作平台】: win 【软件介绍】: 一个小型的医药进销存管理软件 【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! -------------------------------------------------------------------------------- 【详细过程】 一、用PEID查壳,显示nothing found,用ollydbg手动脱壳。 二、用VFPupker反编译脱壳文件可的到VFP的工程文件。 三、用foxtools反编译,得到如下代码。 set ENGINEBEHAVIOR 70 set safety off set century on set date YMD set sysmenu off set talk off set status bar off set confirm on set deleted on set multilocks on set exact on set resource off set procedure to proc ADDITIVE set default to JUSTPATH(SYS(16,0)) _screen.picture = "BANK.JPG" _screen.windowstate = 2 _SCREEN.addproperty("cTitle") _SCREEN.addproperty("cPath") _SCREEN.addproperty("cUser") _SCREEN.addproperty("cCPUID") _SCREEN.addproperty("lReg") _SCREEN.addproperty("cHb") _SCREEN.addproperty("Ver") _screen.ver = "V2.20" _screen.cpath = SYS(5)+CURDIR() _screen.ctitle = "星空软件" _screen.caption = "超越迷你进销存 医药版"+_SCREEN.ver _screen.icon = "lighton.ico" _screen.visible = .t. if not DIRECTORY("data") MESSAGEBOX("本程序运行目录下不存在数据文件目录“data”,系统将自动退出。",16,"系统自检...") quit endif if not checkdata() MESSAGEBOX("数据自检失败!引起此原因可能是由于突然断电或意外死机造成的数据损坏。"+CHR(13)+"请使用数据修复工具检查数据库!"+CHR(13)+CHR(13)+"如果修复后问题此窗口仍然出现,请与我们联系!"+CHR(13)+CHR(13)+"技术支持:0631-5625456",16,"数据自检失败") if FILE("repair.exe") run /n repair endif quit endif if DIRECTORY("cytemp") lnxw = MESSAGEBOX("在上次软件运行过程中可能出现过死机或断电等意外问题,系统非正常退出。"+CHR(13)+CHR(13)+"为了保证数据安全,系统将进行数据库校验! "+CHR(13)+CHR(13)+"注意,校验完成后系统将自动退出。请重新登录运行系统。",64,"系统启动自检") delete file cytemp\*.* rd cytemp do verify else md cytemp close databases all copy file data\*.* to cytemp endif declare integer DiskID32 in DiskID32.DLL string @, string @ 注意:取得磁盘物理ID为机器码 a = REPLICATE(CHR(0),31) b = REPLICATE(CHR(0),31) retval = DISKID32(@A,@B) _screen.ccpuid = ALLTRIM(LEFT(B,AT(CHR(0),B)-1)) for n = 1 to 10 if EMPTY(_SCREEN.ccpuid) _screen.ccpuid = ALLTRIM(LEFT(B,AT(CHR(0),B)-1)) else exit endif endfor if EMPTY(_SCREEN.ccpuid) _screen.ccpuid = "FA780203" 如磁盘物理ID为空机器码为FA780203 endif lczcm = "AAAAA" set procedure to proc ADDITIVE if not FILE("reginfo.mem") _screen.lreg = .f. else restore from reginfo additive if regedit(_SCREEN.ccpuid,427) <> LCZCM 比较注册码,调用到函数regedit _screen.lreg = .f. else _screen.lreg = .t. 注册码正确则通过 endif endif set safety off select 0 use data\销售出库 if AFIELDS(AA) <> 14 on shutdown quit MESSAGEBOX("你所使用的数据格式比较老,必需升级才能使用!",16,"提示") do form scx\update read events quit endif use in 销售出库 if _SCREEN.lreg = .f. use data\销售出库 exclusive pack count to lnsum if LNSUM > 500 MESSAGEBOX("对不起,未注册版本不能无限制地使用本软件。请与软件供应商联系!",16,"软件试用期已过") do form scx\zc with 1 read events endif endif use data\system _screen.chb = HBFH use set help to myhelp.chm on key label F3 do usepos on error do myerror on shutdown do myShutDown _SCREEN.addproperty("jbzl") _SCREEN.addproperty("cgrk") _SCREEN.addproperty("xsck") _SCREEN.addproperty("xsthh") _SCREEN.addproperty("qtkcbd") _SCREEN.addproperty("szlr") _SCREEN.addproperty("ywbb") _SCREEN.addproperty("ywls") _SCREEN.addproperty("xtwh") do form scx\sfyz read events procedure regedit parameters inmsg,inusers inmsg为你的机器的磁盘物理ID private nstep,nmod, outmsg, cbaseid cbaseid = "SDFSDFSDFSLFDKGL09345-=2389234" 此处为生成码 inmsg = PADR(ALLTRIM(INMSG),25,"0") 不足25位,在右补0 if INMSG == "" return "" ENDIF outmsg = "" for nstep = 1 to LEN(INMSG) 循环机器码的次数 25次 nmod = MOD(NSTEP,LEN(CBASEID)) 取余数1-25/30的余数 outmsg = OUTMSG+CHR(keymove(ASC(SUBSTR(INMSG,NSTEP,1))+ASC(SUBSTR(CBASEID,NMOD,1))-INUSERS)) 生成注册码,keymove函数是保证注册码 为合法字符即大写的英文字母,交叉取机 码和生成码。 endfor return SUBSTR(OUTMSG,1,5)+"-"+SUBSTR(OUTMSG,6,5)+"-"+SUBSTR(OUTMSG,11,5)+"-"+SUBSTR(OUTMSG,16,5)+"-"+SUBSTR(OUTMSG,21,E) procedure keymove parameters inno do while .t. do case case INNO < 65 inno = INNO+26 case INNO > 90 inno = INNO-26 otherwise exit endcase enddo return INNO -------------------------------------------------------------------------------- 【经验总结】 该软件的注册算法大致如下: 1、将不足25位机器码在右边补0 2、设置循环生成注册码 3、交叉取机码和生成码,其中生成码减去传入参数inusers,截取字符串开始为取1-25/30的余数 4、返回前25位为注册码 5、注册机已编写完毕 由于本人用PB编程只好用PB编写注册机了。以下为代码: string outmsg, cbaseid,inmsg int nstep,inusers long nmod //inmsg=trim(sle_jqm.text) inmsg="你的机器码" inusers=427 cbaseid = "SDFSDFSDFSLFDKGL09345-=2389234" outmsg = "" for nstep = 1 to LEN(INMSG) nmod = MOD(NSTEP,LEN(CBASEID)) outmsg = OUTMSG+CHAR(keymove(ASC(MID(INMSG,NSTEP,1))+ASC(MID(CBASEID,NMOD,1))-INUSERS)) end for sle_xlh.text=outmsg key函数 do while true choose case inno case is <65 inno = inno+26 case Is > 90 inno = inno - 26 case else exit end choose loop return inno 以上分析的比较简单,希望大家不要见笑!! -------------------------------------------------------------------------------- 【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢! 2007年03月26日 13:01:01 --> 此帖于 2007-03-27 12:23:19 被 csshrb 最后编辑 [公告]如果你觉得有人语言挑衅,请点每帖右上角的“举报”按钮! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 笨笨雄 『初学者园地』区版主 资 料: 注册日期: Sep 2006 帖子: 3,470 积分:140 --> 精华: 13 现金: 571 Kx 资产: 571 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 2 2007-03-27, 14:04:09 VPF反编译怎么象看源代码一样。。。。。。。 [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! 笨笨雄 查看公开信息 查找 笨笨雄 发表的帖子 查找 笨笨雄 发表的所有主题 查看 笨笨雄 发表的精华帖 csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 3 2007-03-27, 14:07:15 是我粘到记事本里,规距了一下!反编译后只有两个有用的prg排了一下! [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 4 2007-03-27, 16:33:40 不知道什么时候能用论坛的ftp!有什么条件吗? [招生]"麦洛克菲"内核驱动开发培训3月15日开课,看雪会员报名优惠200元! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 binbinbin 高级会员 资 料: 注册日期: Sep 2006 帖子: 683 积分:7 --> 精华: 28 现金: 202 Kx 资产: 202 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 5 2007-03-29, 08:38:20 长知识了今早上,嘿嘿原来foxtools这个软件能把vfp分析得如此清晰,哇靠。非常感谢楼主分享。 还有,pb源码不错 [招生]"麦洛克菲"内核驱动开发培训3月15日开课,看雪会员报名优惠200元! binbinbin 查看公开信息 访问 binbinbin 的个人网站 查找 binbinbin 发表的帖子 查找 binbinbin 发表的所有主题 查看 binbinbin 发表的精华帖 csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 6 2007-03-29, 09:27:49 其实破解软件,对要破的的软件功能了解一些对破解来说是非常有帮助的!比如上面的软件是VFP编写的,要是能反编译就的能读VFP了。还好,有GOOGLE可以搜索哈 能看懂。看来汇编应该是万能的了。本人开始学习汇编了!争取能看懂反汇编的结果! [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 windtrace 初级会员 资 料: 注册日期: Jan 2005 帖子: 216 精华: 0 现金: 203 Kx 资产: 203 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 7 2007-03-29, 11:23:58 太猛了,完全不用OD啊 [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! windtrace 查看公开信息 查找 windtrace 发表的帖子 查找 windtrace 发表的所有主题 csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 8 2007-03-29, 12:37:21 哈 对付VFP的程序主要还是看怎么脱壳或解密,的到工程文件,就什么都好办了。 [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 wwzc 初级会员 资 料: 注册日期: Jul 2006 帖子: 50 精华: 0 现金: 244 Kx 资产: 244 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 9 2007-03-29, 13:09:53 VF软件没有什么深度 VF软件没有什么深度 由于能反编译成源码。 vf和PB一样都属于没有技术的语言,你抄我的,我抄你的。 也拥有大量初级用户,水平永过提不高。 写不出来的时候就反一个写好的改一改。 所以中国的进销存医院管理,只要是vf和pb开发的都大同小异, 你能做出来我就能反出来。 看来微软放弃vf是对的。 不知道sysbase公司什么时候放弃pb. [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! wwzc 查看公开信息 查找 wwzc 发表的帖子 查找 wwzc 发表的所有主题 csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 10 2007-03-29, 20:18:05 楼上说的,有不同看法!VFP和PB的程序能完全反编译吗?恐怕不能 要是破解的话,这两种调试还是很麻烦的。再说一般软件的加密本省就没什么技术含量。所以破解容易。如果要是报加密算法封装到DLL 你这么反编译啊 !论坛力关于PB的破解非常少。我觉得pb的破解还是有一定难度的!就像VB! [公告]如果你觉得有人语言挑衅,请点每帖右上角的“举报”按钮! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 11 2007-03-30, 09:34:55 那位有PB软件调试破解的心得能分享一下吗? [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 msvcp60 初级会员 资 料: 注册日期: Sep 2004 帖子: 69 精华: 0 现金: 200 Kx 资产: 200 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 12 2007-03-30, 10:13:30 的却VF,PB反编译后 读起来比ASM简单些,毕竟是高级语言,呵呵 [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! msvcp60 查看公开信息 查找 msvcp60 发表的帖子 查找 msvcp60 发表的所有主题 csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 13 2007-04-01, 14:32:39 还是希望出现更好的反编译工具啊!! [公告]如果你觉得有人语言挑衅,请点每帖右上角的“举报”按钮! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 csshrb 普通会员 资 料: 注册日期: Dec 2005 帖子: 140 精华: 1 现金: 205 Kx 资产: 205 Kx--> 致谢数: 1 获感谢文章数:0获会员感谢数:0 14 2007-04-02, 19:27:30 高级语言不知道那个好破解一些!还是看自己熟悉那种语言,就觉得那个好破吧!! [招生]15PB软件安全培训第3期3月10日开课,看雪会员报名6折优惠(16,800元)! csshrb 查看公开信息 查找 csshrb 发表的帖子 查找 csshrb 发表的所有主题 查看 csshrb 发表的精华帖 疯狂菜鸟 BAN 资 料: 注册日期: Oct 2006 帖子: 409 精华: 0 现金: 0 Kx 资产: 0 Kx--> 致谢数: 0 获感谢文章数:0获会员感谢数:0 15 2007-04-02, 23:14:15 真强悍学习 收藏先``` [招生]"麦洛克菲"内核驱动开发培训3月15日开课,看雪会员报名优惠200元! 疯狂菜鸟 查看公开信息 访问 疯狂菜鸟 的个人网站 查找 疯狂菜鸟 发表的帖子 查找 疯狂菜鸟 发表的所有主题 第 1 页,共 3 页 1 23 > 添加到书签 Digg del.icio.us StumbleUpon Google 百度搜藏 QQ 书签 雅虎收藏 该主题: "【原创】XX迷你进销存医药版注册码算法分析(适合初级)" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。 &laquo; 上一主题 | 下一主题 &raquo; 主题工具 显示可打印版本 显示模式 平板模式 切换到混合模式 切换到树形模式 发帖规则 您不可以发表主题 您不可以回复帖子 您不可以上传附件 您不可以编辑自己的帖子 论坛论坛启用 vB 代码 论坛启用 表情图标 论坛启用 [IMG] 代码 论坛规则 论坛跳转 --> 用户控制面板 悄悄话 收藏夹 会员在线状态 搜索论坛 论坛首页 初学者园地 『求助问答』 『经典问答』 『资料导航』 Windows 『软件调试逆向』 『编程技术』 『C32Asm』 『MDebug』 『安全工具开发』 『加壳与脱壳』 『CrackMe&ReverseMe』 移动平台 『Android 开发』 『Android 安全』 『iOS安全』 『Windows Phone安全』 信息安全 『密码学』 学术会议版 『WEB安全』 『漏洞分析』 『云计算安全』 『外文翻译』 『资源下载』 职场风云 『招聘专区』 『职业生涯』 『15PB培训专区』 论坛生活 『茶余饭后』 『安全资讯』 『论坛活动』 6)PEDIY Crackme竞赛2009 7)看雪十周年专版 8)腾讯公司2010软件安全竞赛 9)2011 Exploit Me竞赛 安全图书 『图书项目版』 《加密与解密(第三版)》 《C++反汇编与逆向分析技术揭秘》 《Android软件安全与逆向分析》 『图书出版商』 『电子工业出版社』 『机械工业出版社』 站务管理 『论坛版务』 所有时间均为北京时间, 现在的时间是 02:36:23. -- VBB3 -- Wap -- 大字体 -- English -- 简体中文 -- 繁體中文 联系我们 - 看雪学院 - 文字模式 - 返回顶端 &copy;2000-2013 看雪学院(PEdiy.com) |关于我们 |京ICP备11035376号 微信公众帐号:ikanxue 手机客户端: