能力值:
( LV2,RANK:10 )
|
-
-
2 楼
不如用O汇编反编一下就知道什么意思了。
所有指令全中文化。
00401000 81EC90000000 栈址32 -= 00000090
00401006 53 压栈 基数32
00401007 55 压栈 基址32
00401008 56 压栈 源址32
00401009 8BB424A0000000 源址32 = [双字|栈址32+栈址32+000000A0]
00401010 57 压栈 的址32
00401011 56 压栈 源址32
00401012 FF1520704000 调用 [双字|00407020] //GDI32.dll->SaveDC
00401018 6A02 压栈 02
0040101A 56 压栈 源址32
0040101B FF1524704000 调用 [双字|00407024] //GDI32.dll->SetGraphicsMode
00401021 33DB 基数32 ^= 基数32
00401023 6A01 压栈 01
00401025 53 压栈 基数32
00401026 56 压栈 源址32
00401027 FF1528704000 调用 [双字|00407028] //GDI32.dll->ModifyWorldTransform
0040102D 53 压栈 基数32
0040102E 53 压栈 基数32
0040102F 53 压栈 基数32
00401030 56 压栈 源址32
00401031 FF152C704000 调用 [双字|0040702C] //GDI32.dll->SetViewportOrgEx
00401037 53 压栈 基数32
00401038 53 压栈 基数32
00401039 53 压栈 基数32
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
你在说这个功能我也不知道是干什么呢,可能是不全吧.
004BE5CF . 80E0 3C and al,3C ;al与3C做与操作
004BE5D2 . FF3407 push dword ptr ds:[edi+eax] ;将ds:[edi+eax] 以双字类型压入堆栈
004BE7B5 > 8A16 mov dl,byte ptr ds:[esi] ;将ds:[esi] 以字节类型传送到dl
004BE7B7 . |28DA sub dl,bl ;dl=dl-bl
004BE7B9 . |80F2 47 xor dl,47 ;dl与47做异或操作
004BE7BC . |C0C2 06 rol dl,6 ;dl循环左移6位
004BE7BF . |F6DA neg dl ;dl=-(dl)
004BE7C1 . |F6D2 not dl ;dl 做罗辑非操作 (原0变1,1变0)
004BE7C3 . |83C6 01 add esi,1 ;将esi+1
004BE7C6 . |28D3 sub bl,dl ;bl=bl-dl
004BE7C8 . |0FB6C2 movzx eax,dl ;把dl变为32位的再传送到eax
004BE7CB . |8D0C85 9CEA4B>lea ecx,dword ptr ds:[eax*4+4BEA9C] ;将这个双字类型的地址传送到ecx
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
学习中,谢谢。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
看一个汇编就知道这个代码是做什么用的,怎么才能做到啊。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
学习中,支持一下.....
|
能力值:
( LV3,RANK:30 )
|
-
-
7 楼
- -汇编本来就是可读的啊 and就是与操作 把后面两个操作数与起来。没学过汇编语言的话可以下一个汇编指令查询器。。。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
学习学习。。。
|
|
|