摘要: 拖进IDA: f5查看伪代码 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) { _BYTE v3[29]; // [esp+17h] [ebp-35h] BYREF int v4; // [es 阅读全文
posted @ 2022-12-01 16:37 一个半 阅读(97) 评论(0) 推荐(0)
摘要: 拖进IDA: f5反汇编可以看到伪代码 可以看到首先我们输入的值保存到str,这里的scanf是我为了方便阅读使用快捷键n对原有的函数进行的重命名 然后将我们输入的值通过sub_4110BE这个函数进行加密,加密的返回结果保存在v4,紧接着将v4通过strncpy函数传给Destination函数, 阅读全文
posted @ 2022-11-30 11:57 一个半 阅读(68) 评论(0) 推荐(0)
摘要: 拖进IDA: 可以看见第一个if判断了输入的长度为33,紧接着for循环对我们的输入进行异或运算,最后通过if和global这个变量进行比较最终判断输入是否正确。 也就是说我们只要知道global的值那么就能很快解出flag 双击global进去看看 这里我不知道我判断的对不对,应该是定义了一个名叫 阅读全文
posted @ 2022-11-30 10:20 一个半 阅读(292) 评论(1) 推荐(0)
摘要: 单步执行: 起始位有pushad往下找popad,遇到跳转向下可以实现,向上不让实现,遇到连在一起的跳转选择最后一个跳转的下一行继续单步执行。 遇到jmp底下有call也需要在下一行断点单步遇到popad下面的jmp,观察跳转跨度是否过大。因为一般说很大跨度的跳转就会直接跳转到oep(程序入口) 在 阅读全文
posted @ 2022-11-29 17:59 一个半 阅读(162) 评论(1) 推荐(0)