给IDA 5.5 做手术 系列之一:
楼下肯定会问,楼主为啥不用最新版本的? 非要用老版本的?
原因1:老版本的运行速度快
原因2:老版本的界面字体大,楼主看得舒服
原因3:老的配套的教程稍微多点
原因4:老的尚且还没把功能研究明白呢,还用新的岂不是浪费?
为啥修改以下内容?纯属D痛好了(楼主使用系统在影子模式下,不想让程序过多的修改注册表之类的,要全权全权自己做主,好么?再有为了让程序让自己的意愿运行,不想出的对话框一个不要,把神器折腾的顺手才用得舒服好不?)
static/image/hrline/line3.png
干掉IDA 启动的对话框
00402376 .E8 81A40600 call idag.0046C7FC 这句F8 就过了,必须进入(F7)
0046C9C7|.E8 6C080800 call idag.004ED238 ;这句没出
0046C9CC|.8A55 C3 mov dl,byte ptr ss:
0046C9CF|.84D2 test dl,dl
0046C9D1 75 07 jnz short idag.0046C9DA ;ZF为1 果然跳过,所以JMP
0046C9D3|.8A4D C2 mov cl,byte ptr ss:
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,
004BF399|.B9 01000000 mov ecx,0x1
004BF39E|.B2 01 mov dl,0x1
004BF3A0|.E8 CF520300 call idag.004F4674
004BF3A5|>8B55 D4 mov edx,
004BF3A8|.8BC7 mov eax,edi
004BF3AA|.E8 E1500200 call idag.004E4490
004BF3AF|.8B4D D8 mov ecx,
004BF3B2|.64:890D 00000>mov dword ptr fs:,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:
004BF37B|.8B10 mov edx,dword ptr ds:
004BF37D FF92 E8000000 call dword ptr ds: ;这句出来的 那个授权要点击的 对话 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:
0046C9F0|.8A81 9C000000 mov al,byte ptr ds:
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: ;idag._IdaWindow
0046CA09|.8B02 mov eax,dword ptr ds:
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:,0x20
0046CA1C|.C645 F0 02 mov byte ptr ss:,0x2
0046CA20|.33D2 xor edx,edx
0046CA22|.8B0D DCC05B00 mov ecx,dword ptr ds: ;idag._FOptions
0046CA28|.8955 F1 mov dword ptr ss:,edx
0046CA2B|.FF45 E0 inc
0046CA2E|.66:C745 D4 2C>mov word ptr ss:,0x2C
0046CA34|.8B01 mov eax,dword ptr ds:
0046CA36|.8B90 B0040000 mov edx,dword ptr ds:
0046CA3C|.8A4A 57 mov cl,byte ptr ds:
0046CA3F|.84C9 test cl,cl
0046CA41|.74 26 je short idag.0046CA69
0046CA43|.8D4D F0 lea ecx,
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:
0046CA5D|.83F8 02 cmp eax,0x2
0046CA60|.75 07 jnz short idag.0046CA69
0046CA62|.8B55 F1 mov edx,dword ptr ss:
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:
0046CA77|.8B08 mov ecx,dword ptr ds:
0046CA79|.8B81 F4020000 mov eax,dword ptr ds:
0046CA7F|.E8 5AB80F00 call <jmp.&vcl60.Actnlist::TCustomAction::SetVisible>
0046CA84|.8A55 C3 mov dl,byte ptr ss:
0046CA87|.84D2 test dl,dl
0046CA89|.75 0E jnz short idag.0046CA99
0046CA8B|.8A4D C2 mov cl,byte ptr ss:
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的清空注册表操作
static/image/hrline/1.gif
下一部预告: 自动复选框 挑勾,不想要的对话框再继续折腾。
感觉可以申请精华啊
这些全是比较D痛和不顺眼的。
这里默认我要它自己 主动 挑上勾勾
对于我小白来说我只能顶贴赞一个了、、、、
膜拜啊 问一下大神 IDA 没有保护吗?{:1_937:} 学习学习 感谢大神 感谢分享收藏了 有时间的话,楼主做几课IDA基本使用的教程吧。{:301_997:} 楼主的草莓蛮诱人的
页:
[1]
2