首页
社区
课程
招聘
KCTF2020秋季赛 第二题 异常信号
发表于: 2020-11-21 07:30 5417

KCTF2020秋季赛 第二题 异常信号

2020-11-21 07:30
5417

垃圾代码 + 反调试 + 壳


程序壳段只有几个函数, 每个函数由于加了大量的垃圾代码, 导致直接看代码并不是太直观


用ApiMonitor看下用了哪些API及调用栈, 

用IDA导出函数的asm, 根据调用栈定位到调用API处, 文本搜索相关的变量引用


反调试API


创建线程


解压缩



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-11-21 08:01 被风间仁编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (2)
雪    币: 212
活跃值: (405)
能力值: ( LV3,RANK:38 )
在线值:
发帖
回帖
粉丝
2
膜拜大佬,人狠话不多。 不脱壳就强来
2020-11-24 10:47
0
雪    币: 13059
活跃值: (5723)
能力值: ( LV5,RANK:77 )
在线值:
发帖
回帖
粉丝
qux
3

菜鸟问一下,32 -> 64 -> 32 写代码应该怎么写呢?
我是这么写的,然后运行的结果只是输出第一个输出,然后就退出了。
x64dbg调试显示好像是切换的时候出了问题。

```
#include <stdio.h>
int main()
{
    printf("Hello World!\n");
    __asm
    {
        ; 32bit code
        ; ...
        mov eax, 0xA
        ; 32 -> 64
        push    33h
        call    $ + 5
        add     dword ptr[esp], 5
        retf
    }
    // 32bit code
    printf("Hello World! 2\n");
    __asm
    {
        ; 64 -> 32
        call    $ + 5
        ;  mov     dword ptr[rsp + 4], 23h
        ;  add     dword ptr[rsp], 0Dh
        mov     dword ptr[esp + 4], 23h
        add     dword ptr[esp], 0Dh
        retf
    }
    // 32bit code
    printf("Hello World! 3\n");
    return 0;
}
```


最后于 2020-11-24 14:43 被qux编辑 ,原因: 格式调整
2020-11-24 14:42
0
游客
登录 | 注册 方可回帖
返回
//