Only1Studio 发表于 2022-1-2 21:38

一个易语言无壳个人验证辅助破解分析和思路

环境:吾爱破解XP虚拟机,Win11主机
工具:OllyDbg
程序:某车游戏定时秒杀道具辅助
此程序是我的朋友写的,经他同意后发布,不带原程序和成品。
验证成功登录之后是这个样子

由于作者是我朋友,我提前得知有暗桩,验证非法后触发蓝屏,结束自身和删除自身。
那接下来我们就一一解决吧!
首先拖进OD,易语言程序我有个习惯,就是首先尝试push窗体。使用插件EWND枚举出8个窗口ID,挨个载入试试

通过窗口push得知一下有效信息
1 52010001--------无响应
2 52012F9F--------编辑账号窗口
3 52012FA5--------编辑账号窗口
4 52019FBB--------无响应
5 52019FBC--------系统消息窗口
6 52019FBD--------无响应
7 5201B1C6--------超级文本整理窗口
8 5201B1C8--------发现新版本窗口

看来EWND插件也不能push出主功能窗口,但是我不死心,我要到易语言体,找到启动程序载入的第一个窗口ID,再push一下试试。
Ctrl+B,输入FF25

都知道啥意思吧?
在这里再测试一下我们用EWND获取的窗体ID,由于已经知道了2,3,5,7,8对应的窗体了,而且1是程序启动后载入的第一个窗体,也就是登录页面
那只要试试4和6也就是52019FBB和52019FBD

4是登录界面,6也是系统消息界面
那么我们得知有效消息
1 52010001--------程序启动后载入的第一个窗口(登录界面)
2 52012F9F--------编辑账号窗口
3 52012FA5--------编辑账号窗口
4 52019FBB--------登录界面
5 52019FBC--------系统消息窗口
6 52019FBD--------系统消息
7 5201B1C6--------超级文本整理窗口
8 5201B1C8--------发现新版本窗口
从中得知1和4都是登录界面,其他也都不是主功能窗口,那主功能窗口去哪里了呢?另外4也就是52019FBB这个窗口ID很可疑,先留意一下。
我自己写了一个程序,想验证是否可以点击帮助按钮后,直接载入功能窗口呢?

将此测试程序载入OD后分析
自己写的测试程序太简单了,都不用下按钮断点,就知道哪里是按钮事件了,我将帮助按钮的按钮事件全部nop掉,然后直接jmp到载入窗口的函数,结果为我按下帮助按钮后载入功能窗口

同理,我也可以直接把登录按钮的按钮事件全部nop掉,直接jmp到载入窗口的函数。
回到主题,我可不可以把登录按钮的按钮事件nop掉,直接jmp到载入主功能窗口的函数呢?
通过下按钮断点(Ctrl+B搜索易语言按钮事件特征码FF 55 FC 5F 5E),一步一步跟踪到登录按钮的按钮事件头部,细心的我观察到了下面出现了很多4的窗口ID----52019FBB

本来就觉得可疑,又在登录按钮事件里看到了,我感肯定这个窗口ID就是主功能窗口的ID了,那我该怎么定位载入窗口的函数呢?
我的土方法是一个一个试,Ctrl+B搜索push 0x52019FBB,将所有搜索到的函数头部地址记录下来
00499B74/.55            push ebp

00499BAE/.55            push ebp

有点多就不截图了,全部搜索并复制完共计36个
00499B74/.55            push ebp
00499BAE/.55            push ebp
00499ECE/.55            push ebp
0049A004/.55            push ebp
0049A02E/.55            push ebp
0049A058/.55            push ebp
0049A088/.55            push ebp
004C48F2/.55            push ebp
004C5311/.55            push ebp
004C579B   $55            push ebp
004C5988/.55            push ebp
004C617D/.55            push ebp
004C6342/.55            push ebp
004C63F3/.55            push ebp
004C64CD/.55            push ebp
004C8312/.55            push ebp
004C836B/.55            push ebp
004C8399/.55            push ebp
004C83F2/.55            push ebp
004C844B/.55            push ebp
004C84A4/.55            push ebp
004C84FD/.55            push ebp
004C8556/.55            push ebp
004C85AF/.55            push ebp
004C8608/.55            push ebp
004C8661/.55            push ebp
004C86BA/.55            push ebp
004C8713/.55            push ebp
004C8CAC/.55            push ebp
004C8D92/.55            push ebp
004C8DFC/.55            push ebp
004C8E55/.55            push ebp
004C93A2/.55            push ebp
004C9528/$55            push ebp
004C975F/.55            push ebp
004C9983/.55            push ebp
这些地址就是包含了push 0x52019FBB的函数头部,不知道能不能理解为每一个地址都是一个子程序的开始?
接下来就是大工程了,先将登录按钮的按钮事件全部nop掉

