首页
社区
课程
招聘
[旧帖] [求助]做keygen时,有没有必要反汇编成高级语言? 0.00雪花
发表于: 2009-8-12 17:12 1504

[旧帖] [求助]做keygen时,有没有必要反汇编成高级语言? 0.00雪花

2009-8-12 17:12
1504
刚刚开始学逆向,因为一直以来都是用高级语言开发的,所以在做一些crackme的时候,总是喜欢把汇编语言逆向成高级语言来分析。但是发现这样很累,几百行的汇编代码,有时候要花一天时间来进行逆向。特别是那种call,jmp特别多的crackme,看得真是头大

有时候在做keygen时,真想来个无脑流,直接用内嵌asm,把汇编代码照搬到程序中来做成keygen,但是那样感觉又没什么提高。所以想请教一下,大家都是怎么做的?

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

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 77
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
"直接用内嵌asm,把汇编代码照搬到程序中来做成keygen",直接搬过来能编译的了?
2009-8-12 17:22
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
另外说一下让我遇到的一些难点吧,相信也是从高级语言转到汇编语言时常遇到的问题。

1.全局变量。在反汇编时,很难分清一个变量究竟是占用了哪些内存。比如一个char *  str的首地址是0x003A0100,那么我很难分辨mov [0x003A0105],eax这条语句,是str[5]呢,还是另外一个变量。这样的变量一多,在逆向时,就很难分清楚谁是谁了。

2.无参数call。一般在反编译时,一些带参数,带返回值的call还比较好分析,但是一些函数在call之前没有push参数,返回时也没处理eax。例如下面这种:

0040363C  |.  85F6          test    esi, esi
0040363E  |.  74 09         je      short 00403649
00403640  |.  89C2          mov     edx, eax
00403642  |.  89F0          mov     eax, esi
00403644  |.  E8 5BF0FFFF   call    004026A4
00403649  |>  89D8          mov     eax, ebx
0040364B  |.  E8 F4FEFFFF   call    00403544

一般跟进这些call的里面时,还有好多个无参数无返回值的call,分析得头都大了

3.大量跳转。这种一般是出现在查表法中。一般可以用goto模拟,但是在写出程序后,我自己也看不出到底是啥意思了……如果简化跳转的话,又十分复杂……

暂时想起那么多,发现其他的再补充好了。
2009-8-12 17:33
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
也不是完全照搬了,一些变量还是要分析的,方法类似于
http://unpack.cn/viewthread.php?tid=38507&extra=page%3D2
2009-8-12 17:34
0
雪    币: 146
活跃值: (33)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
5
无参数无返回值的call可能是在内部将计算结构转存在某个内存区
    以后读取该内存数据,这个很常用
2009-8-12 17:36
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是的。这些函数一个个来看,其实很容易看懂,关键就是数量特别多,而且一般都是在写入全局变量,数量一多起来就完全乱了。
2009-8-12 17:41
0
雪    币: 45
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
话说……难道你不用IDA么……
2009-8-12 22:59
0
雪    币: 83
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
反编译成汇编,理清楚key的生成原理,然后用高级语言写一个key的生成,没必要把汇编弄成高级语言吧,太耗时间了,汇编必须的-_-
2009-8-13 12:26
0
雪    币: 54
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
win32汇编啊
2009-8-29 08:48
0
雪    币: 433
活跃值: (1870)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
10
也可以试试IDA的F5,不过得装hexray插件
2009-8-29 10:26
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
你们都太强了,我根本一点都不懂
2009-8-30 09:05
0
雪    币: 234
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不用逆向吧,弄crack我一般不弄逆向。
2009-8-30 20:51
0
游客
登录 | 注册 方可回帖
返回
//