ã¯ã©ãã¯ã«é¢ããããã€ãã®æ å ±ïŒ
- ãã¡ã€ã«ïŒ ZeroNightsCrackME.exe
- ãã©ãããã©ãŒã ïŒ Windows 7ïŒ64ãããïŒ
- ããã«ãŒïŒãªã
- ã¢ã³ããããã°ïŒã€ãŸãããŸããã§ãã
- 解決çïŒã¡ãŒã«/ã·ãªã¢ã«æå¹ãã¢
ããŒã«ïŒ
- OllyDbg SnD 2.2
- IDA Pro 6.1
- ããã€ãã®ç°çœè³ª
ãœãªã¥ãŒã·ã§ã³ã«åãæãããŸããã...
åæ
ã¢ããªã±ãŒã·ã§ã³ã®ãããã³ã°ã¯ãåžžã«ãã®åäœã®èµ·åãšè¡šé¢çãªèª¿æ»ããå§ãŸããŸãã ã¯ã©ãã¯ãå®è¡ããŠãããŒã¿å ¥åã«å¯Ÿããå¿çã確èªããŸãããã

å³ 1
ãæ³åã®ãšããã誀ã£ãŠå ¥åãããã·ãªã¢ã«ã³ãŒãã«ã€ããŠéç¥ãããŸãã
ããã§ã¯ãIDA Proã§éããŠãè¡ãæ€çŽ¢ãããã®ãã¬ãŒãã衚瀺ãããŠããå ŽæãèŠã€ããŠã¿ãŸãããã
ãæååãŠã£ã³ããŠãã¿ãã«ç§»åãïŒãããªããã°ïŒããFailãSerial is invalid !!!ããšããè¡ãæ¢ããŸãïŒ

å³ 2
ç§ãã¡ã®èå³ã®ããç·ã®äžã§ãç§ãã¡ã¯ä»ã«ãå£ããé¢çœããã®ãèŠãŸãã ããããã®è¡ãã¯ãªãã¯ããŠããªã³ã¯ã³ãŒãã«ç§»åããŸãã ãã®çµæã次ã®ããã«ãªããŸãã

å³ 3
æããã«ãªã£ããšãããã-é¢æ°sub_4012D0ã§ãã§ãã¯ãè¡ãããŸãã å°ãäžã«ã¹ã¯ããŒã«ãããšïŒæåéãç»é¢ã®ååïŒãå¥ã®èå³æ·±ããã€ã³ãã衚瀺ãããŸãã

å³ 4
ããã§ã¯ã GetWindowTextAé¢æ°ãžã®2ã€ã®åŒã³åºãã確èªããŸãã åã®å³ãèæ ®ãããšãäž¡æ¹ã®æ©èœãé»åã¡ãŒã«/ã·ãªã¢ã«ãã©ãŒã ã®ãã£ãŒã«ãããããŒã¿ãåä¿¡ããããã«äœ¿çšãããããšãæããã«ãªããŸãã
ååŸããããŒã¿ã«åºã¥ããŠãããã«éçºããããã®2ã€ã®ã·ããªãªããããŸãã
- æåããå§ããŸãã GetWindowTextAé¢æ°ã«ãã¬ãŒã¯ãèšå®ããããŒã¿ã®å€æŽãç£èŠããŸãã ã¡ãœããã¯é·ããè¿·åã«ãªãå¯èœæ§ããããŸãã
- æåŸããå§ããŸãã çµæã«åœ±é¿ãäžããã³ãŒãïŒãã®å Žåã¯æå/倱æãŠã£ã³ããŠã®åºåïŒãèŠã€ããå察æ¹åã«ãããã解ããŸãã ãã®æ¹æ³ã¯ãé«éã§çéå ¥ãã§èå³æ·±ããã®ã§ãã
ã¯ã©ãã¯ã§æ±ºå®ãããšãã2çªç®ã®ãã¹ãéžæããŸãããããã¯ãé«éïŒIMHOïŒã§ãã£ãã ãã§ãªããæå¹ãªãã¢ãããŒãããŠã¹ãã€ãããã£ãããã§ãã ããã€ãã®ããªã声ã§ãããã¯åäœããŸãããåäœããå Žåã圌ãã¯éåžžã1ã€ã®æå¹ãªãã¢ãæäŸããã ãã§ãªããã¢ã«ãŽãªãºã èªäœã埩å ããããã«æ±ããŸãã æå¹ãªãã¢ã®ç£ç£ã®äžã§ïŒããªãæåŸ ãããŠããïŒç§ã=ïŒãç Žã£ããšèšãããšãå ã«èŠãŠ
ããããé çªã«åããŸããã...
éèŠãªè©³çŽ°ãæ¢ã
æåŸããè¡ãããšã«ããã®ã§ãæåã«ãã¹ãããšã¯ãå°å ¥ãããã·ãªã¢ã«ã®æåãŸãã¯å€±æã®çµæã«åœ±é¿ãäžãããã®ãå€æããããšã§ããïŒ
æ€èšŒè¡š
ãã®è³ªåã«çããããã«ãsub_4012D0ã®åŒã³åºãã®çŽåŸã®ã³ãŒãè¡ãæåã«èŠãŠã¿ãŸãããã å³ã«åºã¥ã å³3ã¯ãEAXã¬ãžã¹ã¿ããã§ãã¯ãããŠããããšã瀺ããŠããŸãã ãŒãã®å Žåã¯ã倱æãã«é²ã¿ãããã§ãªãå Žåã¯ãè¯å¥œãã«é²ã¿ãŸãã
ããŠãè¯å®çãªçµæãåŒã³åºãã«ã¯ãEAXã¬ãžã¹ã¿ã®sub_4012D0é¢æ°ããŒã以å€ã®çµæãè¿ãå¿ èŠããããŸãã
ãããç¥ã£ãŠãsub_4012D0é¢æ°èªäœã«é²ã¿ããã®çµãããèŠã€ããŠããŒã以å€ã®å€ã®EAXã®èšå®ã«åœ±é¿ãäžãããã®ãå€æããŠã¿ãŸãããã èšã£ãïŒ

å³ 5
Idaã¯ãé¢æ°ã«å°ãªããšã2ã€ã®åºå ïŒéã§åŒ·èª¿è¡šç€ºïŒãããããšãæ確ã«ããŸããã ããã«ãç·ã®ãã¬ãŒã ã®åºå㯠EAXã¬ãžã¹ã¿ããªã»ããããéã«èµ€ã®ãã¬ãŒã ã®åºåã¯1ã«èšå®ãããŸãã
ããã決ããŠãä»åºŠã¯èµ€æ å ã®ãããã¯ã®åã«ããã³ãŒããèŠã€ããŸãããã ãããè¡ãã«ã¯ãOlkaïŒOllyDbgïŒã䜿çšããŸãã ãªãOlyaãªã®ãã第äžã«ïŒåœŒå¥³ã¯IdaïŒããŸããŸãªãã¬ãŒã¯ãçžäºåç §ã圌女ã®æ³šæããããïŒãããæ確ãªã¢ã€ãã¢ãïŒå ·äœçã«ã¯ç§ãã¡ã®ã¿ã¹ã¯ã§ïŒäžããŠããããã§ãã

å³ 6
æ³šïŒ OllyDbgãéãåã«ãã¢ãã¬ã¹ç©ºéã®ã©ã³ãã åãæ åœããã»ãã¥ãªãã£ã¡ã«ããºã ã§ããASLRãç¡å¹ã«ããããšããå§ãããŸãã ããã¯ãã¬ãžã¹ããªã®ãã©ã³ããHKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Managementãã§è¡ãããå€ã0ãã§ããŒãMoveImagesãïŒDWORDïŒãäœæããOSãåèµ·åããŸãã ãããè¡ããªããšãã¢ããªã±ãŒã·ã§ã³ãåèµ·åãããã³ã«ã¢ãã¬ã¹ãå€æŽãããŸã...
å³ å³6ã¯ãã¬ãžã¹ã¿EAX = 1ã®èšå®ã®åã«ç¹å®ã®äºéãµã€ã¯ã«ïŒã¢ãã¬ã¹0x401440-0x401464ïŒãç¶ãããšã瀺ããŠããŸãã ãããæåã®éèŠãªèŠçŽ ã§ãããäºè£ã解決ããããã®åºçºç¹ã§ãã
ã¢ãã¬ã¹0x401440ã«äºè£ãå ¥ããŠãæåã®ãã§ãã¯ãè¡ãå ŽåïŒ
泚ïŒå ¥åãã£ãŒã«ãã§ã111122223333444455ã以å€ã®è¡ã䜿çšãããšãããã«2ã€ã®åé¡ã«çŽé¢ããããšã«ãªããŸãã æåã¯lengthã§ã2çªç®ã¯ã·ãªã¢ã«ã³ãŒãã§äœ¿çšã§ããæå¹ãªæåã§ãã ãããã®å¶éã®åå ãšãªãã³ãŒãã®å®çŸ©ã¯ããªãã«ãä»»ãããŸãã