然后jmp到上面这36个地址,一个个地试,因为按照我的想法,总有一个是载入主功能窗口的。

本以为是个大工程,没想到第二个就是呢?
哎呀,稀里糊涂的,怎么就给我进来了呢?以前也玩过撞库,没想到这也能撞对?
至此我们已经进入到主功能窗口了,点击启动,一个措不及防的蓝屏。
哈哈,原来启动还有个二次验证非法呢,蓝屏还是不好的,我们先将修改保存,然后转战到虚拟机吧。
防止我们调试的时候不小心触发暗桩了呢,先把蓝屏都去除吧,通过蓝屏探寻插件找到3处,我们定位过去把段首retn了,注意我这个retn后面的跟的参数是到段尾找到的,一定要首位对应
尾部是retn,那头部的push ebp也改成retn,如果跟参,那我们也把参数带上。比如此处就是retn 0x20

三处都处理好之后,再点击启动就不会再触发蓝屏了,但是结束自身和删除自身还在呢?这个我没有处理,而是采用最简单原始的办法,备份原程序。
下按钮事件断点,断下之后F7进入CALL,就到了这个位置,这里就是启动按钮的按钮事件了,地址是0045EC7E先记录下来

然后F8一步一步往下走,走到这里有一个很长的已经实现的跳转0045ECB4

再一次F8,就跳转到这个CALL,

本来想F7进这个CALL,结果手快按了一下F8单步跟踪,程序就终止了,而且释放了一个tem.vbs
哟呵,删除自身!

那好办了,把那个已经实现的跳转0045ECB4给nop掉再点击启动按钮试试

启动按钮的处理好了,接下来就是立即秒杀按钮的非法验证了,同样,下按钮断点后跟踪到立即秒杀按钮的按钮事件

然后F8单步跟,

一个很长的,未实现的跳转,再F8一次到下面的CALL,程序就结束了,而且同样释放了tem.vbs。
JNZ是啥,不知道没关系,咱去百度搜,
JNZ不等于则跳转
JE 等于则跳转 同JZ JNE

修改JNZ为je后,点击启动秒杀,提示请刷新飞车。
至此破解成功!

shi992 发表于 2022-1-22 22:18

大神,可以帮分析一下我一个安卓APP软件之前一直正常使用现在用不了,没有任何注册界面,类似游戏蜂窝的软件,https://wwm.lanzouw.com/ipe98z3oi8d
密码:7gsw,感谢感谢!

Only1Studio 发表于 2022-1-23 11:54

shi992 发表于 2022-1-22 22:18
大神,可以帮分析一下我一个安卓APP软件之前一直正常使用现在用不了,没有任何注册界面,类似游戏蜂窝的软 ...

同学我不会安卓逆向

Only1Studio 发表于 2022-1-2 21:46

最后面3张图请忽略,忘记删了{:1_925:}

囚徒灬 发表于 2022-1-4 11:02

程序发出来玩玩

Only1Studio 发表于 2022-1-4 12:33

囚徒灬 发表于 2022-1-4 11:02
程序发出来玩玩

作者未同意我发原程序,不好意思哈。

风入白袍 发表于 2022-1-4 14:06

卧槽   牛 666

kll545012 发表于 2022-1-4 16:22

程序UI界面很不错

一米七五 发表于 2022-1-4 19:04

Only1Studio 发表于 2022-1-2 21:46
最后面3张图请忽略,忘记删了

故意的你懂

nuanyang001 发表于 2022-1-4 21:56

卧槽   牛 666

nishiwnagbaji1 发表于 2022-1-5 08:30

同上登录界面不错

Sqfighting 发表于 2022-1-5 09:28

厉害厉害!
页: [1] 2 3
查看完整版本: 一个易语言无壳个人验证辅助破解分析和思路