c语言 longjmp,我本来以为setjmp和longjmp的实现很复杂【附代码】

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

msvcr100d.dll:103241C4 mov [edx], ebp

msvcr100d.dll:103241C6 mov [edx+4], ebx

msvcr100d.dll:103241C9 mov [edx+8], edi

msvcr100d.dll:103241CC mov [edx+0Ch], esi

msvcr100d.dll:103241CF mov [edx+10h], esp

msvcr100d.dll:103241D2 mov eax, [esp]

msvcr100d.dll:103241D5 mov [edx+14h], eax

msvcr100d.dll:103241D8 mov dword ptr [edx+20h], 56433230h

msvcr100d.dll:103241DF mov dword ptr [edx+24h], 0

msvcr100d.dll:103241E6 mov eax, large fs:0

msvcr100d.dll:103241EC mov [edx+18h], eax

msvcr100d.dll:103241EF cmp eax, 0FFFFFFFFh

msvcr100d.dll:103241F2 jnz short TEB

msvcr100d.dll:103241F4 mov dword ptr [edx+1Ch], 0FFFFFFFFh

msvcr100d.dll:103241FB jmp short proc_retn

msvcr100d.dll:103241FD ; ---------------------------------------------------------------------------

msvcr100d.dll:103241FD

msvcr100d.dll:103241FD TEB: ; CODE XREF: msvcr100d.dll:103241F2j

msvcr100d.dll:103241FD mov ecx, [esp+8]

msvcr100d.dll:10324201 or ecx, ecx

msvcr100d.dll:10324203 jz short t_jmp1

msvcr100d.dll:10324205 mov eax, [esp+0Ch]

msvcr100d.dll:10324209 mov [edx+24h], eax

msvcr100d.dll:1032420C dec ecx

msvcr100d.dll:1032420D jnz short t_jmp2

msvcr100d.dll:1032420F

msvcr100d.dll:1032420F t_jmp1: ; CODE XREF: msvcr100d.dll:10324203j

msvcr100d.dll:1032420F mov eax, [eax+0Ch]

msvcr100d.dll:10324212 mov [edx+1Ch], eax

msvcr100d.dll:10324215 jmp short proc_retn

msvcr100d.dll:10324217 ; ---------------------------------------------------------------------------

msvcr100d.dll:10324217

msvcr100d.dll:10324217 t_jmp2: ; CODE XREF: msvcr100d.dll:1032420Dj

msvcr100d.dll:10324217 mov eax, [esp+10h]

msvcr100d.dll:1032421B mov [edx+1Ch], eax

msvcr100d.dll:1032421E dec ecx

msvcr100d.dll:1032421F jz short proc_retn

msvcr100d.dll:10324221 push esi

msvcr100d.dll:10324222 push edi

msvcr100d.dll:10324223 lea esi, [esp+1Ch]

msvcr100d.dll:10324227 lea edi, [edx+28h]

msvcr100d.dll:1032422A cmp ecx, 6

msvcr100d.dll:1032422D jbe short t_jmp3

msvcr100d.dll:1032422F mov ecx, 6

msvcr100d.dll:10324234

msvcr100d.dll:10324234 t_jmp3: ; CODE XREF: msvcr100d.dll:1032422Dj

msvcr100d.dll:10324234 rep movsd

msvcr100d.dll:10324236 pop edi

msvcr100d.dll:10324237 pop esi

msvcr100d.dll:10324238

msvcr100d.dll:10324238 proc_retn: ; CODE XREF: msvcr100d.dll:103241FBj

msvcr100d.dll:10324238 ; msvcr100d.dll:10324215j ...

msvcr100d.dll:10324238 sub eax, eax

msvcr100d.dll:1032423A retn

---------------------------------------------------------------

VC 中 setjmp 的 反汇编

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值