一般软件最小化绿色文件的制作方法: | 奇幻软件坊

 

最小化 绿色软件的制作(KuGou7.6.80 超级精简版的制作:)

第一步,我们先利用 Total Commander制作最小化文件列表

1
通常情况下,我们先创建1个新的文件夹,把主程序(这里当然是KuGou.exe啦)移入到里边,然后双击运行了,此时正常情况下会出来少文件的报错提示

(如果不出来又当如何?)我们就可以祭宝(使用Process Monitor工具来监控一下,此时所需要的文件立马便知晓啦),稍后举实例进行说明……

2
少哪一个文件就补充哪一个,直到找全了所需要的所有文件


↑如上图所示,这就是最后的样子!↑

虽然常规情况是这个样子,但是有时我们需要干掉广告文件,从而得到更小的文件列表

此时,我们就需要更高明的方法啦:

1)打开Ollydbg,然后把主程序拖到到里边去

通过各种断点 或 字串搜索 或 API函数拦截,找到出现那个提示少文件出错的前的地方,

比如下面的就是(酷狗 7.6.80.17065少 Upgrade.dll文件时,提示被干掉的过程)

搜索这个串 得到一个地址,然后再跟下来 ,不久到达下面的地方
1011C4AE/74 79jeXkugou_1.1011C529==========JMP
1011C4B0|68 A06B6710pushkugou_1.10676BA0; Upgrade 字串

1011C7DB/74 15jeXkugou_1.1011C7F2==========; JMP

=================================================================================

下面是少popad.dll文件的解决!
1011C886FF15 C0576410calldword ptr ds:[<&MSVCR120.operato>; msvcr120.operator new 类似这样的行,全部设上这样才能一网打尽
1002EE99E8 D7AA0E00callkugou_1.10119975; 同样这里弹出少文件的提示(第二次就拦不下来了,因为说是个内存地址)其实因为它位于kugou.dll中(NOP就崩溃了)

10119975/$55pushebp 可断下(并位于播放音乐时 和 未出现少文件提示前)
102757F6|. /74 0AjeXkugou_1.10275802那这句是否 能力挽狂澜?!《尝试后果然没有了,但是听一会音乐还会……》
102757F8|. |8BC8movecx, eax
102757FA|. |FF15 547E7F10 calldword ptr ds:[0x107F7E54];kugou_1.10573DBA 这里出来的那个少popad.dll文件提示
1027597E|.FF15 587E7F10 calldword ptr ds:[0x107F7E58];kugou_1.10573DD5 因为这里有故事情节发生~(接着弹的第二处判断)
10275901|.68 40616A10pushkugou_1.106A6140;ASCII “PopAdsManagerProxy”这是啥?

1027587E|.68 00616A10pushkugou_1.106A6100;UNICODE “http://tj.kugou.com/ads-log.gif” 我靠,广告也分为天津的 北京的 南方的 北方的
10275883|.8D8D 5CFFFFFF leaecx, [local.41]
10275889|.C645 FC 08movbyte ptr ss:[ebp-0x4], 0x8
1027588D|.E8 7A27D9FFcallkugou_1.1000800C
10275892|.68 54616A10pushkugou_1.106A6154;UNICODE “BiAdsSdnUrl”
10275897|.8D4D 8Cleaecx, [local.29]
1027589A|.C645 FC 09movbyte ptr ss:[ebp-0x4], 0x9
1027589E|.E8 6927D9FFcallkugou_1.1000800C
102758A3|.68 04466710pushkugou_1.10674604;UNICODE “option”
1054010A|. /74 0EjeXkugou_1.1054011A;幸运女神在此?(改了就会崩溃)
1054010C|. |8D4D D0leaecx, [local.12]
1054010F|. |51pushecx
10540110|. |6A 03push0x3
10540112|. |FFD0calleax;好像 到了头了(貌似这里是最后一次弹了 F7
100B9360/77 78jaXkugou_1.100B93DA
100B9362|. |51pushecx
100B9363|. |51pushecx
100B9364|. |8D4C24 10leaecx, dword ptr ss:[esp+0x10]
100B9368|. |E8 A9B3FBFFcallkugou_1.10074716
100B936D|. |68 D0E96610pushkugou_1.1066E9D0
100B9372|. |51pushecx
100B9373|. |FF76 0Cpushdword ptr ds:[esi+0xC]
100B9376|. |8D4424 24leaeax, dword ptr ss:[esp+0x24]
100B937A|. |51pushecx
100B937B|. |68 ACE96610pushkugou_1.1066E9AC
100B9380|. |50pusheax
100B9381|. |E8 8B4AF5FFcallkugou_1.1000DE11
100B9386|. |83C4 0Caddesp, 0xC
100B9389|. |50pusheax
100B938A|. |E8 824AF5FFcallkugou_1.1000DE11
100B938F|. |83C4 0Caddesp, 0xC
100B9392|. |50pusheax
100B9393|. |E8 794AF5FFcallkugou_1.1000DE11
100B9398|. |59popecx;usp10.74AD5E45
100B9399|. |59popecx;usp10.74AD5E45
100B939A|. |8D8424 BC0000>leaeax, dword ptr ss:[esp+0xBC]
100B93A1|. |50pusheax
100B93A2|. |8D4C24 0Cleaecx, dword ptr ss:[esp+0xC]
100B93A6|. |E8 B0C9F7FFcallkugou_1.10035D5B
100B93AB|. |8378 14 10cmpdword ptr ds:[eax+0x14], 0x10
100B93AF|72 02jbXkugou_1.100B93B3
100B93B1|. |8B00moveax, dword ptr ds:[eax]
100B93B3|> |6A 10push0x10; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
100B93B5|. |68 F4E96610pushkugou_1.1066E9F4; |Title = “加载dll失败”
100B93BA|. |50pusheax; |Text = NULL
100B93BB|. |33F6xoresi, esi; |
100B93BD|. |56pushesi; |hOwner = 7EFDD000
100B93BE|. |FF15 D45A6410 calldword ptr ds:[<&USER32.MessageBo>; \MessageBoxA
100B93C4|. |56pushesi
100B93C5|. |6A 01push0x1
100B93C7|. |8D8C24 C40000>leaecx, dword ptr ss:[esp+0xC4]
100B93CE|. |E8 05D9F4FFcallkugou_1.10006CD8
100B93D3|. |56pushesi; /status = 7EFDD000 (2130563072.)
100B93D4|. |FF15 00576410 calldword ptr ds:[<&MSVCR120._exit>] ; _exit
100B93DA|> \8B8C24 D40000>movecx, dword ptr ss:[esp+0xD4]

1054010A/EB 0EjmpXkugou_1.1054011A这个JMP
1054010C|. |8D4D D0leaecx, [local.12]
1054010F|. |51pushecx
10540110|. |6A 03push0x3
10540112|. |FFD0calleax;少DLL 提示
10540114|. |8BF8movedi, eax
10540116|. |85FFtestedi, edi
10540118|. |75 21jnzXkugou_1.1054013B这个NOP
100B93BE|.FF15 D45A6410 calldword ptr ds:[<&USER32.MessageBo>; \MessageBoxA

上面的过程是非常复杂的,初学者一下子看不懂也是很正常的