首页
社区
课程
招聘
[旧帖] [求助]新手求教大侠 0.00雪花
发表于: 2013-1-30 18:04 1513

[旧帖] [求助]新手求教大侠 0.00雪花

2013-1-30 18:04
1513
各位大侠能帮我读一下这段语句的含义吗,还有就是75 07出一个跳转实现,一个没有实现,我想让他实现怎么解决,谢谢各位大侠,我是个刚刚入门的新手!!!



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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
小菜尝试着回答一下。
前面一段push是参数压栈,其中包括两个指针参数。
调用DeviceIoControl函数,并检查返回值eax。eax不为0则跳转到xx,为0则调用地址00404540处函数,后跳转到xxx。
另外,lz说的“一个跳转实现,一个没有实现”不是很理解, 猜测一下,估计知道上面这个流程就知道了。呵呵呵呵呵
2013-1-30 23:12
0
雪    币: 652
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
同一部分代码执行跳转,却是出现

不同的结果。就是说你的这个

EAX  值出现了不同。 估计这个函数在校验的值是个

动态的。楼主你发现你的00810C75处执行的函数一样吗???
2013-1-31 09:48
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
4
两个test都是看前面的call执行是否成功。然后再进行相应的跳转,就相当于 if  else一样,成功则如何,不成功又执行什么代码。

第一张图里面分析call根据提供的图没法分析,就不说了。

第二张图中test eax,eax 上面那个call根据提示devicetocontrol,可以看出,这个call是对设备进行操作。eax中存放的是返回值。call执行成功则返回非0,否则返回0。然后test eax,eax 是指,判断次call是否执行成功。

75改74你就可以得到想要的结果、

另外呢,两图中都是判断eax。所以,你还可以改eax的值。为0和非0。

或者,要跳转改jmp,不跳就nop掉。
2013-1-31 09:55
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢各位大侠的细心解答,不过还是没有听懂大侠们的意思,,太深奥了
2013-1-31 11:37
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
6
喏,详细给你解释一下第二幅图吧。

首先你要了解jnz/jne什么意思撒。jump not zore/jump not equal,如果结果不是0则跳转,对应的机器码就是75.
与它相反的一条指令是jz/je即 jump zore /jump equal,如果结果为0则跳转。机器代码是74.
图二中在jnz 上面一条语句是:test eax,eax
它执行的操作是:对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存。

我们在来看图,在test语句上面有一个函数就是那个call <JMP.&kernel32.devicetocontrol>。函数的返回值大多数都存放在eax中(经验,不一定是这样的)。你可以根据OD提供给你的提示devicetocontrol。去百度一下这个函数是干嘛的。

帮你百度过了,它是用来对设备进行操作,具体进行了什么操作就要看传进去的参数了。

我现在直说返回值,如果执行成功,则eax不为0,失败则为0.

1.eax不为0时:
test eax,eax
  eax和eax进行与运算,它的结果肯定不为0。所以,后面的jnz就会跳转。
2.eax为0时
test eax,eax  
  eax和eax进行与运算,它的结果肯定为0。所以,后面的jnz就不会跳转。

所以,这几句综合起来的意思就是,判断对设备进行操作是否成功。

你觉得呢?
2013-1-31 13:31
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
其实我是想突破他的自我保护,脱了衣服一运行就自我删除。用BP CreateFileA 调试停止在了下图的位置



Alt+F9后有到了下图的位置

上传的附件:
2013-2-1 16:48
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
8
能发程序么?
2013-2-1 22:44
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
老大程序有点大,传不上去,这个程序的下载地址

Download.rar

老大帮我看看,我实在搞不定它
2013-2-3 16:48
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
大侠能帮忙分析下吗
2013-2-4 13:48
0
游客
登录 | 注册 方可回帖
返回
//