首页
社区
课程
招聘
[原创]一个嵌入大量代码的玩具。
发表于: 2017-1-8 18:10 5227

[原创]一个嵌入大量代码的玩具。

2017-1-8 18:10
5227

内置一个(如果你够贪心,放一堆也行)动态链接库,让你的程序胖起来。如果你放了一大堆东西,反汇编时被当作数据忽略了,那基本上没有增加难度。
    这个例子中放了WinXP的shell32.dll,故意做了一个调用表(为简单起见,我忽略了形参个数和堆栈平衡,其实根本不会调用它们),用IDA反汇编时会逐个分析这些导出函数。如果你想做得有点迷惑性,需要处理文件头(清零、随机填充或者掐掉文件头重新计算偏移量),对字符串做特征消隐,把导出的函数名全部清掉(都是体力活),并且跟代码放到同一个段中(例子中是.xtext)。
    如果是做注册校验,可以把校验函数跟这些导出函数混在一起(增加、替换、……都行啊,随便你啦。这是手工活,可以做得很简陋,也可以做得很精致),这么大的switch-case逐个静态分析很费事。你需要做的就是如何保证输错了不会把程序崩掉,也不会把操作系统挂掉(这个是技术活,但不难,略)。
    示例而已,没任何实际用途。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 353
活跃值: (57)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
这个是用来转换dll的。使用的是.xtext段,属性是initialized, readonly, execute.

提示一下:比如第一个形参要求是一个有效指针,而你能保证第一个实参永远是0/NULL的话,这样的函数不需要处理,你怎么调用它也不会导致程序崩溃或者系统挂掉。
上传的附件:
2017-1-8 18:16
0
雪    币: 465
活跃值: (398)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢楼主的分享。
2017-1-8 18:20
0
游客
登录 | 注册 方可回帖
返回
//