首页
社区
课程
招聘
[求助]请问下这一小段code个什么算法?
2014-7-25 10:36 4021

[求助]请问下这一小段code个什么算法?

2014-7-25 10:36
4021
最后一行.text:0113CE45                 sub     esi, edx得到的esi内容值是最终想要的值。

请问下,esi的这个计算过程是个什么算法呢?

.text:0113CE2A                 call    _rand   => 随机数,结果存在eax里
.text:0113CE2F                 mov     edx, 51EB851Fh
.text:0113CE34                 mov     esi, eax
.text:0113CE36                 imul    edx
.text:0113CE38                 mov     ecx, esi
.text:0113CE3A                 sar     ecx, 1Fh
.text:0113CE3D                 sar     edx, 5
.text:0113CE40                 sub     edx, ecx
.text:0113CE42                 imul    edx, 64h
.text:0113CE45                 sub     esi, edx
.......
最后的判断在这,byte ptr ds:(dword_272D9E4 - 2614984h)[ebx]里存放的就是.text:0113CE45处esi的值。
.text:0113CF45                 test    byte ptr ds:(dword_272D9E4 - 2614984h)[ebx], 1
.text:0113CF4C                 jz      loc_113CE00

[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

收藏
免费 0
打赏
分享
最新回复 (3)
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
BlueT 2 2014-7-25 11:02
2
0
似乎是做除法或求模之类的运算。
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
BlueT 2 2014-7-25 11:22
3
0
实测,EAX%100是也。
雪    币: 484
活跃值: (270)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
bridgeic 2 2014-7-25 11:48
4
0
运行了下,的确是EAX%100,BlueT兄高人也。

能否请兄再帮我看下
<1> 这里的_rand是不是随机数产生函数?
<2>这里(text:0113CF4C)最终的跳转判断到底是怎么做的呢?EAX%100再看末位是0还是1,这样理解对吗?

***13:05 可能有弄错的地方,我先自己再看下,谢谢BlueT兄!
游客
登录 | 注册 方可回帖
返回