昨天,有个朋友给了个软件让我看看,说他有个朋友在深圳开格仔铺,想用这个软件。我一直没搞懂格仔铺这种东西怎么会有人去租呢,据说在日韩很流行,现在国内也有不少年轻人在玩。我想,可能这种模式正好填补了C2C实体店的空缺,看看现在如火如荼的淘宝也许就不难理解了。我家不远就有一间,装修得挺潮流的,改天有空去体验一下。。。
该软件是用于格仔铺管理的,版本是最新的v7.4,分析如下:
首先用PEiD分析主程序GZPManager1.exe,显示“ACProtect V2.0 -> risco *”壳,根据堆栈平衡原理很快找到OEP,然后用LordPE dump下来,再用ImportREC修复IAT,很容易就把该壳脱掉。然后,再用PEiD分析,显示“Borland Delphi 6.0 - 7.0”,表示程序是用Delphi开发的。打开DeDe分析已经脱壳的GZPManager1.exe,我们可以轻松得到“软件注册”窗口“确定”按钮的事件响应函数地址。接下来就可以用OllyDbg调试该函数了。该函数的结构很简单,大概注册码检验过程如下:计算C1=F(F(机器码)),F()是个算法,然后计算C2=F(输入的注册码),最后通过比较C1和C2来判断输入注册码是否有效。从上面原理可以清楚知道当输入注册码等于F(机器码)时,则C1==C2,校验就通过,所以注册机只要实现F()算法就可生成注册码。F()的代码和分析如下:
注册机部分代码如下: