Subject: [HC] Registry Search + Replace v2.10 追踪重点.?= Date: Sat, 11 Apr 1998 22:50:41 +0800 From: Error Free <errfree@te.fcu.edu.tw> Organization: UnError Station To: HC Mailing List <post@hc.ml.org> Hello ! 网页 http://www.iserv.net/~sjhswdev/ 档案 http://www.iserv.net/~sjhswdev/REGSRCH2.ZIP 1.填入 User Name: 2.填入 User: 3.填入 Number: , 格式 xxxxxxxx-xxxx , x 是 0 - F . 4.Number 的格式对, O.K 才会给你按. 5.用 BPX GetWindowTextA, 来拦 被拦下来, BD * , 暂停以前的中断点, List 应该如下: USER32!GetWindowTextA 022F:BFF61718 MOV CL,A7 022F:BFF6171A PUSH EBP 022F:BFF6171B MOV EBP,ESP 6.用 F12 慢慢返回, 你要返回很多层, 好像要又到了目标领空叁次... 022F:0040B2DE ADD ESP,10 ; <- 假你不是太没有毅力的话, 应该是找的到这里.. 022F:0040B2E1 CMP EAX,01 022F:0040B2E4 JNZ 0040B39B 022F:0040B2EA PUSH 00413174 022F:0040B2EF LEA ECX,[ESP+18] 022F:0040B2F3 CALL 0040B796 022F:0040B2F8 MOV BYTE PTR [ESP+20],03 ; 022F:0040B2FD CALL 00401030 ; <- 这个 CALL 是要害, 进入看看.. 022F:0040B302 MOV EAX,[EAX+000000CC] ; <- EAX 由此取得 022F:0040B308 LEA ECX,[ESP+10] : : : : : : 022F:0040B329 MOV EDI,EAX ; <- 原来 EDI 是取至 EAX 022F:0040B32B MOV BYTE PTR [ESP+20],02 ; <- 在这里改 EDI 值, 实验会不会被改. 022F:0040B330 CALL 0040B766 ; <- 这个 CALL 不会影响到 EDI . 022F:0040B335 TEST EDI,EDI ; <- EDI = 0, 就会 Z . 022F:0040B337 PUSH 00 022F:0040B339 JZ 0040B38F ; <- 跟据实验, 是 Z 就注册失败. 022F:0040B33B PUSH 40 022F:0040B33D PUSH 00413110 7.进入以上那个要害的 CALL 後, 慢慢 Trace, 应该会到如下: : : : : : : 022F:00405AE1 PUSH EAX 022F:00405AE2 PUSH EDI 022F:00405AE3 MOV ECX,ESI 022F:00405AE5 CALL 00406220 022F:00405AEA CMP EBX,EAX ; <- 看看这里的 EAX & EBX 之值.. 022F:00405AEC JNZ 00405B7A 022F:00405AF2 MOV EAX,[EDI] 022F:00405AF4 MOV EDI,[KERNEL32!lstrcpyn] 022F:00405AFA PUSH 40 022F:00405AFC LEA ECX,[ESI+00000104] 022F:00405B02 PUSH EAX 022F:00405B03 PUSH ECX 022F:00405B04 CALL EDI ; <- 由上可知, 这是 CALL lstrcpyn , 比较字串 8.好吧! 就讲到这里哦! 其它应该没问题吧! ... Error Free ... -- 如欲取消订阅, 请 mailto:req@hc.ml.org , 内文写上 unsubscribe hc 即可, 谢谢.