从鼎龙大厦20层的落地玻璃墙看出去,中官村的繁华一览无遗。
五年前,张至诚隔窗眺望时,心里是一览众山小的成就感,现在他感觉到的却是悬崖边的阵阵寒风。
已经到开发尾声的app是他这辈子最大的赌博,这个叫“梦真魔镜”的app可以用手机体验虚拟试衣。虚拟试衣并不是新鲜玩意,市面上也有了手机虚拟试衣的app,“梦真魔镜”不一样。它不仅可以让人自拍后跟服装、鞋帽和皮包之类的装饰品实时合成,还可以把手机当成3d扫描仪现场扫东西。
没错,把手机变成手持3d扫描仪才是“梦真魔镜”的本质,只是软硬件技术都还不够成熟,只能用来玩,所以才把用途定位在虚拟试衣上。
即便如此,“梦真魔镜”的商业价值也足以震动整个行业,之前几次小规模的技术演示,已经让十几家投资公司追上门来开盘口,都是几千万的规模。
张至诚都拒绝了,他缺钱,为了这个app,他已经把公司所有的利润,连带他的老本全压了上去。可他对“梦真魔镜”有百分之二百的信心,投资公司丢下几千万就想拿走公司的大把股份,他真答应了,以后会后悔得要死。
现在他真有些后悔了,自己不该拒绝得那么干脆。
在app进入测试阶段时,张至诚发现自己忽略了一个巨大的威胁:反编译,也就是破解。
“梦真魔镜”的核心价值是代码,而现在的安卓app,反编译不要太简单,毕竟是开源体系。苹果的难一些,但对高手来说,只要肯下工夫,也没有破解不了的。
张至诚一直在国外留学,五年前带着技术回国创业,业务跟手机没关系,对国内的版权问题没什么深刻认识。现在他才明白,“梦真魔镜”的代码如果得不到有效保护,一旦上市,不到一个月,同样的app就能遍地开花,而他对这些强盗毫无办法。上法院?拖你个两三年,就算讨回了公道,强盗已经吃饱洗白,统治了市场。
这段时间张至诚所有精力都放在反破解上,不指望别人永远破解不了,只要把难度提升到高手也要花相当长时间就够了。他估算过,只要三个月内不被破解,“梦真魔镜”就能圈完市场。
张至诚是编程高手,他把自己当作未来的潜在破解者,寻求各种反破解手段。然而不管是公司里的技术骨干,还是他相熟的其他高手,交出来的东西,在他手上都熬不了两天。
收拾心神,张至诚一条条删着邮箱里的垃圾邮件,暗叹自己真是病急乱投医,居然跑到同城网站去发招聘信息,结果收了一堆广告。
正删得手酸,一条主题明显不同的邮件进入他的视线。
“重点是so库保护吗?我可以试试。”
点开邮件,正文只有一个qq号。
应该是个科班出身的码农吧,写邮件就跟写代码似的。
张至诚想了想,上qq把这个“蝉思动”加了好友。
他已经不抱什么希望,就像他在微软、苹果和ibm的朋友说的那样,要让别人三个月内破解不了,至少得下半年工夫,现在他已经没有半年时间了。能做的只有在市场推广上动作快点,抢在破解前圈到尽可能多的地盘。
不过跟人聊聊,说不定会有新思路。
【说下你的大概方向吧,是加壳、二次打包还是指纹校验?】
张至诚发去信息,一般的安卓app都是java写的,虽然有混淆、加壳、数字签名、二次打包等保护方法,但java本身就很容易逆向,所以反编译没什么难度。
“梦真魔镜”和大多数手游一样,java只是写界面,底层是c/c++写的,核心代码放到so库里,可以提升运行效率,也方便保护。so库文件就相当于windows的dll文件,保护住它就保护住了核心代码。
目前so库保护也就加壳、二次打包这些方法,大家都已经熟悉了,高手破解起来也不是太难。
【都不是,可以给个程序先试试,具体报酬是多少?试过后能先付一半吗?】
“蝉思动”的回复让张至诚想右上角,so库保护就这些路子了,你还能凭空变一个出来?还问多少钱,五毛你要不要?
【一周内我反编译不了,就给你十万!】
他咬着牙回复,再找了个app的源代码发过去。
“刚学编程的吧,不知道天高地厚……”
张至诚摇头苦笑,他想起当初自己刚留学那会,也是自负得不行,结果在一帮巨巨面前落得灰头土脸。面对这种后辈,他还是有耐心教教对方什么叫现实。
【好,三天后回你。】
这次张至诚利索地右上角了,三天就能搞定?以为是写“helloworld”啊?
这只是一个小插曲,忙起来就忘了。到第三天打开qq,“蝉思动”发来一个文件,张至诚才记起有这么回事,可他正忙,没理会。中午约了一个高人,是国内一家互联网巨头的技术总监,安全方面造诣很深,他得准备资料。
到了中午,张至诚正要关电脑,记起这事,把文件收了下来。是之前他给那个“蝉思动”的app,已经重新打了包。算算还有半个小时,抱着“告诉那家伙现实有多残酷”的心思,他开始反编译这个app。
先上dex2jar和jd-gui这样的反编译工具,这是小白都会用的,如果连这一关都过不了,中午自己就有了新的谈资。
嗯,果然有点门道,一般工具对付不了,不过看起来像是加了外壳,难道是壳中套壳?
张至诚的兴趣上来了,这一步搞不定,就从内存入手。就算是so库加壳,都是在内存中调用,分析内存就能脱壳。
把内存工具把数据抓出来,看着一串串的字符,他愣住了,内存的状态不太对啊,数据为什么会是这个样子的?这完全不认识啊!
这一刻,张至诚仿佛回到了大学时代,第一次上linux课的时候,老师在念:“这是bss段、data段、rodata段、text段”,而他对着计算机满屏的八位数干瞪眼。
83书屋:(www.83shu.com)