wanao2008 发表于 2020-8-7 15:38

被“精科电脑算命”狂虐!

本帖最后由 wanao2008 于 2020-8-8 09:51 编辑

2020年3月份,由于新冠疫情没上班,就开始学习逆向,因为有一款算命软件感觉很不错,
但是必须注册才能使用,就是“精科电脑算命”这款软件。因为只是玩玩,不是用来盈利,
所以就不想花120元注册!心想,我学会了逆向就一定可以搞定它,没想到适得其反。

先说说我要达到的目的吧:
一、去除烦人的NAG

20200808补充,终于找到去NAG方法:
00410819      68 01000152   push 0x52010001
改为:push 0x520100C7
成功

二、变成注册版,去除限制

就这二个目的,没想到,一个也没完成,还搞的我是极度崩溃。
关键还是水平太洼。看来还得继续学习啊!
其实,这期间我还下载了一个破.解.版想要学习一下,没想到也是不能用。就是下面这款。


既然不能破.解.注册,那就另辟蹊径吧。
一、逆向20次试用
让试用变的无限制,不就和正版一样了吗?

说干就干,先查壳:

显示无壳,VC6程序,但是我怎么感觉是用E语言编的呢?
既然无壳,那就OD载入,先从提示“对不起,......”找起,

这里说一下,找“对不起”会找到很多条,跟踪后确定上图关键处。
找到后双击,来到代码处:

向上看到了数字0x14,转为十进制就是20,如果把数字改大会不会就能一直用呢?
先不改,继续向上找有用的信息。
找谁?总不能瞎找吧?
当然是找与14比较的这个地址inc dword ptr ds:(即:使用次数变量),看谁在改写它了。

找到一个改写它的地方,
这里把eax变成0x1,即:mov dword ptr ds:,0x1
不就永远都是1次了吗?
真要想改,就得HOOK方法,虽然HOOK比较高大上,但是我还是比较喜欢直接在代码上下手。
继续向上,看还能不能找到些线索:

继续向上,发现了会变化的代码处:红色的框处和黄色的框处。
在此下断后,由于不够准确,可能断不下来,最好到这段程序(函数)的首地址处下断。
地址:00408F0C/$55            push ebp
断下后,按F8跟踪,原来黄色的框处的真实代码为:
00408F5A   ?FF05 3C915400 inc dword ptr ds:
原来是“使用次数变量”自加一,那就改一下试试,改为如下:
dec dword ptr ds:
就是让“使用次数变量”自减一,经测试成功。
即然找到了关键点,怎么改呢?当然是NOP大法了。

就是对“使用次数变量”不做任何操作,永远保持原来的数。
成功!
成功是成功了,但是我想打印怎么办呢?
二、将文本复制出来,想怎么打就怎么打,想怎么编就怎么编。
虽然未注册版不能打印,但是可以“打印预览”:

使用“Shift+下”键可以选择文本,使用Ctrl+C可以复制文件,
但是会提示无权使用。既然有提示就好办,
OD里搜索文字“干什么”:

双击来到代码处:

向上找到关键跳,改为JMP后,文本成功复制出来:

目前只做到了这两点。有时间继续研究,学无止境!大家加油。

对了,程序是我网上下载的,大家百度一下,很容易找到。

去不掉NAG,我不甘心!

20200807晚补充:
晚上又对程序研究了一下,发现有3个提示框很烦人,去除方法如下:

第一次使用时会出现软件介绍窗口
去除方法:
004095C2   . /0F84 36000000 je jksm.004095FE
找到地址,把je改成jmp




不定期(分析代码才知道,0x2,0x5,0x7,0xA,0xF次数时出现)的会出现推算次数和软件注册窗口。
去除推算次数窗口的方法:
004132CE   .6A 00         push 0x0
把push 0x0 改为push 0x1

去除注册窗口的方法:
004094CB    6A 00         push 0x0
改为:jmp short jksm.004094F2

真麻烦,能不能简单,简单,简单?

能!!

分析后找到了判断次数的关键代码处:

将:    00409390   EB 01               jmp short jksm.00409393
改为:00409390   E9 73020000   jmp jksm.004095FE
成功!再也没有烦人的弹窗了。

20200808补充:去除点击“打印”时的弹窗

把:00407434   /EB 01         jmp short jksm.00407437
成为:00407434   /EB 06         jmp short jksm.0040743C






zzzxc123 发表于 2020-8-8 15:50

wanao2008 发表于 2020-8-8 14:42
非常感谢您的回复!
经测试,完成正确。可是,我要学的是逆向的方法。
能否赐教?


我感觉打印功能被阉割了 这应该就是一个试用版本
00407403下断点就会发现没有任何判断 直接提示未注册

dowdndx 发表于 2020-8-7 16:38

本帖最后由 dowdndx 于 2020-8-7 16:41 编辑

虽然nop三处地方可以直接变成注册版,但软件有重启验证(每次使用都要点注册,挺麻烦的)。需要再考虑考虑

zzzxc123 发表于 2020-8-7 17:08

00409D94|.83C4 1C         add   esp,0x1C位异或返回取EAX值 转换十进制为密码


00409FA5|.3945 F8         cmp   ,eax       取EAX值 转换十进制为注册码

但我还是感觉有点问题

wanao2008 发表于 2020-8-7 19:05

dowdndx 发表于 2020-8-7 16:38
虽然nop三处地方可以直接变成注册版,但软件有重启验证(每次使用都要点注册,挺麻烦的)。需要再考虑考虑

首先,感谢回复,我会更加努力创作更好的作品。
其次就是这个软件我根本没有逆向,只是将试用次数限制去除了,所以该出注册提示的还是要出的,等我再研究一下,看能不能去除注册提示。

wanao2008 发表于 2020-8-7 19:11

zzzxc123 发表于 2020-8-7 17:08
00409D94|.83C4 1C         add   esp,0x1C位异或返回取EAX值 转换十进制为密码




怎么我和你提供的地址处信息不一样呢?是不是版本不同?

00409D94   /74 09         je short jksm.00409D9F

00409FA4   /74 15         je short jksm.00409FBB
00409FA6   |50            push eax
00409FA7   |8BD8            mov ebx,eax
00409FA9   |E8 0274FFFF   call jksm.004013B0



zzzxc123 发表于 2020-8-7 19:25

wanao2008 发表于 2020-8-7 19:11
怎么我和你提供的地址处信息不一样呢?是不是版本不同?

00409D94   /74 09         je short jksm. ...

我从你截图软件上面的网址下载的

上帝也撸管儿 发表于 2020-8-7 20:24

本帖最后由 上帝也撸管儿 于 2020-8-7 20:39 编辑

你试一试修改下这里应该一字节可以完爆
上边那个周卫国验证的最恶心。。。逆向技术近几年呆滞不进,就是因为这些人拿别人的软件私自出售,一些交流技术的大牛也懒得发布心得了,以免被小人拿去贩卖。。。逆向技术还是停留很久一些大牛的视频教程。。很少有新的技术出现了。。。期待咱们论坛再次起飞。。。



wanao2008 发表于 2020-8-7 20:45

zzzxc123 发表于 2020-8-7 19:25
我从你截图软件上面的网址下载的

哦,那就不是3.7版,
可以百度一下,下个3.7版的,不然和我的地址对不上,不容易操作

pansophy 发表于 2020-8-7 23:39

慢慢来,你一定可以很快就可以直接PJ了

wanao2008 发表于 2020-8-8 07:52

pansophy 发表于 2020-8-7 23:39
慢慢来,你一定可以很快就可以直接PJ了

感谢支持!
正在努力学习中................
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 被“精科电脑算命”狂虐!