破解初学者对一款财务软件(财务王)的破解思路
本帖最后由 XC1212 于 2021-2-28 15:14 编辑这是本萌新破解的第二款软件,也是第一款包含暗装的,在此发帖以表纪念,同时给同样新入坑破解的朋友分享一点经验!{:1_927:}
未破解前软件试用期为(软件内部周期)3个月,到期后如图:
软件未加壳(不会脱壳的菜鸡,加壳只能干瞪眼),采用的VB编写,使用的是加密狗验证和网络验证,因此追码方案胎死腹中,加密狗技术太过高端放弃,而破解登录验证时发现程序从点击登录按钮之后到显示登录成功过程中调用的全部是系统CALL且中间没有关键跳,只能宣布难产。因软件自身功能齐全,所以没办法了只能上最终手段强行爆破。
一、爆破试用弹窗
这个步骤可以使用2种方案:
1.简单粗暴下系统弹窗函数断点CreateWindowExA,然后ALT+F9返回到程序领空,这里可以看到返回地址上一条代码便是一个VB相关的系统CALL,无脑NOP掉,结果很惊喜,验证弹窗干掉了,当然这里推荐使用第二种方式。
2.通过按钮事件下断,向下追踪或者在方案1的基础上跟踪子程序返回找到验证程序关键跳转,和后面破解暗装采用的是一个思路。因为菜只能采取最笨的方法,中间通过对CALL进去的每个子程序修改段首为RETN,测试每个段在程序中的功能,推断出暗装所在位置,同时通过对比试用期软件正常运行和超期后功能异常时关键子程序中的跳转,找到2者跳转不一致的位置即为暗装的关键跳。不知道大佬是如何进行判断的,望指正。
二、暗装部分
通过步骤一之后,软件在到期之后已经可以继续使用了,但是经测试发现存在4个暗装
1.明细账功能取数错错误,不影响数据库
2.财务报表功能超过第6期之后会根据当前所在期间将计算出来的数据向下移动对应月份的单元格
3.结账功能会导致合计数据异常,会直接写入数据库文件,一旦触发之后需要对数据库数据进行修正。
4.填制凭证功能会向注册表写入异常数据,导致财务报表取数公式异常。注册表位置:,。
在此提供破解过程中用到的部分子程序地址及对应功能,重点部分就不放出了不然等于白给,有兴趣的朋友可以尝试尝试。
00D33430 push ebp 试用期验证程序
00EB0040 push ebp 填制凭证反破解验证(对应第四个暗装,写注册表)
00E9C4A0 push ebp 期末结账模块(同样需要修改一个关键跳转,否则超过3个月之后结账按钮点击无效,或者在步骤1的时候采用的是第一种方式可以忽略)
00D8F060 push ebp 账表模块(总账,明细账)
原程序官方网站:http://fengsoft.cn/
暗装破解后:
萌新自注册52破解之后第一次发帖,不足之处还望大佬们指正,另外在此感谢 ajm3 在帖子中提到的破解方案,给予了相当大的帮助。
原帖地址:https://www.52pojie.cn/thread-500697-1-1.html
补充说明软件版本4.0 楼主能否提供一个破解好的程序。 菜鸡配小白 发表于 2020-6-7 23:53
有没有更加详细的教程啊
原理就一个,按钮事件下断,弹窗下断,花时间跟程序和对比正常与异常状态的跳转就OK了,反汇编指令啥的都不需要会。在每个子程序的首部下断,然后查看代码中间部分有没有中文字符作为参考,以及直接修改首段为RETN,判断当前子程序在程序中功能并给代码添加注释,分析出可能存在问题的程序段,最后先让程序在正常运行,跟踪程序的判断跳转同时添加注释是否实现跳转,直到运行完毕,再然程序触发限制重新跑一次,看当前跳转与你标注的是否一致,不一致的地方一般就是验证跳转 13427375396 发表于 2020-6-8 09:56
无壳 od搜索注册 上面cmp对比为1就是注册未弄明白谁给al赋值1 论坛需要的也多 求指导教程 万分感谢
直接爆破跳转吧,赋值一般通过CALL来操作的,对于新手而言难度太高,反正我是不会,你可以直接插入代码自己给AL赋值1就行了,原地址修改为JMP 跳到空白处写入代码 MOV AL,0X1 --原地址代码--JMP 原地址下一行地址。你说的这个软件昨天我下载下来了,捣鼓了老半天始终没到试用期······没地方下手,已注册未注册的地方应该只是个单纯的注册显示,实际功能应该依旧处于限制状态 本帖最后由 XC1212 于 2020-6-8 21:46 编辑
13427375396 发表于 2020-6-8 17:37
太感谢了,简单就发现问题。谢谢得到你的回复,输入jmp后系统时间调整到2021年按键全灰,看看能从试用期 ...
改过系统时间了···依然不进行验证 没办法进行尝试 传说中的沙发?支持一下 厉害了大牛 想用这个软件,但看了半天也没学会 有没有更加详细的教程啊 感谢分享,学习下经验 13427375396 发表于 2020-6-7 23:15
请问能否出个收银系统破解教程
https://www.52pojie.cn/thread-1194249-1-1.html
我也是个菜鸡的说···就和帖子上说的一样,加上这个软件一共也就只破解过2个程序,反汇编指令都是一知半解的,堆栈什么的EAX寄存器什么的基本都没接触,使用的最笨的方法破解全靠跟踪对比实现。。。。空了可以看看,有壳的话就无能为力了。 厉害厉害!学习了 做的不错!