首页
社区
课程
招聘
[原创]一个扭曲了CALL的小程序,看看谁能还原
发表于: 2010-11-16 23:25 9992

[原创]一个扭曲了CALL的小程序,看看谁能还原

2010-11-16 23:25
9992

准备把这功能用在新壳上,CALL都被扭曲了,用OD打开,你会发现CALL的地址都是一样的,嘿嘿,试试看你能用脚本还原吗 不能使用硬编码

ps:测试程序我自己写的一个2进制输出的程序,看个电影,明天继续,写壳方面,希望有前人能加我QQ指导下,以免多走弯路


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

上传的附件:
收藏
免费 7
支持
分享
最新回复 (18)
雪    币: 191
活跃值: (345)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
2
简单看了下.应该是很容易还原了.跟OB的代码解码方法类似.但比那个简单.应该脚本很容易解码.

用脚本找 CALL 00404800 这个CALL.找到后把 EIP 直接指向这里开始执行 在 retn处断两次.之后单步2次就到真实地址了.

用脚本中的一个命令获取下地址,之后还原应该比较容易的吧?
2010-11-16 23:41
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
3
不会吧,我的新发明居然跟别人一样,唉
2010-11-16 23:43
0
雪    币: 191
活跃值: (345)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
4
解码方法类似 Obsidium 壳.但没他的复杂.

你的直接把EIP指向CALL ok了.
他的至少有两种形式的
1 PUSH XXXX 这个 XXXX 可能是密钥
CAL XXXX 这个地址可变的.没次OD载入壳解码后这个地址可能都不同了.

还有种是没有 PUSH XXXX 的.直接CALL后解码的.跟你的方法类似了.
2010-11-16 23:48
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
5
这个方法肯定行,但要是我加了花指令CALL 00404800就不好找了吧
2010-11-16 23:50
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
6
嘿嘿,其实我的壳最终目标是随机加密,还有N多的模板,你这种方法最后肯定是不行的
2010-11-16 23:56
0
雪    币: 191
活跃值: (345)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
7
对于查找 2 进制代码或是CALL,脚本都有命令可直接找的.
2010-11-16 23:57
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
8
哦,原来如此,不过我还是能想出ANTI的方法
2010-11-17 00:00
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
9
我加点不会执行到的CALL 00404800 数据,注意是数据...脚本就能悲剧
2010-11-17 00:03
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
10
对了..call    00404800 在内存中是相对地址...2进制怎么搜索?
2010-11-17 00:04
0
雪    币: 191
活跃值: (345)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
11
call 数据 ?那就进入CALL后判断下2进制是E8 ? E9 ? 是就跑脚本,不是就下一个CALL.

简单说就是这思路了.

OD ctrl +b 找二进制 脚本有命令对应这功能.如果偏移不同.可能 CALL xxxx 二进制码不同.那么就 ctrl+r 找这个CALL 的参考.脚本也有对应的命令来找.
2010-11-17 00:17
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
12
你能用算法还原吗?这个是关键
2010-11-17 10:19
0
雪    币: 191
活跃值: (345)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
13
如果只考虑结果,那么任何可以还原的方法都OK的.脚本可以直接还原,而且简单,为什么要去考虑算法还原呢?要的就是结果嘛.
2010-11-17 10:39
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
14
额,用算法稳定嘛.等我下一个版本你在试试吧
2010-11-17 11:09
0
雪    币: 1346
活跃值: (2331)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
礼尚往来,来一个完美还原的,
上传的附件:
2010-11-17 12:36
0
雪    币: 191
活跃值: (345)
能力值: ( LV9,RANK:450 )
在线值:
发帖
回帖
粉丝
16
好的.最近一直在面试.等我回来抽空看看你的下个版本.

如果有时间,我就写个脚本.看情况吧.时间少的话我就简单说下分析过程.
2010-11-17 12:47
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
17
发个脚本出来
2010-11-17 14:39
0
雪    币: 656
活跃值: (448)
能力值: ( LV12,RANK:360 )
在线值:
发帖
回帖
粉丝
18
谢谢
2010-11-17 14:40
0
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
只能算是最简单的IAT加密(函数地址加密)吧
至于另加 加花 混淆 anti就另当别论了
2010-11-17 18:28
0
游客
登录 | 注册 方可回帖
返回
//