å³ 7
è¡0x401449ã§ãã¢ãã¬ã¹ïŒç§ã®å ŽåïŒ0x18FB28ã«ããå€ã§ãŠãããããã§ãã¯ãããŠããããšãããããŸãã ããã«ããµã€ã¯ã«å šäœãæ£åžžã«å®äºããå ŽåïŒå¿ èŠãªã¢ãã¬ã¹ã§ãã©ã³ããŸãã¯å€ãæäœããããšã«ãããããã§ãªãå Žåã¯ãããªããããŠããããšãç解ããŸãïŒãåèš9åã®èŠçŽ ãããããšãããããŸãïŒãµã€ãºã¯4ãã€ãã§ãïŒã

å³ 8
ãããã®9ã€ã®èŠçŽ ã«ãæ€èšŒããŒãã«ããšããååãä»ããŸããã ç§ã®ããã«ãèŠçŽ ã®å€ãã«ã¹ã¿ãã€ãºããå ŽåïŒã«ãŒãã§ã®æ€èšŒäžïŒãããªããšç§ã¯ãã®çµæãåŸãã¯ãã§ãã

å³ 9
ã€ãŸããæçµçã«ïŒç¥ç§°ïŒã100010001ã®ããã«ãªããŸãã
éèŠãªèŠçŽ ã®å®çŸ©ãç¶ç¶ãã以äžã決å®ããããšããŸãã
誰ãã¢ãã¬ã¹0x18FB28-0x18FB48ã«æžã蟌ã¿ãŸããïŒ
ãæ€èšŒããŒãã«ãã«èšå ¥ããã³ãŒã
ãã®ã³ãŒããæ€åºããã«ã¯ã次ãå®è¡ããŸãã
- ã¯ã©ãã¯ãç¶è¡ããŸãïŒOlkaã§F9ãæŒããŸãïŒã
- åŒã³åºãsub_4012D0ã«ãã¬ãŒã¯ãã€ã³ããé 眮ããŸãïŒãŸãã¯æ¢ã«ååšããŠããã¯ãã§ãïŒã
- ã¯ã©ãã¯ã«åãæ¿ãããããã¢ãããŠã£ã³ããŠïŒæåãŸãã¯å€±æã®è©±ïŒã§[OK]ãã¯ãªãã¯ããŸãïŒããã«ãããã¯ã©ãã¯ã®åŠçãç¶è¡ããŸãïŒã
- 次ã«ã[確èª]ãã¿ã³ãã¯ãªãã¯ããŠã·ãªã¢ã«ã®åèšç®ãéå§ããŸãããã®åŸãsub_4012D0ã®åŒã³åºãã§åæ¢ããå¿ èŠããããŸãã
- åŒã³åºãsub_4012D0ã®äžã«ç«ã£ãŠãã¢ãã¬ã¹0x18FB28ã®ã¬ã³ãŒãã«ãã¬ãŒã¯ãã€ã³ãã眮ããŸãã
- ãããŠãããäžåºŠF9ãæŒããŸãã
ãã¹ãŠãæ£ããè¡ãããŠããå Žåã¯ãããã«è¡šç€ºãããŸãã

