为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

WKTVBDebugger调试工具

2011-11-02 10页 pdf 920KB 105阅读

用户头像

is_939014

暂无简介

举报
WKTVBDebugger调试工具 ㅜ 8ㄐ Visual Basic〻ᒿ ༦᱄φᵢ⭫ᆆᮽẙᱥɅࣖᇼф䀙ᇼ�ㅢп⡾�ɆⲺ䞃ྍ䖻ࣟ⭫ᆆᮏぁέ⭫ᆆᐛѐ࠰⡾⽴ד⌋ሯ ᵢ֒૷ӡᴿщᴿ࠰⡾ᵹȾԱ֋ᵠ㔅ᵹ࡟ӰҜ䶘䇮ਥθགྷ࡬Ƚ䬶୤ᡌ䙐䗽ؗᚥ㖇㔒Ֆ᫣ᵢ֒૷ Ⲻ㺂Ѱχ↠ᴨȽ㈗᭯Ƚࢳスᵢ֒૷Ⲻ㺂Ѱθൽ䘓ਃɅѣ঄Ӱ≇ާૂള㪍֒ᵹ⌋Ɇθެ㺂ѰӰ ᓊᢵ᣻⴮ᓊⲺ≇Ӂ䍙Աૂ㺂᭵䍙Աθᶺᡆ⣥㖠Ⲻθሼ㻡ד⌋䘳ガࡇӁ䍙ԱȾ ѰҼ㔪ᣚᐸ൰〟ᓅθؓᣚᵹ࡟ӰⲺਾ⌋ᵹⴀθᡇ⽴ሼד⌋ḛ༺ૂᢉ࠱׫ᵹⴍ⡾Ⲻঋփૂ ѠӰȾ⅘䘄⽴Ր਺⮂Ӱ༡〥ᶷѴᣛ׫ᵹⴍ⡾㺂Ѱθᵢ⽴ሼྌࣧѴᣛᴿࣕӰ઎θᒬؓ䇷ѴᣛӰ Ⲻؗᚥу㻡...
WKTVBDebugger调试工具
ㅜ 8ㄐ Visual Basic〻ᒿ ༦᱄φᵢ⭫ᆆᮽẙᱥɅࣖᇼф䀙ᇼ�ㅢп⡾�ɆⲺ䞃ྍ䖻ࣟ⭫ᆆᮏぁέ⭫ᆆᐛѐ࠰⡾⽴ד⌋ሯ ᵢ֒૷ӡᴿщᴿ࠰⡾ᵹȾԱ֋ᵠ㔅ᵹ࡟ӰҜ䶘䇮ਥθགྷ࡬Ƚ䬶୤ᡌ䙐䗽ؗᚥ㖇㔒Ֆ᫣ᵢ֒૷ Ⲻ㺂Ѱχ↠ᴨȽ㈗᭯Ƚࢳスᵢ֒૷Ⲻ㺂Ѱθൽ䘓ਃɅѣ঄Ӱ≇ާૂള㪍֒ᵹ⌋Ɇθެ㺂ѰӰ ᓊᢵ᣻⴮ᓊⲺ≇Ӂ䍙Աૂ㺂᭵䍙Աθᶺᡆ⣥㖠Ⲻθሼ㻡ד⌋䘳ガࡇӁ䍙ԱȾ ѰҼ㔪ᣚᐸ൰〟ᓅθؓᣚᵹ࡟ӰⲺਾ⌋ᵹⴀθᡇ⽴ሼד⌋ḛ༺ૂᢉ࠱׫ᵹⴍ⡾Ⲻঋփૂ ѠӰȾ⅘䘄⽴Ր਺⮂Ӱ༡〥ᶷѴᣛ׫ᵹⴍ⡾㺂Ѱθᵢ⽴ሼྌࣧѴᣛᴿࣕӰ઎θᒬؓ䇷ѴᣛӰ Ⲻؗᚥу㻡⋺䵨Ⱦ Ѵᣛ⭫䈓φδ���ε��������χδ���ε�������� Ֆ ⵕφδ���ε�������� (�PDLOφ GETT#SKHL�FRP�FQ 䙐ؗ൦൶φ्Ӣᐸнስ䐥 ��� ؗ㇧ ⭫ᆆᐛѐ࠰⡾⽴ᙱ㕌ࣔޢᇚ 䛤 㕌φ������ 加密与解密(第三版) www.pediy.com 2  8.5 WKTVBDebugger䈹䈋ᐛޭ ྲ᷌⭘W32Dasm৽≷㕆алݹⴈᨀ׋Ⲵ vbpcode.exe〻ᒿˈሶՊⴻࡠ㧛਽ަ࿉Ⲵԓ⸱ˈ ഐѪᆳн޽ᱟՐ㔏᜿ѹкⲴ≷㕆ԓ⸱Ҷˈਚᴹ⭘ P-code ৽㕆䈁ಘ᡽㜭ᗇࡠ↓⺞Ⲵԓ⸱DŽ VB5/VB6 Ⲵ P-code ৽㕆䈁ಘ⧠൘ᴹ ExdecˈWKTVBDEˈVBDE ㅹDŽSmartCheck 㲭㠚〠н ᭟ᤱ P-code〻ᒿˈնҏਟ֌Ѫ䖵ࣙ䈳䈅ᐕާDŽ WKTVBDEᱟаⅮᔪ・൘ Exdecส⹰кⲴࣘᘱ䈳䈅ᐕާˈᵜ 㢲ԕ↔ᐕާѪֻӻ㓽ྲօ䈳 䈅 P-codeⲴ〻ᒿDŽ 1κᆿ㻻 ᢗ㹼WKTVBDEѫ᮷Ԧቡ㜭ᆼᡀᆹ㻵DŽն䘈ᴹࠐњᯩ䶒㾱⌘᜿алDŽ � ሶⴞḷ䖟Ԧ༽ࡦࡠWKTVBDebuggerᆹ㻵ⴞᖅ䟼䈳䈅ˈণо Loader.exe਼аⴞᖅ˗ � ሶᆹ㻵ⴞᖅⲴWKTVBDE.dll᮷Ԧ༽ࡦࡠ㌫㔏ⴞᖅ䟼˗ � ሶMSVBVM60.DLLᴯᦒᡀ 2003ᒤԕࡽ⡸ᵜDŽ � ྲ᷌㻵䖭䘈ᱟཡ䍕ˈ䈧䈅⵰ޣ䰝аӋᓄ⭘〻ᒿˈྲ VB㕆䈁ಘǃWordㅹ〻ᒿDŽ 2κ⮂䶘 䘀㹼WKTVBDEਾˈঅࠫ㨌অ File/Open ᢃᔰ vbpcode.exe〻ᒿˈሶࠪ⧠മ 8.7ᡰ⽪ ⲴデਓDŽྲ᷌ᨀ⽪ Can NOT find a ENGINE section for the DLL. ѻ㊫Ⲵؑ᚟ˈ䈧৲㘳ᆹ㻵 а㢲᢮৏ഐDŽ 䈤᰾˖ᵜㇷ᮷ẓᱟሩlj࣐ᇶо䀓ᇶNJㅜй⡸ ㅜ 8ㄐ Visual Basic〻ᒿ 㺕ݵˈѪҶ 䱽վҖⲴԧṬˈⴤ᧕ԕ⭥ᆀ᮷ẓᨀ׋㔉മҖ䍝Ҡ㘵DŽ 看雪软件安全网站 http://www.pediy.com kanxue 2008-6-1 第 8章 Visual Basic 程序  3  മ 8.7 WKTVBDEᢃᔰ〻ᒿਾ অࠫ㨌অ Action/Run 㻵䖭〻ᒿDŽѫデਓ⭡ 3њสᵜ䜘࠶㓴ᡀ˖ԓ⸱˄Disassembly ǃ˅ ᰕᘇ˄Log˅ԕ৺ึḸ˄Stack˅デਓˈྲമ 8.8ᡰ⽪DŽ ˄1˅ԓ⸱デਓ 䘉њデਓᱮ⽪ᖃࡽᢗ㹼〻ᒿⲴ৽≷㕆՚ԓ⸱DŽᤷԔṬᔿྲл˖ XXXXXXXX:XXᤷԔ ަѝ XXXXXXXX ᱟᤷԔⲴ޵ᆈ㲊ᤏൠ൰ˈ䐏⵰Ⲵєњᮠᆇᱟԕॱޝ䘋ࡦṬᔿᱮ⽪ Ⲵᵪಘ⸱DŽ⌘᜿ˈਚᴹㅜањᵪಘ⸱㻛ᱮ⽪Ҷˈਾ䶒Ⲵᱟ P-code ᤷԔ˄Պṩᦞਈ䟿઼㠚ਈ 䟿Ⲵн਼㘼н਼ DŽ˅ਖཆˈ൘䈕デਓѝঅࠫ啐ḷਣ䭞ሶᢃᔰભԔ㨌অDŽ ˄2˅ᰕᘇデਓ ᖃ〻ᒿᢗ㹼ᰦˈᱮ⽪〻ᒿᡰᴹਈ䟿Ⲵؑ᚟઼ᨀ⽪⎸᚟DŽᡰԕᖃ䐏䑚䈳䈅ᰦˈ⌘᜿䘉њデਓ ᱟᖸ䟽㾱ⲴDŽᆳሶᨀ׋аӋᴹԧ٬Ⲵؑ᚟ˈᴰ 䟽㾱Ⲵᱟ ᆳˈሶᱮ⽪ᖃࡽᤷԔᢗ㹼ᰦᡰ䘋㹼Ⲵ᫽֌DŽ ԓ ⸱ デ ਓ ᰕ ᘇ デ ਓ ึḸデਓ മ 8.8 WKTVBDEѫデਓ 加密与解密(第三版) www.pediy.com 4  ˄3˅ึḸデਓ ึḸデਓᴹࠐњ⁑ᔿ˖ᆇ㢲ǃᆇᡆৼᆇDŽ䙊䗷䘹ᤙঅ䘹Ṷ EBP ઼ ESPˈԕн਼ᖒᔿᤷ ੁึḸˈєњሬ㡚᤹䫞˖Prev ઼ Next ਟԕ㘫亥DŽP-code 䘀㹼ᴹ࡛ҾՐ㔏Ⲵ CPU 㔃ᶴˈՐ 㔏Ⲵ CPU ᢗ㹼׍䎆Ҿᇴᆈಘ઼ึḸˈ㘼 P-code ਚ֯⭘ึḸˈᡰԕึḸデਓ䶎ᑨ䟽㾱ˈ਴⿽ ᤷԔ䜭䙊䗷ึḸᶕӔᦒᮠᦞDŽ ˄4˅ѝ䜘⣦ᘱḿ ѝ䜘⣦ᘱḿᨀ׋Ҷ䶎ᑨᴹ⭘Ⲵؑ᚟˄㿱മ 8.9 DŽ˅ മ 8.9 ѝ䜘⣦ᘱḿ � Op˖ᱮ⽪ᖃࡽᤷԔⲴᆼᮤᵪಘ⸱˗ � File Offs˖ᱮ⽪ᖃࡽᤷԔⲴ᮷Ԧٿ〫ൠ൰˗ � ᴰл䶒Ⲵањ᮷ᵜṶ˖ᱮ⽪Ⲵᱟ Form1!00402240 ˈ 㺘⽪ᖃࡽᤷԔⲴデփᡆ⁑ඇⲴ ਽〠˗ � Edit ᤹䫞˖ᱟ޵ᆈ㕆䗁ಘⲴᘛᦧ᤹䫞ˈঅࠫ䈕᤹䫞ሶᢃᔰ޵ᆈ㕆䗁ಘˈᆳՊӾᖃࡽ ᤷԔൠ൰༴ᱮ⽪޵ᆈᮠᦞDŽ ˄5˅ᓅ䜘᤹䫞ḿ ᓅ䜘Ⲵ᤹䫞ᐕާḿᨀ׋ྲлࠐњ᫽֌ભԔDŽ � Save Source˖؍ᆈԓ⸱デਓⲴ޵ᇩ˗ � Save Messages˖؍ᆈᰕᘇデਓⲴ޵ᇩ˗ � Clear Messages˖␵䲔ᰕᘇデਓⲴ䇠ᖅ˗ � Help˖ᢃᔰᑞࣙ᮷Ԧ˗ � Form Manager˖ᢃᔰデփ㇑⨶ಘ˗ � Advanced Info˖ᱮ⽪ޣҾ P-code᮷ԦⲴ儈㓗ؑ᚟ǃ⁑ඇǃ㊫઼デփDŽ ˄6˅ח䶒Ⲵ᤹䫞 ח䶒Ⲵ᤹䫞䟼䜭ᱟаӋо䈳䈅ಘᴹޣⲴ࣏㜭᤹䫞DŽ � Memory Dump (Ctrl+M)˖ᢃᔰ޵ᆈ㕆䗁ಘ˗ � Loaded Module Symbols˖ᱮ⽪ㅖਧؑ᚟ሩ䈍Ṷ˗ � String.Refs(Ctrl+S)˖ᱮ⽪Ѣᔿ৲㘳˗ � Step Trace (F8)˖⴨ᖃҾ SoftICEⲴ TભԔˈਟԕ䐏ޕ CALL䟼˗ � Trace Ret (F12)˖⴨ᖃҾ SoftICEⲴ P RET ભԔ˗ � Trace Over (F10)˖অ↕䐏䑚ˈ⴨ᖃҾ SoftICEѝⲴ P ભԔ˗ � Trace X (F6)˖ᢗ㹼ᤷᇊ㹼ᮠⲴᤷԔ˗ � API (CTRL+B)˖ᱮ⽪ Exported VM Functions デਓ˗ � Opcode (Ctrl+O)˖ᱮ⽪ Opcodes Control Dialog デਓ˗ � On Execution (Ctrl+E)˖ᱮ⽪ Current BPX List デਓDŽ ˄7˅޵ᆈ㕆䗁ಘ ᤹ Ctrl+M䭞ᢃᔰ޵ᆈ㕆䗁ಘ˄㿱മ 8.10 DŽ˅ᐖデਓᱮ⽪޵ᆈᮠᦞˈਣデਓᱮ⽪ሩᓄⲴ㲊 第 8章 Visual Basic 程序  5  ᤏᵪԓ⸱DŽ മ 8.10 ޵ᆈ㕆䗁ಘ � Address to Jump˖䗃ޕ㻛ᱮ⧠Ⲵ޵ᆈൠ൰DŽ᤹䫞 Clear List␵䲔ൠ൰ࡇ㺘DŽ᤹䫞 <<  ઼ >> ݱ䇨൘޵ᆈඇѝ㘫亥˄256њᆇ㢲 DŽ˅ � Dump to File˖ሶᤷᇊབྷሿⲴᮠᦞᣃਆࡠ᮷ԦDŽ � Search˖ݱ䇨൘ањᤷᇊⲴ޵ᆈ㤳ത䟼ᩌ㍒ᮠᦞᆇ⇥ˈਟԕᱟॱޝ䘋ࡦᮠᦞǃASCII ᡆWideCharṬᔿDŽ ˄8˅ㅖਧؑ᚟ḕⴻಘ অ᤹ࠫ䫞 Loaded Module Symbols ᢃᔰㅖਧؑ᚟ḕⴻಘ˄㿱മ 8.11˅ˈ 䈕ሩ䈍Ṷᱮ⽪ Ҷ〻ᒿ䈳⭘Ⲵн਼⁑ඇDŽ മ 8.11 ㅖਧؑ᚟ḕⴻಘ ᭟ᤱⲴㅖਧ䈳䈅᮷Ԧᴹ COFFˈPDB ㅹDŽިරⲴቡᱟ DBG ᮷Ԧˈ䴰㾱ᰦሶ⴨ޣⲴㅖਧ ᮷Ԧ༽ࡦࡠWKTVBDEⲴ DBGᆀⴞᖅ䟼DŽ൘ԫօᰦىঅࠫ Load/Unloadˈㅖਧቡ㜭ཏ㻛࣐ 䖭/ন䖭ˈаᰖ࣐䖭Ҷቡ⋑ᗵ㾱䟽ᯠ࣐䖭DŽ䇠տˈ࣐䖭ㅖਧਟ㜭Պᱟањᖸ╛䮯Ⲵ䗷〻ˈᡰԕ 加密与解密(第三版) www.pediy.com 6  㾱ㅹࡠ⣦ᘱḿᱮ⽪Ѫ Ready⣦ᘱDŽ 注意:在光盘提供的WKTVBDE版本中,按钮 Find ByAddress 不能正确工作。 ˄8˅Ѣᔿ৲㘳 ᤹ Ctrl+S䭞ᢃᔰѢᔿ৲㘳デਓ˄㿱മ 8.12 DŽ˅䈕ሩ䈍Ṷᱮ⽪Ҷᖃࡽ䘋〻ѝⲴᡰᴹᆇㅖѢDŽ অࠫ  Save ᤹䫞ਟԕ؍ᆈޘ䜘ⲴᆇㅖѢDŽঅࠫᆇㅖѢˈਟԕḕⴻ⴨ᓄᆇㅖѢ൘޵ᆈѝⲴൠ ൰DŽ֯⭘޵ᆈ㕆䗁ಘҏਟԕ㕆䗁ᆇㅖѢDŽ മ 8.12 Ѣᔿ৲㘳デਓ മ 8.13 Ӕ৹৲㘳デਓ ˄9˅Ӕ৹৲㘳デਓ অࠫ Analize BranchX ᤹䫞ᢃᔰӔ৹৲㘳デਓ˄㿱മ 8.13 DŽ˅䈕デਓᱮ⽪ᖃࡽ䘋〻Ⲵ ᡰᴹ䐣䖜Ⲵս㖞ˈਟṩᦞᛵߥ䇮㖞ᯝ⛩DŽਟԕ൘ԫօ䐣䖜кᘛ䙏ൠ䇮ᇊᯝ⛩ˈ൘㾱䇮ᇊᯝ⛩ Ⲵ䐣䖜кঅࠫ啐ḷਣ䭞ˈ൘ᕩࠪⲴ㨌অ䟼䘹ᤙ enable/disable the breakpoints ભԔᶕ䇮ᇊᡆ ਆ⎸ᯝ⛩DŽ 3κ䇴㖤ᯣ⛯ ൘ԓ⸱デਓ䟼ਟԕⴤ᧕ৼࠫ啐ḷᡆ⭘啐ḷਣ䭞䇮㖞ᯝ⛩DŽ ˄1˅൘㲊ᤏᵪ API࠭ᮠબਛк䇮ᯝ⛩ ᤹ Ctrl+B䭞ᢃᔰ Breakpoints on VMAPI calls デਓ˄㿱മ 8.14 DŽ˅ 䈕ሩ䈍Ṷᱮ⽪Ҷᡰᴹ䙊䗷㲊ᤏᵪ DLL 㻛ሬࠪⲴ࠭ᮠࡇ㺘DŽBP ࡇᤷࠪҶ〻ᒿൠ൰ˈOrd ࡇᤷࠪ㻛ሬࠪⲴ࠭ᮠᒿᮠˈName ᤷࠪ࠭ᮠ਽DŽ൘ൠ൰ᯱ䗩ᴹњԕн਼仌㢢ḷࠪⲴമḷˈ⭘ н਼仌㢢㺘⽪ᯝ⛩Ⲵ⣦ᘱDŽ㔯㢢㺘⽪ᴹ᭸ᯝ⛩ˈ哴㢢㺘⽪㻛⾱→Ⲵᯝ⛩ˈ⚠㢢㺘⽪ᰐ᭸Ⲵᯝ ⛩DŽৼࠫ࠭ᮠ਽ਟ᭩ਈᯝ⛩Ⲵ⣦ᘱDŽ ˄2˅䇮㖞՚ᤷԔᯝ⛩ ᤹ Ctrl+O䭞ᢃᔰ Opcodes Control Dialog デਓ˄㿱മ 8.15 DŽ˅䈕ሩ䈍Ṷᱮ⽪ᡰᴹࣙ䇠 ભԔࡇ㺘ˈਟԕሩᵪಘ⸱оࣙ䇠ભԔ䇮㖞ᯝ⛩DŽ � Address˖ᤷࠪҶ᧗ࡦ᫽֌ᤷԔⲴൠ൰˗ � Opcode˖ᵪಘ⸱˗ � Mnemoni˖ࣙ䇠ભԔˈ䶎ᑨ䟽㾱˗ � Size˖ᤷࠪҶભԔԓ⸱䮯ᓖDŽ ൘ൠ൰ᯱ䗩ᴹањԕн਼仌㢢ḷࠪⲴശᖒമḷˈ⭘Ҿᱮ⽪ᯝ⛩Ⲵн਼⣦ᘱDŽ㔯㢢Ⲵᱟ㻛 ◰⍫Ⲵˈ哴㢢Ⲵᱟ㻛⾱→Ⲵˈ⚠㢢Ⲵᱟཡ᭸ⲴDŽ᭩ਈ⣦ᘱਚ䴰ৼࠫ࠭ᮠ਽DŽ 第 8章 Visual Basic 程序  7  മ 8.14 ൘㲊ᤏᵪ API࠭ᮠબਛк䇮ᯝ⛩ മ 8.15 䇮㖞 Opcodeᯝ⛩ 4κ㇗⨼ネ։Ƚ㊱ૂ⁗ඍ ˄1˅㊫㇑⨶ অࠫ Class Manager ᢃᔰ Class Managerデਓ˄㿱മ 8.16 DŽ˅䈕ሩ䈍Ṷݱ䇨൘ࡇ㺘ѝሩ 䘹ѝⲴ㊫䇯䰞DŽ֯⭘ᖸㆰঅˈ䘹ᤙањ㊫ˈྲ᷌䟼䶒ᴹሩ䊑ˈࡉ⴨ᓄⲴ᤹䫞ሶՊ㻛◰⍫ˈঅ ᤹ࠫ䫞ቡਟԕ䇯䰞ˈ㘼ሩ䊑኎ᙗሩ䈍ṶቡՊᱮ⽪DŽ മ 8.16 ㊫㇑⨶ മ 8.17 デփ㇑⨶ മ 8.18 ሩ䊑኎ᙗ ˄2˅デփ㇑⨶ ᤹ Ctrl+F 䭞ᢃᔰ Form Managerデਓ˄㿱മ 8.17 DŽ˅᫽֌оሩ䊑኎ᙗ㊫լDŽ ˄3˅ሩ䊑኎ᙗ˄Object Propierties˅ ᱮ⽪デփᡆ㊫Ⲵ⴨ޣؑ᚟DŽ൘䈳䈅〻ᒿᰦˈ䈕デਓ䶎ᑨ䟽㾱ˈਟṩᦞ䴰㾱䇮㖞ᯝ⛩DŽമ 8.18ᱮ⽪Ⲵᱟ ⺞ᇊ ᤹䫞Ⲵؑ᚟ˈঅࠫ BPX ᤹䫞ਟԕሩ↔᤹䫞䇮㖞ᯝ⛩DŽ � UUID˖128 ս㊫ර䇶࡛᧗ࡦ˗ � Addr˖ሩ䊑䎧࿻ൠ൰˗ � Table˖ሩ䊑ࡇ㺘䎧࿻ᮠᦞൠ൰˗ � Ofs˖ࡇ㺘䱴࣐ᮠᦞٿ〫䟿˗ � Proc˖ሩ䊑᧗ࡦ䘋〻ൠ൰㤳ത˗ 加密与解密(第三版) www.pediy.com 8  � Index˖デփሩ䊑㍒ᕅ˗ � BPX˖ݱ䇨ⴤ᧕൘ሩ䊑к䇮ᯝ⛩DŽ 5κᵰಞ⸷фࣟ䇦ળԚ ᵪಘ⸱оࣙ䇠ભԔ㺘˄Opcode and Mnemonics Table˅ᖸ䟽㾱ˈާփ৲㘳ަ㠚ᑖⲴᑞࣙ᮷ ԦDŽᦼᨑ VB P-codeⲴޣ䭞ቡ൘䘉Ӌࣙ䇠ભԔкDŽ䘉䟼ਚࡇࠪࠐњᑨ⭘Ⲵࣙ䇠ભԔDŽ � BranchF˖ᵪಘ⸱ᱟ 1Chˈ3њᆇ㢲DŽᶑԦ䐣䖜ᤷԔˈྲึḸⲴ٬ᱟ 0ቡ䐣䖜DŽঅࠫ  Analize BranchX ᤹䫞ਟԕҶ䀓ᖃࡽ䘋〻ѝⲴᡰᴹᶑԦ䐣䖜ᤷԔⲴս㖞DŽ � BranchT˖ᵪಘ⸱ᱟ 1Dhˈ3њᆇ㢲DŽᶑԦ䐣䖜ᤷԔˈྲึḸⲴ٬ᱟ FFFFFFFh˄-1˅ ቡ䐣䖜DŽ � Branch˖ᵪಘ⸱ᱟ 1Ehˈ3њᆇ㢲DŽᰐᶑԦ䖜〫DŽ � EqVarBool˖ᵪಘ⸱ᱟ 33hˈ1њᆇ㢲DŽ∄䖳ᤷԔˈ∄䖳єњਈ䟿ˈṩᦞ㔃᷌ሶ-1ᡆ 0঻䘋ึḸDŽਟԕঅࠫ Opcodes ൘↔՚ᤷԔ༴䇮㖞ᯝ⛩DŽ � LitI2_Byte˖ᵪಘ⸱ᱟ F4hˈ2њᆇ㢲ˈሶᮠᦞ঻ޕึḸDŽ � ConcatStr ᵪ˖ಘ⸱ᱟ 2Ah 1ˈᆇ㢲DŽᆇㅖѢ㚄᧕ᤷԔ˄ ⴨ᖃҾ C䈝䀰ѝⲴ strcat࠭ᮠ DŽ˅ ↔ᤷԔঅ↕䐏䑚˄Step Trace˅ᰦˈՊ൘ᰕᘇデਓѝ⮉л⴨ᓄᆇㅖѢ㚄᧕㔃᷌DŽᡰԕˈ ਟԕঅࠫ Opcodes ൘↔՚ᤷԔ༴䇮㖞ᯝ⛩ˈԕׯҶ䀓ḀᆇㅖѢ٬DŽ � FLdZeroAd / CVarStr˖ ਆᆇㅖѢᤷԔˈ⢩⛩਼ ConcatStrDŽ 6κ⨼䀙 P-code䈣ਛ ᇎֻ Vbpcode.exe〻ᒿ䟷⭘ P-code㕆䈁ˈⓀ⸱ྲл˖ Private Sub Check_Click() Dim sn As Long, x As Long Dim t As Integer, i As Integer sn = Val(Text2.Text) t = Len(Text1.Text) x = 0 If t < 4 Then MsgBox "ဃ਽㾱 4њᆇㅖԕкʽ", 48, "ᨀ⽪" Else For i = 1 To t x = Asc(Mid(Text1.Text, i, 1)) + x Next i If sn − x = 0 Then MsgBox "ᡀ࣏DŽ", 64, "᚝ௌ" Else MsgBox "нᡀ࣏DŽ", 16, "ሩн䎧" End If End If 第 8章 Visual Basic 程序  9  End Sub 㻵䖭 vbpcode.exeਾˈঅࠫ ⺞ᇊ ᤹䫞ቡ㜭ѝᯝ൘WKTVBDE䟼DŽҏਟݸ䇮㖞ᯝ⛩ˈ ᤹ Ctrl+F 䭞ᢃᔰ Form Managerデਓ˄㿱മ 8.17 DŽ˅൘л᣹㨌অ䟼䘹ᤙデփ Form1 ˈ অ ࠫ command ᤹䫞ˈᢃᔰሩ䊑኎ᙗሩ䈍Ṷ˄㿱മ 8.18 DŽ˅䘹ᤙ Check ˈ অࠫ BPX 䇮㖞 ᯝ⛩ˈҏቡᱟሩ ⺞ᇊ ᤹䫞һԦ䇮㖞Ҷᯝ⛩DŽ 䗃ޕဃ਽ pediy઼ᒿࡇਧ 1234DŽঅࠫ ⺞ᇊ ᤹䫞ሶѝᯝ൘WKTVBDE䟼ˈԓ⸱ྲл˖ 00402240: 04 FLdRfVar 0012F5B0h ; аᔰ࿻ѝᯝ൘䘉ˈ❦ਾ᤹ F10䭞অ↕ᢗ㹼 00402243: 21 FLdPrThis 0013AF28h 00402244: 0F VCallAd Form1.Text2    00402276: 6C ILdRf 00000000h 00402279: 4A FnLenStr ; ᗇࡠᆇㅖѢ䮯ᓖ 0040227A: E4 CI2I4    0040228C: 6B FLdI2 ; ሶᆇㅖѢ䮯ᓖޕḸ 0040228F: F4 LitI2_Byte: -> 4h 4 ; ሶᮠᆇ 4h঻䘋ึḸ˄ᵪಘ⸱ᱟ: F4 04˅ 00402291: D0 LtI2 4h,5h ? ; ᆇㅖѢ䮯ᓖ>4 00402292: 1C BranchF 004022C9 ? ; 䐣䖜ᤷԔ˄ึḸᮠᦞᱟ 0ቡ䐣䖜˅ˈ 䐣䖜ᰦ᤹ F8䭞    004022C9: F4 LitI2_Byte: -> 1h 1 ; ᮠᦞ 1ޕḸ 004022CB: 04 FLdRfVar 0012F5B8h ; ተ䜘ਈ䟿 0012F5B8hޕḸˈi 004022CE: 6B FLdI2 FFFF0005h 004022D1: FE Lead3/ForI2: ; 0012F5B8hᤷੁⲴᮠᦞ䍻٬ 1ˈণ i=1 004022D7: 04 FLdRfVar 0012F5B0h 004022DA: 21 FLdPrThis 0013AF28h 004022DB: 0F VCallAd Form1.Text1 004022DE: 19 FStAdFunc 004022E1: 08 FLdPr 004022E4: 0D VCallHresult get__ipropTEXTEDIT 004022E9: 28 LitVarI2 1h , 1 004022EE: 6B FLdI2 ; ሶ iਆࠪᒦ঻ޕึḸ 004022F1: E7 CI4UI1 004022F2: 3E FLdZeroAd ; ᆇㅖ pediyⲴᤷ䪸ޕḸ 004022F5: 46 CVarStr 004022F8: 04 FLdRfVar 0012F550h 004022FB: 0A ImpAdCallFPR4 rtcMidCharVar ; Mid(Text1.Text, i, 1) 00402300: 04 FLdRfVar 0012F550h 00402303: FD Lead2/CStrVarVal ; ሶਆࠪⲴᆇㅖ Name(i)ޕḸ 加密与解密(第三版) www.pediy.com 10  00402307: 0B ImpAdCallI2 rtcAnsiValueBstr 0040230C: E7 CI4UI1 0040230D: 6C ILdRf ; xޕḸ 00402310: AAAddI4 ; x = Name(i) + x 00402311: 71 FStR4 00402314: 2F FFree1Str 00402317: 1A FFree1Ad 0040231A: 36 FFreeVar -> 3 00402323: 04 FLdRfVar 0012F5B8h ; 0012F5B8hѪ䇑ᮠಘˈᢗ㹼ᆼлаਕਾ࣐ 1 00402326: 64 NextI2: jump to 004022D7 ; ᗚ⧟ˈ᤹ F8䭞䘋ޕ 0040232B: 6C ILdRf 000004D2h ; 4D2hᱟ䗃ޕٷᒿࡇਧ 1212 Ⲵ 16䘋ࡦ 0040232E: 6C ILdRf 0000021Bh ; 21Bhᱟ㓿䇑㇇Ⲵⵏᒿࡇਧˈ䖜ᡀ 10䘋ࡦᱟ 539 00402331: AE SubI4 ; sn - x 00402332: F5 LitI4: -> 0h 0 ; ሶᮠ٬ 0ޕḸ 00402337: C7 EqI4 ; ሶ 0о(sn – x)∄䖳ˈྲн⴨ㅹሶ 0ޕḸ ; ྲ⴨ㅹሶ-1ޕḸ 00402338: 1C BranchF 0040236F ? ; ྲ⴨ㅹቡ⌘޼ᡀ࣏ 0040233B: 27 LitVar_Missing 0012F530h 0040233E: 27 LitVar_Missing 0012F550h 00402341: 3A LitVarStr '᚝ௌ' 00402346: 4E FStVarCopyObj 0012F570h к䘠ԓ⸱ᱟ䇢䘠〻ᒿ㇇⌅䗷〻DŽྲ ᷌ᜣⴤ᧕؞᭩ P-code〻ᒿ 䈕ˈᘾѸ࣎઒˛ٷ䇮㾱؞᭩ 00402338аਕˈ䇙ަн⴨ㅹቡ⌘޼ᡀ࣏DŽ ˄1˅ᯩ⌅а ؞᭩ BranchFⲴкаᶑ䈝ਕˈ⭘ LitI2_Byte՚⸱ˈሶ-1঻ޕึḸˈᵪಘ⸱ᱟ˖F4 FFDŽ ն↔ֻѝˈEqI4ᤷԔਚᴹањᆇ㢲ˈ㘼 LitI2_Byte -1ᴹєњᆇ㢲ˈഐ↔н㜭䟷⭘DŽ ˄2˅ᯩ⌅Ҽ ሶ BranchF䈝ਕ᭩ᡀ BranchT˄ᵪಘ⸱ᱟ 1Dh˅ˈ BranchT䐣䖜ᶑԦ઼ BranchF⴨৽ˈྲ ᷌ึḸᱟ 0ˈቡн䐣䖜DŽঅࠫ EDIT ᤹䫞ᢃᔰ޵ᆈ㕆䗁ಘˈ൘ൠ൰ 402338 ༴ৼࠫˈᢃᔰ ᮠᦞ؞᭩Ṷˈሶ 1C᭩ᡀ 1Dˈ޽অࠫ Patch Now ᤹䫞؞᭩〻ᒿDŽࡊ᡽ਚᱟ؞᭩Ҷ޵ᆈᮠ ᦞˈ㤕ᜣ؞᭩᮷Ԧˈਟԕ⭘ Hiewᶕ؞᭩DŽݹⴈᨀ׋Ҷ䈕ᯩ⌅Ⲵࣘ⭫ᮉᆖDŽ P-code〻ᒿᒦн䳮 ˈޣ䭞ᱟ㾱⨶䀓ࣙ䇠ભԔⲴਜ਼ѹDŽ䈫㘵㤕ᝏޤ䏓 ਟˈԕ߉Ӌ╄⽪〻ᒿˈ ❦ਾ৽㕆䈁࠶᷀DŽ
/
本文档为【WKTVBDebugger调试工具】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索