首页
社区
课程
招聘
[求助]新手提问:关于combojiang大侠的ssdt hook代码的几点疑惑
发表于: 2008-4-19 23:06 6058

[求助]新手提问:关于combojiang大侠的ssdt hook代码的几点疑惑

2008-4-19 23:06
6058
http://bbs.pediy.com/showthread.php?t=58199
学习了combojiang大侠这篇文章 有两处不能很好的理解 希望各位能帮忙解答一下
1.xor  ebx, ebx
  mov  [ebp-24h], ebx
  mov  [ebp-4], ebx
  lea  eax, [ebp-1Ch]
这是开头的几句代码 这里对ebp的操作 我没弄明白
2.mov  edx, Value; Value
  lea  ecx, [eax+ecx*4] ; Target
  call  InterlockedExchange
这处InterlockedExchange的调用是交换ecx,edx么 不用push一下么?今天我试验这段蓝了几次也没成功

还有发现用汇编写驱动好累啊 除了罗云彬的教程之外 完全要把c/c++翻译过去
希望各位大侠多来几篇汇编驱动的入门级文章!!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
2
简单说下你的疑问:
1。由于这个是简单逆向出来的代码,就没有再费时间去另行定义栈变量,而是直接用ebp + 偏移量来描述一个栈变量。

2。InterLockedExchange地用法,看看这个函数的代码就知道了。
; LONG __stdcall InterlockedExchange(LPLONG Target, LONG Value)
.text:0046AC54                 public InterlockedExchange
.text:0046AC54 InterlockedExchange proc near
.text:0046AC54                 mov     eax, [ecx]      ; Exfi386InterlockedExchangeUlong
.text:0046AC56
.text:0046AC56 loc_46AC56:                             ; CODE XREF: InterlockedExchange+5j
.text:0046AC56                 cmpxchg [ecx], edx
.text:0046AC59                 jnz     short loc_46AC56
.text:0046AC5B                 retn
.text:0046AC5B InterlockedExchange endp
.text:0046AC5B

注:网上很多关于SSDT得好文章。如果汇编感到困难的话,不如直接使用C。
2008-4-20 00:31
0
雪    币: 235
活跃值: (23)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
谢谢combojiang大侠
2008-4-20 01:04
0
游客
登录 | 注册 方可回帖
返回
//