碰到了比较棘手的算法,请教应该如何解决,望高人指点。
小弟最近在分析一个算法,想知道这个算法之前的原文(参数)是什么。
但目前由于汇编代码太多(240w行左右),始终无法找到原文。
算法会根据异或等操作决定跳到哪一个代码块,到这里可能会进行一些异或等操作计算字串,又或者根据对照字符对照出一段字串,又或者将字串复制到另一个地址。
反复执行以上操作。
而函数的参数是一个全局变量,这个全局变量什么时候变的我也不清楚。
现在我想找到原文,使用 call 的方式模拟出这套算法的加密,请问我应该怎么找到原文呢?
分析它感觉就是无底洞,走不到头。
若哪位大大有空,帮我分析并给予一定指点,我愿意支付k以上报酬。
万分感谢。 QQ: 936903837
类似这样的结构有很多个:
10A6C72B . 8985 78FCFFFF mov dword ptr ss:[ebp-388], eax
10A6C731 . 8B8D 78FCFFFF mov ecx, dword ptr ss:[ebp-388]
10A6C737 . 81C1 167B0445 add ecx, 45047B16
10A6C73D . 898D 78FCFFFF mov dword ptr ss:[ebp-388], ecx
10A6C743 . 83BD 78FCFFFF>cmp dword ptr ss:[ebp-388], 45
10A6C74A . 0F87 6B010000 ja 10A6C8BB
10A6C750 . 8B95 78FCFFFF mov edx, dword ptr ss:[ebp-388]
10A6C756 . FF2495 04FBA6>jmp dword ptr ds:[edx*4+10A6FB04]
10A6C75D > E9 5E010000 jmp 10A6C8C0
10A6C762 > E9 83010000 jmp 10A6C8EA
10A6C767 > E9 DC030000 jmp 10A6CB48
10A6C76C > E9 01040000 jmp 10A6CB72
10A6C771 > E9 0B060000 jmp 10A6CD81
10A6C776 > E9 30060000 jmp 10A6CDAB
10A6C77B > E9 56060000 jmp 10A6CDD6
10A6C780 > E9 74060000 jmp 10A6CDF9
10A6C785 > E9 0B080000 jmp 10A6CF95
10A6C78A > E9 29080000 jmp 10A6CFB8
10A6C78F > E9 4F080000 jmp 10A6CFE3
10A6C794 > E9 E9090000 jmp 10A6D182
10A6C799 > E9 1E0A0000 jmp 10A6D1BC
10A6C79E > E9 FD0B0000 jmp 10A6D3A0
10A6C7A3 > E9 290C0000 jmp 10A6D3D1
10A6C7A8 > E9 450D0000 jmp 10A6D4F2
10A6C7AD > E9 6B0D0000 jmp 10A6D51D
10A6C7B2 > E9 FA0E0000 jmp 10A6D6B1
10A6C7B7 > E9 9B100000 jmp 10A6D857
10A6C7BC > E9 AC100000 jmp 10A6D86D
10A6C7C1 > E9 1C130000 jmp 10A6DAE2
10A6C7C6 > E9 1C130000 jmp 10A6DAE7
10A6C7CB . E9 2D130000 jmp 10A6DAFD
10A6C7D0 > E9 3F130000 jmp 10A6DB14
10A6C7D5 > E9 60150000 jmp 10A6DD3A
10A6C7DA > E9 85150000 jmp 10A6DD64
10A6C7DF > E9 97150000 jmp 10A6DD7B
10A6C7E4 > E9 A8150000 jmp 10A6DD91
10A6C7E9 > E9 02160000 jmp 10A6DDF0
10A6C7EE > E9 23160000 jmp 10A6DE16
10A6C7F3 > E9 46160000 jmp 10A6DE3E
10A6C7F8 > E9 58160000 jmp 10A6DE55
10A6C7FD > E9 7D160000 jmp 10A6DE7F
10A6C802 > E9 A3160000 jmp 10A6DEAA
10A6C807 > E9 57180000 jmp 10A6E063
10A6C80C > E9 B21A0000 jmp 10A6E2C3
10A6C811 > E9 C31A0000 jmp 10A6E2D9
10A6C816 > E9 D41C0000 jmp 10A6E4EF
10A6C81B > E9 CD1E0000 jmp 10A6E6ED
10A6C820 > E9 EF1E0000 jmp 10A6E714
10A6C825 > E9 0C1F0000 jmp 10A6E736
10A6C82A > E9 1B1F0000 jmp 10A6E74A
10A6C82F > E9 411F0000 jmp 10A6E775
10A6C834 > E9 6B1F0000 jmp 10A6E7A4
10A6C839 > E9 8E1F0000 jmp 10A6E7CC
10A6C83E > E9 B41F0000 jmp 10A6E7F7
10A6C843 > E9 BB200000 jmp 10A6E903
10A6C848 > E9 DC200000 jmp 10A6E929
10A6C84D > E9 97220000 jmp 10A6EAE9
10A6C852 > E9 BC230000 jmp 10A6EC13
10A6C857 > E9 E1240000 jmp 10A6ED3D
10A6C85C > E9 DD250000 jmp 10A6EE3E
10A6C861 > E9 02260000 jmp 10A6EE68
10A6C866 > E9 86260000 jmp 10A6EEF1
10A6C86B > E9 AC260000 jmp 10A6EF1C
10A6C870 > E9 D2260000 jmp 10A6EF47
10A6C875 > E9 D3280000 jmp 10A6F14D
10A6C87A > E9 FF280000 jmp 10A6F17E
10A6C87F > E9 25290000 jmp 10A6F1A9
10A6C884 > E9 FB2A0000 jmp 10A6F384
10A6C889 > E9 1C2B0000 jmp 10A6F3AA
10A6C88E > E9 412B0000 jmp 10A6F3D4
10A6C893 > E9 062E0000 jmp 10A6F69E
10A6C898 > E9 272E0000 jmp 10A6F6C4
10A6C89D > E9 992F0000 jmp 10A6F83B
10A6C8A2 > E9 BE2F0000 jmp 10A6F865
10A6C8A7 > E9 DC2F0000 jmp 10A6F888
10A6C8AC > E9 EE2F0000 jmp 10A6F89F
10A6C8B1 > E9 0F300000 jmp 10A6F8C5
10A6C8B6 > E9 45300000 jmp 10A6F900
10A6C8BB > E9 3D120000 jmp 10A6DAFD
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课