å³ 10
ããã§ãèµ€ãæ ã¯ãæ€èšŒããŒãã«ãã®æåã®èŠçŽ ã®èšç®ãšä¿åã瀺ããéãæ ã¯æ®ãã®8ã€ã®èŠçŽ ã®èšç®ã®ç¶ç¶ã瀺ããŸãã
ã³ãŒãèªäœã¯ãã¢ãã¬ã¹é å0x4011D4-0x4012BBãå æãã3åã®å埩ã䌎ãã«ãŒãã§ãã åå埩ã§ãããŒãã«ã®3ã€ã®èŠçŽ ã®å€ãèšç®ãããŠä¿åãããŸãã ãã®ã³ãŒãã®Pythonã§ã®è¡šçŸã¯æ¬¡ã®ãšããã§ãã
for out_index in range(3): for inner_index in range(3): quotient, remainder = 0, 0 for index in range(3): x, y = index + (out_index*3), index + (inner_index*3) byte = first_serial[x] * second_serial[y] quotient = int(byte / 7) remainder += byte % 7 remainder = remainder % 7 result_table.append(remainder)
first_serialãšsecond_serialã®æå³ã¯ãåŸã»ã©æããã«ãªããŸãã ããã§ãå³ã®åæãç¶ããŸãã 10ã
ç§ãã¡ã¯äœãæã£ãŠããŸãïŒ
- ã¢ãã¬ã¹0x657020ïŒäžæçãªããŒã¿ããïŒ;
- ã¢ãã¬ã¹0x18fadcïŒãããŸããªããŒã¿ãå«ãïŒ;
- ã¢ãã¬ã¹0x18faecïŒå€0x7ïŒ;
- ã¢ãã¬ã¹0x18fae8ïŒå€0x18fb30ïŒã

å³ 11

å³ 12
ã³ãŒããæ éã«æ€èšããçµæã次ã®ããšãããããŸããã
- vadidationããŒãã«ã®èšç®ã§ã¯ãã¢ãã¬ã¹0x18fae8ã¯äœã®é¢ä¿ããããŸããã
- ã¢ãã¬ã¹0x657020ããã³0x18fadcã«ã¯ã9ã€ã®èŠçŽ ãæã€é åããããŸãã 0x657020é åã®å ŽåãåèŠçŽ ã¯1ãã€ãã§ããã0x18fadcé åã®å Žåã4ãã€ãã§ãã
- æ€èšŒããŒãã«ã®åèŠçŽ ãèšç®ãããšããã¢ãã¬ã¹0x18faecããã®å€0x7ã¯éåžžã«ç©æ¥µçã«äœ¿çšãããŸãã
ãã®ããŒã¿ãååŸããããã¢ãã¬ã¹0x657020ããã³0x18fadcã«ããã¢ã¬ã€ãå€å¥ããŠã¿ãŸãããã ããããæã泚ææ·±ã人ã¯ã9 + 9 = 18ãè¿œå ãããšæ¢ã«æ°ã¥ããŠããã§ããããã·ãªã¢ã«ã®ãµã€ãºã18ã«çããããããããããã§ãããšæ³å®ã§ããŸãã ãã ããæåã«çŽ¹ä»ãããã®ãšæããã«äžèŽããŸããã æã泚ææ·±ããã®ã¯ã0x657020é åã®èŠçŽ ããããŸãã§ã¯ããããå°å ¥ããã·ãªã¢ã«çªå·ïŒ111122223ïŒã®èŠçŽ ã®ã·ãŒã±ã³ã¹ã®ååã«äœããã®åœ¢ã§äŒŒãŠããããšã«ããã«æ°ä»ãããšãã§ããŸãã
ä»åŸã¯ãå ¥åãããã·ãªã¢ã«ã³ãŒããå éšè¡šçŸã«å€æããããããèŠèŠããã³ãã®æ€çŽ¢ã§å€æããã®ãå°ãé£ãããªããŸãã
ã¢ãã¬ã¹0x657020ã®èåŸã«é ãããŠãããã®ã¯äœã§ããïŒ
åæãç¶ãã0x657020ã¢ã¬ã€ã«ãŸã äœãå«ãŸããŠããã®ããå€æããŸããïŒ
ãããè¡ãã«ã¯ïŒ
- ã¡ã¢ãªã«ã€ã³ã¹ããŒã«ããããã¹ãŠã®ãã¬ãŒã¯ãåé€ããŸãã
- ã¯ã©ãã¯ãç¶è¡ããŸãïŒOlkaã§F9ãæŒããŸãïŒã
- åŒã³åºãsub_4012D0ã«ã¯ãã¬ãŒã¯ãå¿ èŠã§ãã
- ã¯ã©ãã¯ã«åãæ¿ãããããã¢ãããŠã£ã³ããŠïŒæåãŸãã¯å€±æã®è©±ïŒã§[OK]ãã¯ãªãã¯ããŸãïŒããã«ãããã¯ã©ãã¯ã®åŠçãç¶è¡ããŸãïŒã
- 次ã«ã[確èª]ãã¿ã³ãã¯ãªãã¯ããŠã·ãªã¢ã«ã®åèšç®ãéå§ããŸãããã®åŸãsub_4012D0ã®åŒã³åºãã§åæ¢ããå¿ èŠããããŸãã
- åŒã³åºãsub_4012D0ã®äžã«ç«ã£ãŠãã¬ã³ãŒãã®ã¢ãã¬ã¹0x657020ã«ãã¬ãŒã¯ã眮ããŸãã
- 次ã«F9ã2åæŒããŸãïŒæåã¯ã©ã€ãã©ãªã³ãŒãã®ã©ããã«ã2çªç®ã¯é©åãªå Žæã«ãããŸãïŒã
ãã¹ãŠãæ£ããè¡ãããå Žåã次ã®ããã«ãªããŸãã

