好友
阅读权限40
听众
最后登录1970-1-1
|
楼下肯定会问,楼主为啥不用最新版本的? 非要用老版本的?
原因1:老版本的运行速度快
原因2:老版本的界面字体大,楼主看得舒服
原因3:老的配套的教程稍微多点
原因4:老的尚且还没把功能研究明白呢,还用新的岂不是浪费?
为啥修改以下内容?纯属D痛好了(楼主使用系统在影子模式下,不想让程序过多的修改注册表之类的,要全权全权自己做主,好么?再有为了让程序让自己的意愿运行,不想出的对话框一个不要,把神器折腾的顺手才用得舒服好不?)
干掉IDA 启动的对话框
00402376 . E8 81A40600 call idag.0046C7FC 这句F8 就过了,必须进入(F7)
0046C9C7 |. E8 6C080800 call idag.004ED238 ; 这句没出
0046C9CC |. 8A55 C3 mov dl,byte ptr ss:[ebp-0x3D]
0046C9CF |. 84D2 test dl,dl
0046C9D1 75 07 jnz short idag.0046C9DA ; ZF为1 果然跳过,所以JMP
0046C9D3 |. 8A4D C2 mov cl,byte ptr ss:[ebp-0x3E]
0046C9D6 |. 84C9 test cl,cl
0046C9D8 |. 74 04 je short idag.0046C9DE
0046C9DA |> 33C0 xor eax,eax
0046C9DC |. EB 05 jmp short idag.0046C9E3
0046C9DE |> B8 01000000 mov eax,0x1
0046C9E3 |> E8 84160300 call idag.0049E06C ; 就是这句出来的对话框(同时也是叫你授权一下点击的对话框)
ctrl+F8 下来后
0049E5D4 |. E8 EB0C0200 call idag.004BF2C4 这里出来的license user字样(寄存器中
继续的话 出来了
004BF384 |. /74 0B je short idag.004BF391
004BF386 |. |68 DBC75900 push idag.0059C7DB ; ASCII "You have to agree with the license in order to use IDA Pro"
004BF38B |. |E8 DC40F5FF call idag.0041346C
004BF390 |. |59 pop ecx
004BF391 |> \6A 00 push 0x0
004BF393 |. 8D85 D0FAFFFF lea eax,[local.332]
004BF399 |. B9 01000000 mov ecx,0x1
004BF39E |. B2 01 mov dl,0x1
004BF3A0 |. E8 CF520300 call idag.004F4674
004BF3A5 |> 8B55 D4 mov edx,[local.11]
004BF3A8 |. 8BC7 mov eax,edi
004BF3AA |. E8 E1500200 call idag.004E4490
004BF3AF |. 8B4D D8 mov ecx,[local.10]
004BF3B2 |. 64:890D 00000>mov dword ptr fs:[0],ecx
004BF3B9 |. 5F pop edi
004BF3BA |. 5E pop esi
004BF3BB |. 5B pop ebx
004BF3BC |. 8BE5 mov esp,ebp
004BF3BE |. 5D pop ebp ; F2 (我们点完同意后,会来到这里,我们的目的让程序自已点同意而不是跳过
004BF3BF \. C3 retn
004BF371 |. E8 FE790A00 call idag.00566D74
004BF376 |. A1 38035C00 mov eax,dword ptr ds:[_LicenseForm]
004BF37B |. 8B10 mov edx,dword ptr ds:[eax]
004BF37D FF92 E8000000 call dword ptr ds:[edx+0xE8] ; 这句出来的 那个授权要点击的 对话 2
004BF383 |. 48 dec eax ; kernel32.BaseThreadInitThunk
004BF384 |. 74 0B je short idag.004BF391 ; nop掉之后 还是出,点agree后来到这里!
004BF386 |. 68 DBC75900 push idag.0059C7DB ; ASCII "You have to agree with the license in order to use IDA Pro"
所以我们这么改:
我们直接在在那个对话框3的call上 JMP到 push的那句上
|
0046C9E3 |> \E8 84160300 call idag.0049E06C ; 就是这句出来的对话框1,内有对话框2
0046C9E8 |. 8B15 440A5D00 mov edx,dword ptr ds:[<&vcl60.Forms::Application>] ; vcl60.Forms::Application
0046C9EE |. 8B0A mov ecx,dword ptr ds:[edx]
0046C9F0 |. 8A81 9C000000 mov al,byte ptr ds:[ecx+0x9C]
0046C9F6 |. 84C0 test al,al
0046C9F8 |. 74 07 je short idag.0046CA01
0046C9FA |. 6A 00 push 0x0
0046C9FC |. E8 5BD30F00 call <jmp.&IDA.qexit>
0046CA01 |> 6A 00 push 0x0
0046CA03 |. 8B15 CCC05B00 mov edx,dword ptr ds:[0x5BC0CC] ; idag._IdaWindow
0046CA09 |. 8B02 mov eax,dword ptr ds:[edx]
0046CA0B |. E8 78BD0F00 call <jmp.&vcl60.Controls::TWinControl::GetHandle>
0046CA10 |. 50 push eax ; |hWnd = NULL
0046CA11 |. E8 00DB0F00 call <jmp.&USER32.EnableWindow> ; \EnableWindow
0046CA16 |. 66:C745 D4 20>mov word ptr ss:[ebp-0x2C],0x20
0046CA1C |. C645 F0 02 mov byte ptr ss:[ebp-0x10],0x2
0046CA20 |. 33D2 xor edx,edx
0046CA22 |. 8B0D DCC05B00 mov ecx,dword ptr ds:[0x5BC0DC] ; idag._FOptions
0046CA28 |. 8955 F1 mov dword ptr ss:[ebp-0xF],edx
0046CA2B |. FF45 E0 inc [local.8]
0046CA2E |. 66:C745 D4 2C>mov word ptr ss:[ebp-0x2C],0x2C
0046CA34 |. 8B01 mov eax,dword ptr ds:[ecx]
0046CA36 |. 8B90 B0040000 mov edx,dword ptr ds:[eax+0x4B0]
0046CA3C |. 8A4A 57 mov cl,byte ptr ds:[edx+0x57]
0046CA3F |. 84C9 test cl,cl
0046CA41 |. 74 26 je short idag.0046CA69
0046CA43 |. 8D4D F0 lea ecx,[local.4]
0046CA46 |. BA A93D5800 mov edx,idag.00583DA9 ; ASCII "count(/ida/templates/category/template)"
0046CA4B |. B8 B4095C00 mov eax,idag.005C09B4
0046CA50 |. E8 234C0800 call idag.004F1678
0046CA55 |. 84C0 test al,al
0046CA57 |. 74 10 je short idag.0046CA69
0046CA59 |. 0FBE45 F0 movsx eax,byte ptr ss:[ebp-0x10]
0046CA5D |. 83F8 02 cmp eax,0x2
0046CA60 |. 75 07 jnz short idag.0046CA69
0046CA62 |. 8B55 F1 mov edx,dword ptr ss:[ebp-0xF]
0046CA65 |. 85D2 test edx,edx
0046CA67 |. 7F 04 jg short idag.0046CA6D
0046CA69 |> 33D2 xor edx,edx
0046CA6B |. EB 05 jmp short idag.0046CA72
0046CA6D |> BA 01000000 mov edx,0x1
0046CA72 |> A1 CCC05B00 mov eax,dword ptr ds:[0x5BC0CC]
0046CA77 |. 8B08 mov ecx,dword ptr ds:[eax]
0046CA79 |. 8B81 F4020000 mov eax,dword ptr ds:[ecx+0x2F4]
0046CA7F |. E8 5AB80F00 call <jmp.&vcl60.Actnlist::TCustomAction::SetVisible>
0046CA84 |. 8A55 C3 mov dl,byte ptr ss:[ebp-0x3D]
0046CA87 |. 84D2 test dl,dl
0046CA89 |. 75 0E jnz short idag.0046CA99
0046CA8B |. 8A4D C2 mov cl,byte ptr ss:[ebp-0x3E]
0046CA8E |. 84C9 test cl,cl
0046CA90 |. 75 07 jnz short idag.0046CA99
0046CA92 |. E8 11280300 call idag.0049F2A8 ; 出来第3个对话框
0049F2A8 /$ 55 push ebp
0049F2A9 |. 8BEC mov ebp,esp
0049F2AB |. 83C4 D0 add esp,-0x30
0049F2AE |. 53 push ebx
0049F2AF |. 56 push esi
0049F2B0 |. B8 A4455900 mov eax,idag.005945A4
0049F2B5 |. E8 BE620B00 call idag.00555578
0049F2BA |. 6A 00 push 0x0
0049F2BC |. B8 1DBB5A00 mov eax,idag.005ABB1D ; ASCII "DisplayWelcome"
0049F2C1 |. B9 01000000 mov ecx,0x1
0049F2C6 |. 33D2 xor edx,edx
0049F2C8 |. E8 A7530500 call idag.004F4674
0049F2CD |. 85C0 test eax,eax
0049F2CF |. 0F95C0 setne al
0049F2D2 |. 83E0 01 and eax,0x1
0049F2D5 |. 84C0 test al,al
0049F2D7 0F84 6A010000 je idag.0049F447 ; 这句如果 jmp的话 就直接 进到IDA调试器里边去了
总结:
调试上面这段程序时我们要配合Revo Uninstaller Pro的清空注册表操作
下一部预告: 自动复选框 挑勾,不想要的对话框再继续折腾。
|
免费评分
-
查看全部评分
|