吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2117|回复: 3
收起左侧

[新手问题] 请大佬科普一下API调用时apphelp.dll代{过}{滤}理关键API的机制

[复制链接]
datochan 发表于 2021-7-13 10:42
本帖最后由 datochan 于 2021-7-13 11:01 编辑

最近在分析一款软件的通信协议,调试之后才发现软件加了保护,查壳后发现是 VMProtect v3.00 - 3.3.4。
本能想放弃的我,又迷之自信的感觉带壳调试的时候保护强度并没有多高(至少IAT没改,代码没变形)。所以想着是不是能一劳永逸直接将壳脱掉,也省的每次都patch它的anti-debug了。
脱壳的过程比我预想的还要简单,找OEP,dump都异常顺利,直到修复IAT这一步,有一个API的调用无法修复,如下图:
image.png

此时,我的内心慌的一批,就在迷之自信之神将要离我而去之际,我理了一下思路,感觉可能的情况有如下两种:

  • VMP在解密并回填IAT表的时候,对apphelp.dll做了hook来增加脱壳难度。
  • 此应用程序调用了apphelp中未公开的API。


论坛上找了好多资料,没见过VMP有第一种场景的骚操作(hook这种共用api的代价应该很大)。感觉第二种的可能性比较大。所以就跟踪apphelp.dll,看到底是啥未开放的API。
以为自己写一个dll来hook一下,间接到将此未公开的API导出,然后将主程序的导入表中引入我写的dll,将此IAT修复到我自己dll的导出函数上就可以万事大吉。

奈何我看到了下面的代码:
image.png

查询调用,看一下 EAX+9C 到底是个啥,于是来到了这里:
image.png

具体offset = 0x9C的位置,指向的是user32.dll的CallNextHookEx这个API,如下图:
image.png

因此未识别的IAT项修复为 user32.dll.CallNextHookEx,脱壳完毕,软件完美运行。

正在我洋洋得意的想怎么炫耀才能满足我变态的虚荣心之时,突然发现我这事儿它超出了我的认知范畴。因为这行为怎么看都不像是使用未公开的API,更不像是壳的行为。

所以好奇心驱使之下,我就重新加载了我修复好了的应用程序继续看这个IAT,如下图:


仍然不是直接调用的user32.dll下的CallNextHookEx,而是通过apphelp.dll代{过}{滤}理了一下。
这到底是为啥咧?是微软win系统新的什么保护机制吗?不知道哪位大神了解,能给我等小菜科普一下~

万分感谢~

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

tendy5800 发表于 2021-8-3 03:38
可以请教一个问题吗?就是rsa加密的参数,不懂解密的key能否通过什么思路进行解密吗?因为公密key我拿到了!现在私密是在服务器上的!不懂如何还原解密参数

点评

您好,我看您发帖数量不是新人了呀。问问题应该新起主题,直接在这个帖子底下问与主题不相关的问题很容易被人忽略掉的。毕竟看到的人太少了~ RSA加解密的原理网上有不少科普文章,您搜一下这类文章应该不难发现,  详情 回复 发表于 2021-8-3 09:43
 楼主| datochan 发表于 2021-8-3 09:43
tendy5800 发表于 2021-8-3 03:38
可以请教一个问题吗?就是rsa加密的参数,不懂解密的key能否通过什么思路进行解密吗?因为公密key我拿到了 ...

您好,我看您发帖数量不是新人了呀。问问题应该新起主题,直接在这个帖子底下问与主题不相关的问题很容易被人忽略掉的。毕竟看到的人太少了~

RSA加解密的原理网上有不少科普文章,您搜一下这类文章应该不难发现,这类对512位甚至2048位大整数做因式分解其计算量有多大。要想对这类数据解密,在数学上就已经可以被否定掉了。

因此这类加解密,一般不会单纯的从数据加解密的角度入手,而是看软件的整个验证流程是否有不完善的地方,是否能自己生成公私钥将软件总的公钥替换掉。是否能通过修改软件的验证通讯,用自己的私钥对数据加解密,从而绕过软件的整个验证流程。

以上只是我个人的思路,我的破解经验也不多。您可以发一篇主题出来,大家集思广益,说不定有更多的奇巧淫技呢。
tendy5800 发表于 2021-8-4 00:29
datochan 发表于 2021-8-3 09:43
您好,我看您发帖数量不是新人了呀。问问题应该新起主题,直接在这个帖子底下问与主题不相关的问题很容易 ...

感谢你的回帖,谢谢,因为菜鸟,没有办法,看看能不能需求帮助!我现在是要一个软件试着跑半个月看看!能不能运气好!至于这个我不懂能不能解密出来!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 00:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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