å³ 13
èµ€ã§åŒ·èª¿è¡šç€ºãããã³ãŒãããã¬ãŒã¹ãããšã次ã®ããšãããããŸãã
- ã·ãªã¢ã«ã³ãŒãã®æåã®9ãã€ãïŒ111122223ïŒã¯0x657020ã«èšé²ãããŸãã
- ã·ãªã¢ã«ã³ãŒãã¯ãã¢ãã¬ã¹0x18FBC4ããååŸãããŸãïŒç§ã®å ŽåïŒã
0x657020ã¢ã¬ã€ã«é¢ããç§ãã¡ã®çãã¯ãã£ãããšç¢ºèªããå§ããŠããŸãã ã¢ãã¬ã¹0x18FBC4ïŒå ¥åããã·ãªã¢ã«çªå·å šäœãæ ŒçŽãããŠããŸãïŒã«ã€ããŠã¯ãæåã«ããã§ç¢ºèªããå¿ èŠããããŸãã

å³ 14
ããã§ãèµ€ããã¬ãŒã ã¯ã·ãªã¢ã«ã«é¢ããæ å ±ãéã¯é»åã¡ãŒã«ãä¿åãããŠããå Žæã匷調ããŠããŸãã
ãã ããã·ãªã¢ã«ã«æ»ããŸãããããããªããšãæ°ãæ£ã£ãŠããŸããŸããã å³ããã®æ瀺ããã©ã£ãåŸ 13ã0x657020ã§ã¯ãã·ãªã¢ã«ã®ååãä¿åãããŠããŸãã

å³ 15
ããããç§ãã¡ãç¥ã£ãŠããããã«ããããã«ç°ãªããã€ããããã«ä¿åããå¿ èŠããããŸãã ãããã£ãŠãã»ãšãã©ã®å Žåããã®ååã®ã·ãªã¢ã«ã«å¯ŸããŠããã€ãã®æäœãå®è¡ãããŸãã ã©ããèŠã€ããã«ã¯ãããäžåºŠF9ãæŒããŸãã ããããããã«ããŸãïŒ

