免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: gogo407
打印 上一主题 下一主题

塑料袋 !学asm只要3天????? [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
11 [报告]
发表于 2006-09-24 14:58 |只看该作者
这里直接用二进制执行码作为数据,然后跳到这里来执行。
该段代码的作用似乎用来跳转的汇编实现。系统初启或病毒之类的可能用到。
dos下用debug可以反成汇编码来读。linux下可以用objdump来反汇编,但可能要有些技巧。

论坛徽章:
0
12 [报告]
发表于 2006-09-24 23:09 |只看该作者

回复 1楼 gogo407 的帖子

是说满足某条件void * addr = &sc,就跳转到某程序入口.

论坛徽章:
0
13 [报告]
发表于 2006-09-25 08:40 |只看该作者
这么长的字串,搞溢出呀

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
14 [报告]
发表于 2006-09-25 12:47 |只看该作者
原帖由 zongyaotang 于 2006-9-24 14:58 发表
这里直接用二进制执行码作为数据,然后跳到这里来执行。
该段代码的作用似乎用来跳转的汇编实现。系统初启或病毒之类的可能用到。
dos下用debug可以反成汇编码来读。linux下可以用objdump来反汇编,但可能要有些 ...



就是把数据 当作代码来执行,,不过我现在的大多OS默认都不会让他运行成功的。这会带来安全问题的哦

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
15 [报告]
发表于 2006-09-25 21:26 |只看该作者

回复 15楼 zhugcx 的帖子

这是在堆栈中执行的,从方法上看病毒或攻击才用这种特技。

论坛徽章:
0
16 [报告]
发表于 2006-09-25 22:21 |只看该作者
ddddddddd

论坛徽章:
0
17 [报告]
发表于 2006-09-26 13:08 |只看该作者
呵呵
都拿机器码出来干啥啊?
我觉得要转的话肯定很郁闷
还不如直接贴指令了

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
18 [报告]
发表于 2006-10-09 22:11 |只看该作者

回复 1楼 gogo407 的帖子

LZ 的这些bin 代码是解密了后边的118h个字节后再跳过去执行

00000000        pushal
00000001        jmp     00000012
00000003        popl    %esi
00000004        movw    $0x118, %cx
00000008        movl    %esi, %edi
0000000a        lodsb   (%esi)
0000000b        xorb    $0x99, %al
0000000d        stosb   %es%edi)
0000000e        loop    0000000a
00000010        jmp     00000017
00000012        call    00000003
00000017        stc
00000018        sbbb    0xfffffffd(%ebp), %dh

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:56:11
19 [报告]
发表于 2006-10-09 22:35 |只看该作者

回复 18楼 lovett 的帖子

比较隐晦,前面一段有点象可操作的代码,数据比较隐晦。靠读就比较困难。
能在对应的环境下跟踪也许容易理解些。

00000000        cld
00000001        pushl   $0xeb
00000003        decl    %ebp
00000004        call    00000002
00000009        pushal
0000000a        movl    0x24(%esp), %ebp
0000000e        movl    0x3c(%ebp), %eax
00000011        movl    0x78(%ebp,%eax,1), %edi
00000015        addl    %ebp, %edi
00000017        movl    0x18(%edi), %ecx
0000001a        movl    0x20(%edi), %ebx
0000001d        addl    %ebp, %ebx
0000001f        decl    %ecx
00000020        movl    (%ebx,%ecx,4), %esi
00000023        addl    %ebp, %esi
00000025        xorl    %eax, %eax
00000027        cltd
00000028        lodsb   (%esi)
00000029        testb   %al, %al
0000002b        jz      00000034
0000002d        rorl    $0xd, %edx
00000030        addl    %eax, %edx
00000032        jmp     00000028
00000034        cmpl    0x28(%esp), %edx
00000038        jnz     0000001f
0000003a        movl    0x24(%edi), %ebx
0000003d        addl    %ebp, %ebx
0000003f        movw    (%ebx,%ecx,2), %cx
00000043        movl    0x1c(%edi), %ebx
00000046        addl    %ebp, %ebx
00000048        addl    (%ebx,%ecx,4), %ebp
0000004b        movl    %ebp, 0x1c(%esp)
0000004f        popal
00000050        ret

论坛徽章:
0
20 [报告]
发表于 2006-10-10 16:28 |只看该作者
如果有了某种平台的ASM基础学另一种平台的ASM确实是可以3天搞定的,我学过51,X86的ASM学ARM的就差不多3天就搞定了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP