| ²é¿´: 637 | »Ø¸´: 0 | |||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||
sdlj8051½ð³æ (ÖøÃûдÊÖ)
|
[½»Á÷]
[תÌù]¹¥ÆÆ RSA-1024µÄËã·¨±£»¤
|
||
|
ÔõÑù¹¥ÆÆ RSA-1024µÄËã·¨±£»¤ ? Asprotect 1.0/1.1/1.11c- BETA v3 : DON¡¯T SHARE IT - by Amenesia//TKM! translated by stasi Ò»)½éÉÜ ÎªÁËѧµã»ù´¡ÖªÊ¶,ÎÒ¾ö¶¨È¥Ñ§Ï°Ò»Ð©ÖøÃûµÄËã·¨±£»¤ÒÔ¼°Ñо¿ËüÃǵÄÈõµã¡£¼¸Äêǰ£¬Recca¾ÍÊ×ÏÈ·¢ÏÖÁËasprotectµÄÈõµã¡£ÎÒÃÇÖªµÀËûÊÇÀûÓÃÁËËæ»úÊý·¢ÉúÆ÷³É¹¦ÆÆ½âÁËasprotectµÄ×¢²á£¬ËùÒÔÎÒÃÇÒ²×ßÕâÌõ·¡£¡£¡£ ASProtect - ÊÇÒ»ÖÖÈí¼þ±£»¤Èí¼þ£¬ÄܰïÖúÈí¼þÉè¼ÆÕߺܿì½ÝµØÉèÁ¢Èí¼þ¸¨Öú±£»¤»úÖÆ¡£ASProtect»¹ÄÜÌṩÖîÈç×¢²áÂë»ò²»Í¬°æ±¾µÄÉèÖᣠ¶þ) Asprotect 1.0/1.1 [built-in key] Èí¼þµÄ×¢²á²¿·Ö»áËæ»ú²úÉú¼¸¸öÊý£¬´æ·ÅÔÚ.asprÎļþÀïÖ÷ÒªÊÇÓÉbase 64±àÂëµÄA, D, EºÍNËĸöÊý×é³É¡£ £¨´ÓÓÒÍù×ó£© A = INDtrZliM4t...0czFJpN42UQ== D = U2atlST1lQ...kHcbIGwJU8= E = EQAAAAAA...AAAAAAAA= N = X7lD2zsvq3QW...ha6mOrdvULEAM8= È»ºó×¢²áÂëͨ¹ýRSAº¯Êý¼ÆËã²úÉú£º 1 - H1 = RipeMD-160(A) 2 - H2 = MD5(Registration Information¡ªH1) 3 - Key = RSA(D,N, [H2¡ªRegistration Information¡ªH1]) ×¢²áÂë¾Í»áÏñÕâÑù: PYgt/87koSvbYPluc+/crrilfWI+ssZSU7UhgCLmK3D1C+x+ EX9n7ukwM5sKmI+nsH66V7L28BFTziNz5DOPLRHAqnI11wN5 Nd/dm0Esw20mm66V7L28BFTziNz55DOP4kzt+bie/rW4grgG +e8/hsIuotMqUXguWKBnOXsoQ89Kg92T0MkB4FCZYuZQo= ÕâÑùµÄ×¢²áÂë¿´ÉÏÈ¥ÊǺܰ²È«µÄ¡£¡£¡£ 2.1 ¡¡D, N ºÍ EÊÇÔõÑù²úÉúµÄÄØ£¿ ¡¡¡¡È«¹ý³ÌÊÇͨ¹ýÒ»¸öRSAVR.DLLµÄdllÎļþ½øÐÐÔËËãµÄ£º 1 Ñ¡Á½¸ö512λµÄ´óËØÊýpºÍq 1.1 Ëæ»úѡȡ¼ÓÃÜÃÜÔ¿e£¬Í¬ÑùÒ²ÊÇ512λµÄ 1.2 ʹeºÍ(p-1)(q-1)»¥ËØ£¨·Ç³£ºÄʱ¼ä£© 2 ¼ÆËãn=pq 3 ¼ÆËãd=exp(-1)mod ((p-1)(q-1))(±ÈÈçe = 17) Èç¹ûÎÒÃÇÑ¡ºÃÁËpºÍq £¬ÎÒÃǾÍÄܵõ½n 2.2 ÔõÑù²úÉúp ºÍ qÄØ? unsigned long _rand() { Seed *= 214013; Seed += 2531011; return( ((Seed >> 16) & 0x7FFF) ); } unsigned long RandInt() { for(i=0;i<4;i++) { rval = ((rval << 8) +_ rand()); } return(rval); } Seed = ( time() + ThreadId()) xor TickCount(); for(ri=0;ri<16;ri++) { BigNumber1[ri] = RandInt(); } BigNumber1[ri] = BigNumber1[ri] xor C0000000h; P= nextPrime(BigNumber1); for(ri=0;ri<16;ri++) { BigNumber2[ri] = RandInt(); } BigNumber2[ri] = BigNumber2[ri] xor C0000000h; Q= nextPrime(BigNumber2); Èç¹ûÎÒÃÇÄܵõ½time() + ThreadId()) xor TickCount()µÄ¼ÆËãÖµ£¬ÎÒÃǾÍÄܵõ½p ºÍ q... 2.3 ÆÆ½â ÎÒ²»ÖªµÀRecca ÊÇÔõÑùÕÒµ½ºÏÊʵÄÖÖ×ÓÊýµÄ£¬µ«ÎÒÈÏΪºÃÏñÇî¾ÙÊÇΨһµÄ½â¾ö°ì·¨ 1 Ñ¡ÔñÖÖ×ÓÊý 2 ¼ÆËã´óÊý1 ºÍ ´óÊý2 3 ʹP = nextP rime(BigNumber1) and Q=nextPrime(BigNumber2) 4 Èç¹ûn != p*q ÔÙ³¢ÊÔÏÂÒ»¸öÊý µ«ÊÇÍê³ÉÈ«²¿µÄ²âÊԺܻ¨Ê±¼ä£¬ËùÒÔ»ù±¾²»Ì«¿ÉÄܲâÊÔËùÓеÄ2µÄ32´Î·½¸ö²»Í¬µÄÊý¡£ 2.31 ¼õС²âÊÔ·¶Î§ Ê×ÏȸĽøµÄÊǼõСThreadId() ºÍ TickCount()£¬Ê¹µÃ³¤¶È×î´óµÄÖÖ×ÓÊý·ûºÏtime()¡£ ×îÖÕÎÒÃǾÍͨ¹ý²âÊÔ¼¸¸öºÍ¹«Ô¿Î»Êý½Ó½üµÄÖÖ×ÓÊý£¬À´Ëõ¶ÌËùÐèÒªµÄʱ¼ä¡£ 2.3.2 ¸Ä½øËã·¨ ²ÂÊÔµÄËÙ¶È»¹ÊǺܻºÂý£¬ËùÒÔÎÒÃDz»µÃ²»³¢ÊÔÕÒµ½Ò»ÖÖËã·¨£¬¼ÈÄܲâÊÔÖÖ×ÓÊýÓÖÄܲ»¼ÆËãpºÍq µÄÖµ¡£ÎÒÃÇÏëµ½µÄ°ì·¨¾ÍÊÇÐÞ¸ÄnextPrime()º¯ÊýʹËûÖ»¼ì²â´óÊý1ºÍ´óÊý2µÄ¸ßλ²¿·Ö£¬Èç¹ûÏàµÈ¾ÍÈÏΪÊÇ·ûºÏÌõ¼þµÄÊýÖµ Áî P = BigNumber1 + M1 ( M1 <2µÄ64´Î·½) Q = BigNumber2 + M2 ( M2 <2µÄ64´Î·½) Ôò N = P* Q = (BigNumber1 + M1) * (BigNumber2 + M2) N = BigNumber1 * BigNumber2 + M3 (M3 <= 2µÄ(512+64+2)´Î·½) ËùÒÔ N(¸ßλ) = BigNumber1(¸ßλ) * BigNumber2(¸ßλ) Ëã·¨£º 1 ѡһ¸öÖÖ×ÓÊý 2 ¼ÆËãµÃµ½BigNumber1λºÍBigNumber2¸ßλ 3 Èç¹û nµÄ¸ßλ²»µÈÓÚBigNumber1µÄ¸ßλ*BigNumber2µÄ¸ß룬¾Í³¢ÊÔÏÂÒ»¸öÖÖ×ÓÊý 4 ÇÒBigNumber1ºÍBigNumber2²»ÄÜÏàµÈ¡£ 5 Èç¹û·ûºÏ£¬ÔÙ¼ÆËã P = NextPrime(BigNumber1) Q = NextPrime(BigNumber2) 6 Èç¹û N! = P* Q Ôò³¢ÊÔÏÂÒ»¸öÊý 2.4 Àý×Ó Asprotect 1.1Ö÷³ÌÐò¼ÓµÄÊÇAsprotect 1.1¿Ç¡£Ò»Ê±ÕÒ²»µ½Ò»¸ö¸üºÃµÄÀý×ÓÀ´¼ìÑéÎÒÃǵÄËã·¨ÊDz»ÊÇÓÐЧ... ´Ó.aspr ÎļþÀïµÃµ½n ºÍ eµÄÖµ n = EB1D4EADA4815F6277519791BFFA8B4C0B872D1C436515AB D9572B22BF6A03FECB4E5CC49AF1EE35C31344617A1210663056 90529B9CE7F13ED2D37CD7034A3EDD096853EC61243BCCAC5A58 800B0330A4DD85E9AA237F2F2AE60CA049B1D2777B2E0C5FF51E 058382A86C3EC12F7AB41642022772FF2A2D3DBA704725702199 e = 17 AsprotectÊÇÔÚ2000ÄêʮԷ¢²¼µÄ£¬ËùÒÔÎÒÃÇÑ¡Ôñ39000000h×÷Ϊ×îСµÄÖÖ×ÓÊý¡£ÎÒÃÇÔÚÒ»·ÖÖÓÀï¾ÍÕÒµ½ÁË398BBB72h (ÊÇÅöײֵ£¬ËùÒÔÉáÈ¥)ºÍ 399BACC4h£¨Ò»Ð¡Ê±Äܼì²âËùÓеÄ2µÄ32´Î·½¸öÖÖ×ÓÊý£©,ËùÒÔÎÒÃǺÜÇáËɵؾ͵õ½ÁË£äµÄÖµ£º D= l8F1EGKSQWCw9Et5klCpkm9/TIQFw0xOxibd+bQNndzGYoIX 4PmHXcdZtN3VWRQfuYS/cLeEf0i+kG3Cd7kaqKCkBO3xiAFgZMf vW8D+bov+AfjDICITq5/Lhex7PykLGtUNnH8LSsmIDSWqldwX3Q 9o8U4HcJSjSJIfS4bumc= 3 Asprotect 1.11c ²»¾ÃA.S. ¾ÍΪÁËÐÞ²¹Õâ¸öСÎÊÌâ¶ø·¢²¼ÁËÒ»¸öеİ汾¡£Õâ´Î¿´À´ÊÇûÓÐÈËÄܹ»ÆÆ½âËüÁË£®£®£®£º£© Ëæ»úÊýÊÇÕâÑù²úÉúµÄ£º unsigned long _rand() { Seed = ( time() + ThreadId()) xor TickCount(); Seed *= 214013; Seed += 2531011; return( ((Seed >> 16) & 0x7FFF) ); } unsigned long RandInt() { for(i=0;i<4;i++) { rval = ((rval << 8) +_ rand()); } 4 return(rval); } for(ri=0;ri<16;ri++) { BigNumber1[ri] = RandInt(); } BigNumber1[ri] = BigNumber1[ri] xor C0000000h; P= nextPrime(BigNumber1); for(ri=0;ri<16;ri++) { BigNumber2[ri] = RandInt(); } BigNumber2[ri] = BigNumber2[ri] xor C0000000h; Q= nextPrime(BigNumber2); Õâ¸öеÄÖÖ×ÓÊýµÄÿһλ¶¼±»·Ö±ð¼ÆËãµÃµ½µÄ¡£ÎÒÃǾͱØÐëÖØÐÂдһ¸ö±¬ÆÆ»ú¡£µ«ÎÒÓöµ½µÄ»¹ÊÇÏàͬµÄÎÊÌâÔõÑù²ÅÄÜ¿ì½ÝµØÕÒµ½ºÏÊʵÄÊý¶ø²»²âÊÔËùÓеÄÊý¡£´ËÍâÔõÑù²ÅÄÜ·½±ã¼ì²â4*2µÄ512´Î·½¸ö¿ÉÄܵĴóÊýÄØ£¿ 3.1 ¼õС²âÊÔ·¶Î§ GetCurrentThreadId()Êǹ̶¨µÄÖµ£¬GetTickCount ºÍ time()ÊÇÀûÓÃ˲ʱʱ¼äµÃµ½µÄ£¬µ«ÓÉÓÚ¼ÆËãµÄËٶȺܿ죬¾Íµ¼Ö GetTickCount and time()ÔÚ¼ÆËã´óÊýµÄʱºò»ù±¾ÊDZ£³Ö²»±äµÃ£¬Òò´Ë×îÖÕÓÃÕâЩº¯Êý¼ÆËãµÃµ½µÄrand()²ÎÊýÖµ×ÜÊÇÒ»¸ö& 0x7FFFµÄÏàͬµÄÖµ¡£ËùÒÔÎÒÃÇÄÜÓÃ2µÄ15´Î·½*2µÄ15´Î·½¶ÔµÄÖÖ×ÓÊýÀ´´úÌæÔÀ´µÄ4*2µÄ512´Î·½*2µÄ512´Î·½¸öÊý¡£ Ö»ÐèÒª°´ÕÕÒÔϵĸñʽ¾Í¿ÉÒÔÁË£º£© BigNumber1 = [AorC0000000h]AAAA. . .AAAA BigNumber2 = [BorC0000000h]BBBB . . .BBBB 3.2¸Ä½ø ÿ¸ö´óÊý¶¼ÓÐÒ»ÖÖÒÑÖªµÄ½á¹¹£¬ÎÒÃǾÍÀûÓÃËüÈ¥²âÊÔÒ»¸öÖÖ×ÓÊýÊDz»ÊÇÕýÈ·¡£Èç¹ûnµÄ¸ßλ³ýÒÔ´óÊý1µÄ¸ßλËùµÃµ½µÄÊýÓÐÀàËÆ (B or C0000000h)µÄ½á¹¹£¬ÄÇÎÒÃǾͲÂÕâ¸öÊýÒ²Òò¸Ã¾ÍÊÇpÁË£¬ÄÇÊÇÒòΪQ ¾ÍÊǵÈÓÚ N/P¡£ÏÖÔÚÎÒÃǾÍֻʣÏÂ2µÄ15´Î·½¸öÊýÀ´³¢ÊÔÁË... P = [AorC0000000h]AAAA. . .AAAA + M1 Q = [BorC0000000h]BBBB . . .BBBB + M2 N = BigNumber1 * BigNumber2 + M3 ËùÒÔ N¸ßλ/BigNumber1¸ßλ= [BorC0000000h]BBBB£º 1 ѡһ¸öËæ»úÊý 2 ¼ÆËã´óÊý1µÄ¸ßλ 3 Èç¹ûnµÄ¸ßλ³ýÒÔ´óÊý1µÄ¸ßλ²»ÊÇÓÐÀàËÆ (B or C0000000h)µÄ½á¹¹£¬¾Í¼ÌÐø³¢ÊÔ½ÓÏÂÀ´µÄÊý 4 Èç¹û·ûºÏÄǸö½á¹¹£¬ÎÒÃǾͰѴóÊý1¸øËã³öÀ´ 5 ͨ¹ýÕâÑùË㣺P = NextP rime(BigNumber1) 6 ¼ÆËãQ = N/P 3.3¾ÙÀý Asprotect 1.11cÖ÷³ÌÐòʹÓà Asprotect 1.11c ±£»¤µÄ: N = C7D6E57A0D1C3A9752618FB497A6E4D1DCEC39EF22318F0C 6776E429ACBC3946F2018E643746E3817C8C389EC1D18DBC0716 E2D94C5C37F691A18D13D6E6F122D03D00090AF7AAEBC5B255CE 806D00B13B27AB93F5E25676B09D01596B57AC3C2612571EE0CD 02019B87ACE4564257C710FD02A9CBB7AD8C8672586F416D536D ʹÓúÍǰһ´ÎÒ»ÑùµÄËã·¨ÎÒÃǾÍÔÚ1ÃëÄھ͵õ½ÁËÄǸöºÏÊʵÄËæ»úÊýÖµ5454542D£¨¶øÇÒÈ«²¿²âÊÔ2µÄ15´Î·½¸öÊýÒ²Ö»ÓÃÁË3Ã룩 ËùÒԾ͵õ½ÁË£º P = D454542D5454542D... Q = F0F0F088F0F0F088... ÇáËɸ㶨dµÄÖµ£º D = HV/nbSNxR14Tvhm4bHRVey+U+qdbHQk8Q+BPfBrY qZYMa14KmBhtGX4flkK+gVoGGX23485UMFwdxMMux5Aw DtEsU+ZTzlQmvNX5zEuDRVg/1jZJGc7NIBltCVy+sOt+ iVqzBnopoHPQHrNGzDkr/615Ch40ns4iIWp3i7PbRs 4 ½áÂÛ ÊDz»ÊǸе½ºÜÓÐÒâË¼ÄØ£¿ÕâÊǸö¹ýʱµÄÈí¼þÁË£¬µ«ËüÈ´ÊÇÒ»¸öºÜºÃµÄRSA1024±»¹¥ÆÆµÄÀý×Ó¡£ Èç¹ûÄãÏëÌÖÂÛ¹ØÓÚ±£»¤£¬»òÊÇÈÎºÎÆäËûÓÐÒâ˼´úÂëµÄ»°Ìâ£¬ËæÊ±¿ÉÒÔÁªÏµÎÒ¡£Ï´ÎÎÊÌâÎÒÃÇÔÙ¼û... ÔٴθÐл {TKM!, FFF,CoRE,GoD,UCF,DAMN, TMG, . . .}. È«Îıϡ£ [ Last edited by sdlj8051 on 2006-10-6 at 11:31 ] |
» ²ÂÄãϲ»¶
321Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ²ÄÁÏÓ뻯¹¤ 264·Ö¸÷¿Æ¹ýAÇø¹ú¼ÒÏß
ÒѾÓÐ3È˻ظ´
277·ÖÇóµ÷¼Á£¬¿çµ÷²ÄÁÏ
ÒѾÓÐ3È˻ظ´
²ÄÁÏ292µ÷¼Á
ÒѾÓÐ6È˻ظ´
²ÄÁÏÓ뻯¹¤¿¼Ñе÷¼Á
ÒѾÓÐ6È˻ظ´
0703»¯Ñ§µ÷¼Á£¬Çóµ¼Ê¦ÊÕ
ÒѾÓÐ3È˻ظ´
ÉúÎïѧѧ˶Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
305·ÖÇóµ÷¼Á£¨Ê³Æ·¹¤³Ì£©
ÒѾÓÐ7È˻ظ´
299Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
085404µç×ÓÐÅÏ¢284·ÖÇóµ÷¼Á
ÒѾÓÐ4È˻ظ´













»Ø¸´´ËÂ¥