算法 这个文件是用什么算法加密的

serco · 2012年05月07日 · 最后由 skandhas 回复于 2012年05月07日 · 3809 次阅读

文件链接 http://115.com/file/bems8qq2#mh.jws 内容应该是纯英文和数字。求解

这个文件应该是某个 CAD 软件的建模数据文件。看内容应该和钢筋砼框架、框排架、连续梁结构计算等相关。你用 PKPM PMCAD 试一试。

#1 楼 @skandhas 这个就是 pkpm 的数据文件,问题接口不开放。每次用其他软件分析时都非常麻烦。 ps:你应该不是建筑行业的吧,你怎么会知道是结构计算的数据文件的呢?

这属于二进制格式逆向的范畴了。

jws 格式的相关资料,你可以从这个博客上获取。 http://projformat.wordpress.com/ (有可能要翻墙)

还有就是,有可能还需要你自己再进一步的逆向和分析。最终把这个格式搞清楚之后,你自己就能写分析软件了。

#3 楼 @skandhas Many thanks!行业软件好恶心啊。。

#2 楼 @serco 我确实不是建筑行业的~ :)

不过年少时,作为兴趣,做过很多年的软件逆向,也养成了个习惯: 遇到未知格式时,总是先分析一下,看看能否有蛛丝马迹。例如你给的那个 jws 文件中就包含"主梁自重",“活荷折减”等信息,这就是线索。我先 google 了一下“活荷折减”,搜索结果里面提到了 PKPM. 然后再去 PKPM 网站看看是怎么回事。然后再搜索一下“CAD jws 格式”,第一个结果就提到了“PMCAD 中的模型文件 JWS 格式” ---至此就搞清楚了你给的 jws 文件是什么文件了。

#5 楼 @skandhas 比方这个数据文件的逆向应该从什么出发,大致关键词即可,我去慢慢 google 研究下。对逆向完全没概念目前。谢谢提点啊。

#6 楼 @serco 因为要分析一个未知的二进制格式,逆向的重点就放在使用这个格式的软件身上,通过对这个软件的部分逆向,从而得出这个格式的具体结构。所谓部分逆向是指你只要逆向这个软件对这个文件的读取,解析和保存的这几部分代码就行,其他的不需要太关注。

针对软件逆向,如果软件是用C/C++等编译型语言写的,你需要有扎实的汇编功底。如果是用C#等.NET语言写的,你就轻松很多。还有就是下准断点,找到合理的位置,跟踪调试,然后需要的就是你的分析能力了。

工具的话: 1 反汇编工具:IDA 2 调试器:OllyDbg

#7 楼 @skandhas 谢谢,据我所知这个软件的前后处理部分是用 c/c++,计算是用 fortran,这下可苦了。。

#8 楼 @serco 我估计文件 IO 的部分使用 C/C++ 写的。另外,在已有的 jws 格式的相关资料的基础上再作分析,难度就小很多了。至少不是从头分析 :)

需要 登录 后方可回复, 如果你还没有账号请 注册新账号