有哪位用过HookApi ,,请高手帮帮小弟,我的分全部都你们,我仅有150,请大哥多包函(150分)

  • 主题发起人 主题发起人 xiamei0404
  • 开始时间 开始时间
X

xiamei0404

Unregistered / Unconfirmed
GUEST, unregistred user!

我在调用一个动态连接库里面的函数seng('13086770887','hello')发短信到手机

但这个函数已经定义好了(DLL文件里,我无法修改),它会在你所发的短信前面硬加
上一串字符(www.yeskey.com.cn)发送到了手机里,现在我想用hookapi编一个mydll.dll,
把它自动加上的字符去掉,我无法找到DLL的源程序,我知道用hookapi是能实现的可我不太懂得
怎么用啊,有谁哪位大哥用过的请帮帮忙吧!!!

send(phone:pchar;msg:pchar):longint是这样定义的
利用seng('13086770887','hello')发出,但接到的是www,yesky.comhello

请问大哥用hookapi是怎么编mysend(tel:pchar:me:pchar):longint
我这样写了,但不行啊,大哥您说怎么写才对呢?
s:=copy(string(smsg),30,length(string(smsg)))//是想去掉前面30个字符
ret:=SendMsg('13086770887','hello')
Result := ret;
我这样写了同样能发啊,但一点用都没有,收到的却只是哪个网址了,'hello'没有
对了是不是我调用这个函数时使用不对啊,我也初始化了hookapi的,但也不行。。。。
 
帮不了你,只能帮你提前了
 
不怎么懂你的意思!

你的APIHOOK是怎么用的?不懂。
 
你在后面加几个#0用STRING送进去试试,

干嘛这么麻烦,自己写个手机发短信的程序不就行了,连特效都发上去
 
这是做不到的。
如果你知道这个dll的send又调用了另一个接口,倒可以hook掉哪个接口。
比如
procedure send(msg)
begin
another_Send('www.yahoo.com'+Msg);
end;
你就可以hookanother_send,先截掉字符串前面的信息,再调用真正的another_send
 
有谁知道用其它方法可以解决吗?

只要可以解决问题我就给分给他(她)

我听说可以这样解决,,
你用一些EXE和DLL函数把这个DLL分解,把里面的哪个字符给删掉,或者直接用查找功能在DLL文件里找到这个字符串,修改他

可我也不知道怎么做啊,,还说用WINSOCK函数可以的,,

唉。。小 弟不才啊,,!!请各位高手帮帮忙啊
 
wolf_cyj说的有道理。
用winsock 我想应该是截包吧。如果是明码包可能好办些.加密的就没戏了
用查找功能就是用UltraEdit 按二进制文件打开那个DLL。然后搜索要搜索的字符串
找到后替换。 具体方法网上search 一下能找到UltraEdit的使用方法
 
用WINSOCK SPI函数就好办,不过我不知道DELPHI能否做SPI函数的DLL,在尝试中
 
把你的代码和DLL给我一份,我找API接口试试的跳转(JMP),
如果DLL的字符串(www.yeskey.com.cn)定义为常量就好办了,
把DLL中资源文件部分一改就行。
qsilence@sina.com
 
To:张无忌:

你做成功给我指点啊,,, 我等着你
 
赫赫,可惜我不用Win98了,否则,用SoftIce一下子就搞定了。
用WinDASM也可以,你Mail过来看看?Kingron@163.net
 
基本上没有什么办法可以解决
唯一的办法就是找到DLL的源程序修改了
解铃还需系铃人,不要浪费时间在这里了
 
多人接受答案了。
 
后退
顶部