吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 78|回复: 2
上一主题 下一主题
收起左侧

[原创] 某账本v3.7破解过程

[复制链接]
跳转到指定楼层
楼主
codec 发表于 2026-1-2 16:53 回帖奖励
学习逆向一段时间了,还没有独自实战过,于是有了这次破解过程。



发现是nsPack 加壳,百度查又叫北斗程序压缩。

上论坛查一下有没有nsPack脱壳案例,发现可以用ESP定律脱壳。

EOP:



然后使用Scylla dump下来,自动搜索IAT地址,修复IAT,但是发现运行报错。


入口函数如下

首先他会执行6798C_funcs处所有的函数地址初始化






运行报错就在这初始化函数列表里面,dump如下


大概率可能是需要特殊处理某些函数地址,可能跟下面的反调试有关。

于是放弃修复脱壳,直接x64dbg 动态 + IDA 静态脱壳后dump.exe 结合分析程序注册逻辑。

  2. 找关键点




在逆向过程中,发现主体函数基本都会用到结构化异常处理SEH,形式如下



通过断点CreateWindowsExA,可以断下弹窗注册失败提示


根据栈堆,可以看到密钥和错误关键信息


排查到地址00665D94 即密钥校验的地方,这里用了混淆,导致ida分析不出来

他的特点是,执行完关键程序后,jmp到6663B4,该函数会修改线程上下文,强制改变代码执行流

执行完该函数后,会ret到下面地址,但是该处地址在ida中是上述的函数地址表中的数据。

很明显这是一段代码混淆

这里我没有尝试反混淆,我通过观察栈堆字符串来观察关键函数。

这里操作了可疑字符串,该函数是一个封装的字符串比较函数。




这里断下,F9几次,就来到了关键的字符串比较地方。123456789就是我输入的假码,56是后面拼接



使用33658643 字符串测试一下


3. 学习

既然知道了密钥,那么分析密钥是从哪里产生的,对字符串密钥的源头下硬件写入断点,结果得到如下


L"provider=Microsoft.Jet.OLEDB.4.0;user ID=Admin;Data Source=C:\\Users\\k\\Desktop\\xxx\\Data.ycd;Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"ycrj970129\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False"

使用该密钥,DBeaver Ce去打开,没有看到跟注册码明显的关联表。



由于对作者的尊重,我就不放成品出来了,仅记录破解过程,学习软件防破解思路。

免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
jun358 + 1 + 1 我很赞同!
云在天 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
deniol 发表于 2026-1-3 02:27
财务记账本?
3#
jrjmusic 发表于 2026-1-3 02:46
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-1-3 05:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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