针对加密后的字符串如何修改的一个小示例(图解) - IaWeN's Blog - 我喜欢这样自由的随手涂鸦,因为我喜欢风……
Aug 20

针对加密后的字符串如何修改的一个小示例(图解) 不指定

Posted by iawen at 10:57 | 破文脱文 | 评论(0) | 阅读(974) | |
呵呵,没有深入研究过,只是做一个简单的示例,让大家一起讨论方便!
示例的程序与工程见附件!!!

原程序运行如图:
Highslide JS

大家先结合一下源码看一下:

 #define IAWEN_TIMER_ID   0x101
HINSTANCE  g_hInst;
INT_PTR  CALLBACK MainPro(HWND,UINT,WPARAM,LPARAM);
char szTitle[]="ufa2r9fWxLvKvsD9LS1pYXdlbigyMDA5LzA4LzIwKQ==";//用Base64加密后的标题


标题是用Base64工具事先加密过的,用OD搜索到的也只能是加密后的结果:
Highslide JS

第一种方法:先分析加密方法,然后将自己的字符也加密一下,这样就可以直接替换了!
由于这里知道是Base64加密的,所以,如果我们需要修改成自己的标题,只需要将自己的用Base64加密一下,然后替换,如下图:
Highslide JS

保存一份,运行一下看看:
Highslide JS

第二种方法:就是直接在程序里打补丁了(SMC)
1\先分析程序在哪里设置的标题:
Highslide JS

2\仔细分析一下,就知道了下面这句代码是关键
00401109     8D5424 04              lea edx,dword ptr ss:[esp+4]

esp+4就是指向解密后的字符串位置
指令执行后,则将解密后的字符串保存到了EDX,然后压入堆栈!

3\接下来,我们就需要在数据段找一个空白,输入自己的字符串,然后想办法让地址保存到EDX就OK了:
Highslide JS

其他的,如果有想到再续吧!



版权所有。转载时必须以链接形式注明作者和原始出处及本声明!如果 对文章有意见,请发邮件到iawen#126.com,或者直接在博客留言。
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]