Chinaunix首页 | 论坛 | 博客
  • 博客访问: 22304
  • 博文数量: 12
  • 博客积分: 287
  • 博客等级: 二等列兵
  • 技术积分: 115
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-26 00:05
文章分类

全部博文(12)

文章存档

2011年(12)

我的朋友
最近访客

分类: Delphi

2011-05-05 23:10:05

jmp和call的使用对汇编初学者来说有必要好好研究一下。这里贴出来自己构造的一个变形jmp和call,当然其中变形的不止这两个指令。贴出源码和exe,有兴趣的可以瞧瞧,放在OD里调试下或许更有趣。供更我一样刚入门的小菜娱乐,高手勿笑。
  1. ;※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
  2. ; flyit.exe
  3. ;※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
  4. ; Author: Goly
  5. ; Email: bh.yang@163.com
  6. ; QQ: 402295354
  7. ; Site:
  8. ;★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  9. ; Core Code:
  10. ; 1.call伪装为jmp
  11. ; 2.jmp伪装为call
  12. ;★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
  13. .386
  14. .model flat, stdcall
  15. option casemap:none
  16. include windows.inc
  17. include user32.inc
  18. include kernel32.inc
  19. includelib user32.lib
  20. includelib kernel32.lib
  21. .const
  22. szString db 'Test',0
  23. .data
  24. buffer dd 2 dup(?)
  25. .code
  26. start:
  27. push offset _exit
  28. lea edi,buffer
  29. push offset buffer
  30. mov eax,3D2404c7h
  31. stosd
  32. mov eax,0c3004010h
  33. stosd
  34. shr eax,24
  35. stosb
  36. stosb
  37. dec edi
  38. push offset _call
  39. jmp edi
  40. _call:
  41. pop edi
  42. call edi
  43. _msg:
  44. push MB_OK
  45. push offset szString
  46. push dword ptr[esp]
  47. push 0
  48. call MessageBox
  49. _exit:
  50. mov dword ptr[esp],0
  51. ;push 7ABCDE65h
  52. jmp ExitProcess
  53. end start
 flyit.rar   
阅读(1363) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~