能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
请教一个简单算法逆运算,高手勿笑,偶很菜
在delphi里跟踪了一下,果然如小虾所说,是strtoint,难怪觉得这个涵数眼熟,好像原来见过。
顺便说一下在delphi跟踪的方法:
var
s:string;
i:integer;
begin
s:='123456';
i:= strtoint(s); //这里下断,断下后点view->debug->CPU
end;
00407CBE E851AEFFFF call @ValLong //跟进去
复制下来的汇编代码:
00402B64 742D jz +$2d
00402B66 80EB30 sub bl,$30 // ord(a[i])-$30
00402B69 80FB09 cmp bl,$09
00402B6C 7725 jnbe +$25
00402B6E 39F8 cmp eax,edi
00402B70 7721 jnbe +$21
00402B72 8D0480 lea eax,[eax+eax*4] // m:= m+m*4
00402B75 01C0 add eax,eax // m*2
00402B77 01D8 add eax,ebx //m:= ord(a[i])-$30 + m
00402B79 8A1E mov bl,[esi]
00402B7B 46 inc esi
00402B7C 84DB test bl,bl
00402B7E 75E6 jnz -$1a
|
能力值:
( LV12,RANK:450 )
|
-
-
请教一个简单算法逆运算,高手勿笑,偶很菜
最初由 小虾 发布 00401339 |. E8 20010000 CALL <JMP.&kernel32.GetVolumeInformation>; \GetVolumeInformationA 0040133E |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 00401341 |. 8B5D F4 MOV EBX,DWORD PTR SS:[EBP-C] //取出ebp-4和ebp-c里的值进行相加后的和再转化成十进制的字符串就是注册码了
分析得不错。
只是那个涵数的逆运算还是没搞懂。
00401394 |. C1C0 02 rol eax, 2 00401397 |. 0FC8 bswap eax 00401399 |. A3 68314000 mov [403168], eax //又跟了一下,昨天没仔细看到上面三句
多谢小虾费心了。
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
请教一个简单算法逆运算,高手勿笑,偶很菜
最初由 小虾 发布 我少看了一句m := m * 4的代码, 你所说的代码是将十六进制的值转成十进制的值的函数。 1、第一句就是 m:=m*5
2、是的,如何将DDBEE106还原成十进制数。
只需将机器码($DDBEE106)除2取余,得取余得到的数反转并转换成字符串就是注册码
这是什么原理呢?
|
能力值:
( LV12,RANK:450 )
|
-
-
请教一个简单算法逆运算,高手勿笑,偶很菜
最初由 mutouren 发布 此代码的作用应该是将a转化为16进制 DDBEE106他的十进制数字机为注册码3720274182 不知正确吗?
算法偶简化了,其实DDBEE106是根据GetVolumeInformationA再进行一些运算得出的,不是注册码。具体可以跟一下crackme。
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
|
能力值:
( LV12,RANK:450 )
|
-
-
[翻译]《The Shellcoder’s Handbook》的历程
事因难能,所以可贵。
LZ做出了一件许多人想做,却没有去做的事,的确很了不起。
我也曾经翻译过一些文章,深知翻译过程中的苦与酸。很多内容超出了自己的知识和能力范围,翻译起来格外的吃力。也会因测试不充分而造成翻译过程中的失误,如没有将原文正确的转译过来,或者没有发现原文中的错误而只是简单的翻译过来(这种失误对我而言的确很多,所以如今我不太敢译了,怕误人)。
翻译的确要很多时间,LZ能在两年的时间内,克服种种困难,战胜自我,就这一点而言,值得我学习了。
你的汗水不会白流的。。。。
|