首页
社区
课程
招聘
[原创]易逆向指南
发表于: 2015-7-29 16:27 25787

[原创]易逆向指南

2015-7-29 16:27
25787

最近针对易语言的流程控制、运算语句方面的东西进行了逆向整理。文章大部分内容适用于易语言5.x版本的一般编译与静态编译。

易语言的优化做的不是很好,结构很完整,方便逆向,但是,也有很多反人类的地方有兴趣的读者可以尝试自己动手反汇编一下。
本人技术有限,如果有错误的地方请指出~同时也欢迎大神们一起来分析。

pdf方便阅读


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 3
支持
分享
最新回复 (39)
雪    币: 81
活跃值: (110)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
总结得不错啊,作为学习很赞
不过实际逆向破解的时候,还是丢IDA F5吧,不用关注这些细节
2015-7-29 16:57
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
加减乘除全是浮点数运算,看着比较累
2015-7-29 17:06
0
雪    币: 6911
活跃值: (9069)
能力值: ( LV17,RANK:797 )
在线值:
发帖
回帖
粉丝
4
真不知道吴涛是怎么想的。
2015-7-29 17:36
0
雪    币: 2850
活跃值: (2653)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
一个小tips:
搜索call [ebp-4]
注意静态编译在exe范围内搜索,动态编译在核心dll库中搜索。
所有控件的事件都会经过这里,包括按钮事件,时钟周期事件等等
2015-7-29 18:07
0
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
6
这个和语言没啥关系,易本身就是用M$的编译器生成的,所以汇编代码和VS写出来的差不大

感觉这个没多大意义~~
2015-7-29 18:08
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
学习了啊啊
2015-7-29 18:20
0
雪    币: 67
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
话说,易语言程序真还有逆向的价值?
现在还有几个人会对这个感兴趣?闲的蛋疼的吧...
2015-7-29 18:58
0
雪    币: 6
活跃值: (19)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
辛苦楼主了,谢谢分享。
2015-7-29 19:46
0
雪    币: 79
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
感谢 收下 好文章值得拥有
2015-7-29 19:58
0
雪    币: 6911
活跃值: (9069)
能力值: ( LV17,RANK:797 )
在线值:
发帖
回帖
粉丝
11
易语言是用的ms的链接器,具体代码还是自己生成的。
2015-7-29 20:57
0
雪    币: 135
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
good
2015-7-30 02:32
0
雪    币: 485
活跃值: (78)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
13
代码组织是编译器组织的。。。你说自己生成是啥意思?????
2015-7-30 20:55
0
雪    币: 6911
活跃值: (9069)
能力值: ( LV17,RANK:797 )
在线值:
发帖
回帖
粉丝
14
自己就是易语言自带的编译器的意思。
2015-7-31 14:03
0
雪    币: 58
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
又见 编译器和链接器傻傻分不清楚的.
再说一遍,易语言使用的是自己的编译器,链接器用的是微软的vc6,因为用了mfc,
当然,不是静态编译的话,vc6的链接器可以丢掉.
2015-7-31 21:58
0
雪    币: 58
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
直到现在,还有某些人还认为易语言是解释型脚本语言,
再次更正,易语言生成的是真正的x86cpu机器码,别再傻傻的以为易语言是脚本什么的了.
2015-7-31 22:00
0
雪    币: 204
活跃值: (44)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
又见楼主.下载学习一下.
2015-8-1 03:28
0
雪    币: 631
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
讲的很详细,  补充点. 类的函数, [EBP+8] 是类指针.
类的结构
class {
    函数表指针 {
        初始化
        销毁
        复制当前类 (感觉很多余, 一个类导出子类, 修改子类中的数据, 无法保存, 很鸡肋)
        自定义函数1
        自定义函数2
        ...
    }
    类变量1
    类变量2
    ....
}

各种控件的查找,定位, 可以参考支持库的SDK(或者逆向这里)

PS:
易语言+内联汇编插件, 用于测试以及写一些测试小程序, 还是很给力的.
2015-8-1 05:27
0
雪    币: 6911
活跃值: (9069)
能力值: ( LV17,RANK:797 )
在线值:
发帖
回帖
粉丝
19
估计是小生我怕怕的一时口误给大家造成的误解
2015-8-1 09:23
0
雪    币: 24
活跃值: (119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
请问大神们,E真的有你们说的那么烂吗?
2015-8-1 09:58
0
雪    币: 96
活跃值: (36)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
21
我想说,真正值得去逆向的地方F5都不来。还是得靠手工。
2015-8-1 11:00
0
雪    币: 158
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
快速入门方面做的挺好的
2015-8-1 19:12
0
雪    币: 67
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
不是有那么烂,是真的烂的狠,就是个渣!
2015-8-3 17:57
0
雪    币: 24
活跃值: (119)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
亲,能说说E在哪些方面很不足吗?我是觉得不管什么语言,最终都是编译成机器码0和1,这和用哪种编程语言又有多大关系呢?对于不懂C,C++,JAVA的童鞋,用delphi,VB,E等可视化编程不是也挺实用的嘛。
2015-8-4 10:51
0
雪    币: 228
活跃值: (115)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
25
编译器:源代码编译成目标文件(不是可执行文件,只是目标文件obj)
链接器:目标文件和库文件链接成可执行文件(将各种OBJ代码组合成一个可执行文件)

至于为什么用VC6.就只能呵呵了.
2015-8-4 19:14
0
游客
登录 | 注册 方可回帖
返回
//