å³ 16
ããã§ãèµ€æ ã¯0x657020é åã®æåã®èŠçŽ ã®èšç®ãšæ°ããå€ã®ä¿åã瀺ããéæ ã¯æ®ãã®8ã€ã®èŠçŽ ã®èšç®ã®ç¶ç¶ã瀺ããŸãã
ã³ãŒãèªäœã¯ãã¢ãã¬ã¹é å0x401070-0x401165ãå æããŸãã åãèšç®ãåèŠçŽ ã«å¯ŸããŠå®è¡ãããŸãã Pythonã§ã®ãããã®èšç®ã®åçã®ã³ãŒãã以äžã«ç€ºããŸãã
def find_index(byte): byte_1 = byte >> 4 byte_2 = byte_1 << 3 res = (byte - byte_2) res = res & 0x0f return res # 0x657020 # byte = 0x657020[0] = 0x31 # index = find_index(byte) # 0x657020[0] = 0x40CB28[index]
å³ãããèŠããš 16ãããã€ãã®ã¢ãã¬ã¹0x40CB28ã«æ³šæããŠãã ããã å°ãåŸã§å 容ã«æ»ããŸãã
ãã¹ãŠã®å€æãå®è¡ããåŸãå³ã«ç€ºããçµæãšéåžžã«ãã䌌ãçµæãåŸãããŸãã 11ã

å³ 17
å³ãæ¯èŒãããš 11ç§å³ 17ããã®åŸããã€ããå°ãæ··ãã£ãŠããããšã«æ³šæããŠãã ãã...æ確ã«ããããã«ãäžã®11çªç®ã®å³ãè€è£œããŸãã

å³ 18
ãã€ãããã·ã³ã°ãåŠçããã³ãŒããæ€åºããã«ã¯ãããäžåºŠF9ãæŒããŸãã
ãã®åŸãç§ãã¡ã¯ãã§ã«ããªãã¿ã®å³ãå³ããååŸããŸãã 13äœïŒ

å³ 19
ã³ãŒããåæããåŸãã¢ãã¬ã¹0x656EC8ããæ°ããå€ãååŸãããããšãæããã«ãªããŸãã

å³ 20
0x656EC8ã¢ã¬ã€ã«ããŒã¿ãåã蟌ãã³ãŒãã以äžã«ç€ºããŸãã ã©ããã£ãŠåœŒãèŠã€ããã®ããèªåã§ç解ã§ãããšæããŸãã èšäºã¯ãŸã ãŽã ã§ã¯ãããŸãã...

å³ 21
ããã§äœãèµ·ãã£ãŠããŸããïŒ
EBXã¬ãžã¹ã¿ã«ã¯ãèŠçŽ ã0x656EC8ã¢ã¬ã€ã«çŽæ¥ã³ããŒãããã¢ãã¬ã¹0x657020ãå«ãŸããŠããŸãã ã³ããŒãèŠããšãããã€ãã®èŠçŽ ãæ··åšããŠããããšãããããŸãã
0x657020ïŒ 0ã1ã2ã3ã4ã5ã6ã7ã8
0x656EC8ïŒ0ã1ã2ã4ã5ã3ã8ã6ã7
ãã¢ãã¬ã¹0x657020ã®èåŸã«é ãããŠãããã®ã¯äœã§ããïŒããšãã質åã«çããã®ã§ã調æ»ãç¶ããä»ã®è³ªåã«çããããšãã§ããŸãã
- ã¢ãã¬ã¹0x40CB28ã®èåŸã«é ãããŠãããã®ïŒ0x657020ã¢ã¬ã€ã®åæäžã«çºèŠãããã°ããïŒã
- ã¢ãã¬ã¹0x18FADCïŒãµã€ãºããããã4ãã€ãã®9ã€ã®èŠçŽ ãæ ŒçŽããé åïŒã®åŸãã«é ãããŠãããã®ã
ASCII掟çããŒãã«
0x18FADCã¢ã¬ã€ã®èåŸã«é ããŠããããŒã¿ã®åæã¯ãç¬ç«ããéçºã®ããã«æ®ãããŠããŸãã 0x657020ã¢ã¬ã€ãšåæ§ã«è¡åããå¿ èŠããããŸãã 0x18FADCé åã«ã¯ã·ãªã¢ã«ã³ãŒãã®åŸåãæ ŒçŽãããŠãããšããèšããŸããã
ããã§ã¯ãã¢ãã¬ã¹0x40B28ãäœã§ããããåæããŸãã ãããè¡ãã«ã¯ã次ã®æäœãå®è¡ããŸãã
- ãã¹ãŠã®ã¡ã¢ãªããã¯ããªãã«ããŸãã
- ã¯ã©ãã¯ãç¶è¡ããŸãïŒOlkaã§F9ãæŒããŸãïŒã
- åŒã³åºãsub_4012D0ã«ã¯ãã¬ãŒã¯ãå¿ èŠã§ãã
- ã¯ã©ãã¯ã«åãæ¿ãããããã¢ãããŠã£ã³ããŠïŒæåãŸãã¯å€±æã®è©±ïŒã§[OK]ãã¯ãªãã¯ããŸãïŒããã«ãããã¯ã©ãã¯ã®åŠçãç¶è¡ããŸãïŒã
- 次ã«ã[確èª]ãã¿ã³ãã¯ãªãã¯ããŠã·ãªã¢ã«ã®åèšç®ãéå§ããŸãããã®åŸãsub_4012D0ã®åŒã³åºãã§åæ¢ããå¿ èŠããããŸãã
- åŒã³åºãsub_4012D0ã«ç«ã£ãŠãã¬ã³ãŒãã®ã¢ãã¬ã¹0x40B28ã«ãã¬ãŒã¯ã眮ããŸãã
- 次ã«ãF9ãã¯ãªãã¯ããŸãã
ãã¹ãŠãæ£ããè¡ãããå Žåã次ã®ããã«ãªããŸãã

