吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1020|回复: 19
收起左侧

[求助] 求助软件解包问题

  [复制链接]
朱朱你堕落了 发表于 2024-9-12 20:03
1000吾爱币
本帖最后由 朱朱你堕落了 于 2024-9-15 13:26 编辑

悬赏区坛友求助的一个软件问题:
https://www.52pojie.cn/thread-1963499-1-1.html

刚开始看别人说的很悬乎,下载后研究一下,基本了解了软件验证套路。
而我想问的非软件验证问题,而是关于解包的。

通过监控安装过程可以发现,软件在安装过程中向注册表项写入一段数据

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{8884600D-02FB-4944-8458-B49DBADBC532}
InstallDateTime键值是20位的十六进制,这个十六进制反正是个安装时间。

我现在想知道的是,这里面的十六进制到底代表什么,或是说这20位的十六进制是被如何转化后写入注册表的,最好的
办法就是解包了,看看源代码是如何写的,使用InnoExtractor解包(我也第一搞这个),发现安装脚本里面并没有
关于操作注册表的代码,那可能操作注册表的应该是写到了Inno Setup脚本的Code部分了吧,
我也是猜的,对Inno软件不熟悉,那么Code部分在哪里呢?

我的目的就是找出来把安装时间写入注册表的这段代码,我看看他到底是如何实现的。
另外请问,InnoExtractor解包出来的CompiledCode.bin这个是干什么用的?作用是啥.



软件地址:
https://www.123pan.com/s/YL29-K7TRh

最佳答案

查看完整内容

██████▓刮开有奖▓██████

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

HonDmOon 发表于 2024-9-12 20:03
本帖最后由 HonDmOon 于 2024-9-13 16:07 编辑

██████▓刮开有奖▓██████
烟99 发表于 2024-9-12 20:20
这个我知道,想当年我也是玩InnoSetup玩出名堂的,CompiledCode是已经编译过的[code]段脚本,它不能被还原成Delphi源码,只能反汇编

点评

那如何反编译CompiledCode.bin呢?反汇编后和普通delphi程序反汇编效果那样?  详情 回复 发表于 2024-9-12 20:32
 楼主| 朱朱你堕落了 发表于 2024-9-12 20:32
烟99 发表于 2024-9-12 20:20
这个我知道,想当年我也是玩InnoSetup玩出名堂的,CompiledCode是已经编译过的[code]段脚本,它不能被还原 ...

那如何反编译CompiledCode.bin呢?反汇编后和普通delphi程序反汇编效果那样?

点评

我记得InnoExtractor自带反汇编CompiledCode的工具,但那个是付费功能,免费的我也不清楚有什么,另外需要注意,有的InnoSetup是用的第三方基于软件源码开发的增强修改版,用那种编译器输出的安装包无法解包,应该是  详情 回复 发表于 2024-9-12 20:46
烟99 发表于 2024-9-12 20:46
朱朱你堕落了 发表于 2024-9-12 20:32
那如何反编译CompiledCode.bin呢?反汇编后和普通delphi程序反汇编效果那样?

我记得InnoExtractor自带反汇编CompiledCode的工具,但那个是付费功能,免费的我也不清楚有什么,另外需要注意,有的InnoSetup是用的第三方基于软件源码开发的增强修改版,用那种编译器输出的安装包无法解包,应该是头部文件加密了
烟99 发表于 2024-9-12 20:50
一般注册表操作不在CompiledCode里,除非要进行一些比如带条件判断的那种比较复杂的操作,因为inno有自己的注册表操作机制,你看解包后的iss脚本里有没有Registry段,如果没有,那就是写入CompiledCode里了

点评

iss脚本里没有Registry段,如何反编译CompiledCode.bin,使用什么工具或方法?  详情 回复 发表于 2024-9-13 08:31
HonDmOon 发表于 2024-9-13 08:31
本帖最后由 HonDmOon 于 2024-9-13 09:06 编辑

Inno Setup Decompiler
idssetup.png

下载: github.com/dscharrer/innoextract/files/5507287/isdsetup.1.5.exe.zip
来源: github.com/dscharrer/innoextract/issues/106
NO TESTING

简单用了下,注意事项
1. ids只能解析 ids 自己解包出来的 “CompiledCode.bin”,InnoExtractor 解包出来的无法解析



免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
朱朱你堕落了 + 3 + 1 感谢大佬分享,我下载下来看看。

查看全部评分

 楼主| 朱朱你堕落了 发表于 2024-9-13 08:31
烟99 发表于 2024-9-12 20:50
一般注册表操作不在CompiledCode里,除非要进行一些比如带条件判断的那种比较复杂的操作,因为inno有自己的 ...

iss脚本里没有Registry段,如何反编译CompiledCode.bin,使用什么工具或方法?

点评

那就是在CompiledCode里了,似乎是谁家的解包工具才能反编译谁家的CompiledCode,6楼的截图也看到了,反编译出的脚本并非源码,有点类似于汇编,但是按道理讲注册表操作依然能够从里面看到  详情 回复 发表于 2024-9-13 09:54
HonDmOon 发表于 2024-9-13 09:00
本帖最后由 HonDmOon 于 2024-9-13 09:02 编辑
朱朱你堕落了 发表于 2024-9-13 08:31
iss脚本里没有Registry段,如何反编译CompiledCode.bin,使用什么工具或方法?

不同看了,通过脚本 install_script.iss,这个软件在安装后执行了如下操作
[Run]
Filename: "{app}\xxxxx.exe"; Parameters: "/Install"; MinVersion: 0.0,6.0;

"xxxxx.exe / Install" 的操作就是写入安装时间,主要逻辑还是在 xxxxx.exe 中

复现方式
1.删除
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Classes\CLSID\xxx 注册表项
2. cmd 执行指令
"xxxxx.exe /Install"

点评

大佬,我想不通的话, 这个选项,我都没有勾选,相当于软件都没有运行,他怎么会操作注册表呢,不应该是安装脚本写注册表值吗?  详情 回复 发表于 2024-9-13 09:07
 楼主| 朱朱你堕落了 发表于 2024-9-13 09:07
本帖最后由 朱朱你堕落了 于 2024-9-13 09:08 编辑
HonDmOon 发表于 2024-9-13 09:00
不同看了,通过脚本 install_script.iss,这个软件在安装后执行了如下操作
[Run]
Filename: "{app}\xxx ...

大佬,我想不通的是,


这个选项,我都没有勾选,相当于软件都没有运行,主程序(xxx.exe)怎么会操作注册表呢,不应该是安装脚本写注册表值吗?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 12:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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