ETERM3.84 三合一插件中创建行程单加密算法学习分析

by Administrator 2013.1.13 13:47

 

中航信于2013年1月1日,三合一正式支持打印国际行程单,也因此对之前明文的指令进行了加密。由于兴趣,让我对它进行了研究,花了两周时间,才把算法全部分析完成。下面我们大至来说说他是怎么处理的:

1、通过抓包工具,我们可以看到,密文由两部份组成,INFO1 和 INFO2。如下图所示:

 


INFO1比较容易分析,仔细观查后发现,他是由10位票号(票号的最后10位)加上6位时间组成。INFO2光是看是看不出来了。如果能看出来的人,那就是神仙了(但是这世上有神仙吗,不知道)

因为我们不是神仙,所以只能从逆向学的角度来分析了。一看INFO2全由字母和数字组成,在大脑中搜索一遍自己熟悉的加密算法,没有找到。可能有人说是BASE64,可BASE64还有别的字符,因此可以肯定不是,MD5? MD5输出是32位,不对。 没办法,只好请教WINDBG大神了, 大神也耐心的作出来如下回答:

1、通过对明文指令(以国内为例: “TRAVELSKY-PRINV 票号,{ITTN={行程单号}}||TIME=6位当前时间”)进行加密处理。

2、加密过程中用到了INFO1,对INFO1 进行了4次MD5,再通过和明白指令进行运算得到最终的INFO2。

航信主机收到密文后,通过逆运算很容易就能得到明白,这样做是保证了整个过程的安全性。在此向不断对软件进行完善的大哥们致敬,此分析只是大概整理一下算法的思路和脉络,仅供学习研究使用。如是你想知道和更多,更细,请学习逆向工程(这是一门博大的学问)

 

 

Tags:

Eterm PID技术相关

关于博主

      什么都懂一点儿,热衷技术,热爱Programming,每有难题,常夜以继日,每有解决方案,手舞足蹈而欣喜若狂;好读书,不求甚解;每有会意,便欣然忘食;常纵情于山水之间,忘乎于尘世之外,唯程序难释怀尔。
       QQ:51557288

归档

最近的评论

声明

本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2011