å³ 22
èµ€æ å ã®ã³ãŒãã¯ASCIIããŒãã«ãäœæãã0x40B28ã«ä¿åãããŸãã ã¡ãŒã«ã«åºã¥ããéããã¬ãŒã ã§ãäœæãããããŒãã«ãå€æãããŸãã ãã®å€æã®æçµçµæã¯ãã眮æè¡šããšåŒã°ããŸãã
Pythonã§ã®ãã®ã³ãŒãã®è¡šçŸã¯æ¬¡ã®ãšããã§ãã
mail = "support@reverse4you.org" def get_table(mail): ascii_table = [] for index in range(256): ascii_table.append(index) mail = list(mail) len_mail = len(mail) index = 0 accumulate_index = 0 while(index < 256): mail_index = index % len_mail byte_ascii = ascii_table[index] byte_mail = ord(mail[mail_index]) accumulate_index += byte_mail accumulate_index += byte_ascii accumulate_index = accumulate_index & 0xFF byte = ascii_table[accumulate_index] ascii_table[accumulate_index] = byte_ascii ascii_table[index] = byte index += 1 return ascii_table
ããã§ãšãããããŸãããã®æç¹ã§ãæªç¥ã®ç¬éããã¹ãŠæããã«ããæå¹ãªã¡ãŒã«/ã·ãªã¢ã«ãã¢ãäœæããããã«å¿ èŠãªãã¹ãŠã®éèŠãªèŠçŽ ãçºèŠããŸããã
ãã¹ãŠããŸãšãã
äœããããŸããïŒ
- æå¹ç¯å²ã ã·ãªã¢ã«ã³ãŒãã¯18æåã«çãããªããã°ãªããŸãããããã¯ãæå[0-9]ã[az]ã[AZ]ã§æ§æãããŠããå¿ èŠããããŸãã
- å€æè¡šã å ¥åãããã·ãªã¢ã«ã³ãŒããå éšè¡šçŸã«å€æããããã«äœ¿çšãããŸãã
- ã·ãªã¢ã«ã³ãŒããå éšè¡šçŸã«å€æããã¢ã«ãŽãªãºã ã
- æ€èšŒããŒãã«ã«èšå ¥ããããã®ã¢ã«ãŽãªãºã ã
- æ€èšŒããŒãã«ïŒ100010001ã
äœãå¿ èŠã§ããïŒ
ãã¹ãŠã®å€æãæž¡ããåŸãå¿ èŠãªãæ€èšŒããŒãã«ãïŒ100010001ïŒãååŸã§ããããã«ãã·ãªã¢ã«ã³ãŒããäœæããŸãã
ã©ããã£ãŠãã£ã
ç§ã¯å°ãã°ãã軜èŠããªããã°ãªããªãã£ãããšãèªããªããã°ãªããŸãã...ããŒãããšã1ããæäœãã代ããã«ïŒæ°æéåŸã«ããã«å°éããŸããïŒãã·ãªã¢ã«ã³ãŒãã®å éšè¡šçŸã«åŸã£ãŠãã¹ã¯ãŒããéžæãå§ããŸããã 0xc0ã0x28ã...ã0xffãªã©ã®å€ã䜿çšããŠãå¿ èŠãªãŒããš1ãèŠã€ããããšããŸããïŒã€ãŸããã眮æããŒãã«ãã®æåã®16æåïŒã ãã¡ããééãã§ããã ç§ã¯åã«ååšããªãã£ãé£ããä»äºãæ¢ããŠãããšèšããªããã°ãªããŸããã ããã«ãç§ã¯éåžžã«éèŠãªãã€ããæšãŠãŸããããããã¯åžžã«ç§ã劚害ããŸããïŒããŒãããäžããæ°åã§å²ããšïŒ...äžè¬çã«ãäŒããã¹ãé·ã話...
æåã¯ã1ãã€ãã®å¹æã®å¥ã®ãã€ããžã®äŸåæ§ãå€æããããšããŸããããæçµçã«ã¯åæ§ã®ããŒãã«ã«ãªããŸããïŒæåã®ããŒãžã§ã³ã¯ãåŸã§è¹ã®ãã¹ãŠã®è²ã§ãã€ã³ããããŸããããæ®å¿µãªããåé€ããŸãããããã®1ã€ã¯æ®ã£ãŠããŸãïŒïŒ

å³ 23
ãã®åŸãå€æ¹ã®çµããïŒå€é£çŽåŸïŒã«ããã€ãã®è¯ãèãããããæçµçã«çã®ãã€ãã0xc0ã0x28ã...ãã§ã¯ãªãããŒãããšãã¯ã³ãã䜿çšããããã«ãªããŸããã 0xffã " ãã®ã¢ã€ãã¢ãæãæµ®ããã ãšããã«ãç§ã¯åžžã«ç§ãæ©ãŸããéªéãããäžéãªãã€ããæãåºããŸããïŒããã¯ãæ°åãšããåããããšãã«ããŒãããäžããŸããïŒã ããã«æ°ã¥ããŠãç§ã¯ããã«ã³ã³ãã¥ãŒã¿ãŒãèŠã€ããæåéã1ã2åã§èªåçšã®æå¹ãªãã¢ãåéããŸããã
è©Šã¿ã倱æãããšããå¿ èŠãªãã€ãæ°ã«é¢ããããŸããŸãªçè«ããã°ãããã¹ãã§ããé¢æ°ãããã€ãäœæããŸããã 圌ãã®ãããã§ã2ã3åã§æå¹ãªãã¢ãäœæã§ãããããã䜿çšããŠkeygenãäœæããŸããã ã©ããããããã³ãŒããæé©åãŸãã¯ççž®ããããšããªãã£ããšèšã䟡å€ããããŸãããã®ãããããªãé¢åãªããšãããããŸããïŒãããŠæ£çŽãªãšããã2æ¥ç®ã«æžããåŸãç§ã¯ããã«äœãå ¥ãããããã«ã¯åãããŸããã§ããïŒã ãããã£ãŠããããããŸãèªããªãå Žåã
次ã®ãªã³ã¯ã¯ã3ã€ã®keygens Pashkin 'aã BoRoV ' aããã³ç§ã®ææã®Darwin 'aãèŠã€ããããšãã§ããŸãïŒBoRoV keygenãæã奜ãã§ããïŒã
ã¢ãŒã«ã€ããã¹ã¯ãŒãïŒ
- ãã·ã¥ãã³ïŒ reverse4you.org_4_r00t
- ããŒãŠã£ã³ïŒ AggGgAgaGcGGggCGCG
- BoRoVïŒã¢ãŒã«ã€ããªãã®çŽç²ãªåœ¢åŒã§å©çšå¯èœ
ããã ãã§ãããæž èŽããããšãããããŸããã
***
èšäºã®ç¶ãã¯ãã¡ãã«ãããŸã ã