Search Results

Search found 10774 results on 431 pages for 'email obfuscation'.

Page 54/431 | < Previous Page | 50 51 52 53 54 55 56 57 58 59 60 61  | Next Page >

  • php send a file attachment inbuild script

    - by abhi
    hello iam new to php please let me know is any script or link for ( php script to send mail with file multiple attachments) and the html form also to how to connect this form or any inbuilt script so that i can upload to my server. i already try in many ways by coping the codes and pasting them and changing there path but still it get many errors so please let me know if there inbuilt script easily upload to my server <?php if($_GET['name']== '' || $_GET['email']=='' || $_GET['email']=='' || $_GET['Message']=='' ) { ?> <form action="check3.php" method="get" name="frmPhone"> <fieldset> <legend style="color:#000">Contact </legend> <table width="100%"> <tr> <td width="29%"> <label for="name" <?php if(isset($_GET['Submit']) && $_GET['name']=='') echo "style='color:red'"; ?>>Name* </label> </td> <td width="71%"> <input id="name" name="name" type="text" style="width:50%" value=" <?php echo $_GET['name']; ?>"/> </td> </tr> <tr> <td> <label for=" email" <?php if(isset($_GET['Submit']) && $_GET['email']=='') echo "style='color:red'"; ?>>Email* </label> </td> <td> <input id="email" name="email" type="text" style="width:50%" value=" <?php echo $_GET['email']; ?>"/> </td> </tr> </table> </fieldset> <fieldset> <legend style="color:#000">Inquiry </legend> <table width="100%"> <tr> <td width="41%" valign="top"> <label for="Message" <?php if(isset($_GET['Submit']) && $_GET['Message']=='') echo "style='color:red'"; ?>>Message*</label> </td> <td width="59%"> <textarea name="Message" rows="5" style="width:90%" id="Message"> <?php echo $_GET['Message']; ?> </textarea> </td><div align="center">Photo <input name="photo" type="file" size="35" /> </div></td> </tr> <tr> <input name="Submit" type="submit" value="Submit" /> </form> </td> </td> </form> </tr> <?php } else { $to = '[email protected]'; $subject = 'Customer Information'; $message = ' Name: '.$_GET['name'].' Email Address: '.$_GET['email'].' Message: '.$_GET['Message']; $headers = 'From:'.$_GET['email']; mail($to, $subject, $message, $headers); $connection=mysql_connect("db2173.perfora.net", "dbo311409166", "malani2002") or die(mysql_error()); $query = mysql_query("INSERT INTO `feedback` ( `name` , `email` , `Message` , `photo` ) VALUES ('".$_GET['name']."', '".$_GET['email']."', '".$_GET['Message']."')"); define ("MAX_SIZE","75"); if(isset($_FILES['photo']['name']) && $_FILES['photo']['name']<>"") { $typ = $_FILES['photo']['type']; if($typ == "image/g if" || $typ == "image/png" || $typ == "image/jpeg" || $typ == "image/pg if" || $typ == "image/ppng" || $typ =="image/JPEG") { $uploaddir = "contacts/"; $uploadimages = $uploaddir.basename($_FILES['photo']['name']); if(move_uploaded_file($_FILES['photo']['tmp_name'], $uploadimages)) { echo "File successfully copied"; $sql="INSERT INTO contacts (Photo, Beschrijving) VALUES ('$uploadimages', '$_POST[images]')"; if (!mysql_query($sql,$con)) { die('Error: ' . mysql_error()); mysql_close($con); } } else {echo "Copy unsuccessful"; } } else { echo "Incorrect file type"; } } else { echo "No file selected"; } echo "Thank you! "; } ?> thanks and regards abhi

    Read the article

  • Getting bounced mail in OS X terminal

    - by cloudhead
    I just noticed when launching my terminal a message "You have new mail." I would like to know if someone is trying something malicious with my email and name. The mails are all returns from the same server. There are 20 of them: N 1 MAILER-DAEMON@ussjoa Tue Nov 10 16:57 73/2522 "Undelivered Mail Retu" Each message appears to be the same, some sort of attempted registration (note: I omitted my personal email address from the following code): --6A9539564F2.1257902972/ussjoaboynton3.us.deloitte.com Content-Description: Undelivered Message Content-Type: message/rfc822 Received: by ussjoaboynton3.us.deloitte.com (Postfix, from userid 501) id 6A9539564F2; Tue, 10 Nov 2009 17:29:32 -0800 (PST) To: [email protected] Subject: Your registration informaton From: **(personal email address omitted)** Message-Id: <[email protected]> Date: Tue, 10 Nov 2009 17:29:32 -0800 (PST) First Name: as Last Name: as Email Address: as Username: as Password: F!ekUXN3 --6A9539564F2.1257902972/ussjoaboynton3.us.deloitte.com-- byte 2302Diagnostic-Code: X-Postfix; unknown user: "as" Any information to help figure out what is happening is greatly appreciated. Thank you.

    Read the article

  • MX setup for a domain registrar and web host with the same domain name

    - by Honus Wagner
    I have a client that has registered their domain through a registrar, then signed up for hosting on through a different provider, but used the same domain for said provider (didn't re-register the domain, I think the declaration of domain on the host was for CNAME records specifically). The registrar properly routes his emails at his domain name (email hosted by Google), but the problem is, on the hosted site, when an administration action occurs, he is supposed to get an email stating so. The site is sending him an email with PHP and he never receives an email when its to his address with the same domain name; all other domain addresses work just fine. I have to imagine its something misconfigured on the host. From what I can assume, I think that the host sees that the to and from domains are the same, and it decides not to route the email externally. Currently, the registrar uses the proper nameservers for the host, and there are MX records on both the registrar and the host (they are identical entries). I hope I've been clear in my question. If you need further clarification, or additional information of any kind, I can provide it. Thanks in advance.

    Read the article

  • Thunderbird Reply2All mistake when having two addresses

    - by Bart van Heukelom
    I have a Gmail account and a second email address. The mail from this second address is forwarded to the Gmail address. I use Thunderbird to read my email, but there's a little problem with the Reply2All feature. See, I have one of the addresses registered as my email address in Thunderbird. If somebody sends me an email on the other address, and I click reply 2 all, it doesn't recognize that address as mine, so it adds it to the recipient list - I am mailing myself. Anything I can do to fix this? Some way to let TB recognize both addresses?

    Read the article

  • How to send mail to my mailing list

    - by xrobot
    I have a landing page to collect email from person interested in my event. So now I don't know how can I send email to this mailing list ( there are about 5000 email and is growing 10-20 per day ). Could you help me ? P.S. I use LINUX

    Read the article

  • "Brute force attempt" on sending multiple emails

    - by bretddog
    While testing to send multiple emails, I successfully sent about 100 emails (with a 20KB pdf attachment), to the same email-address (my own), and they were all received. But on next attempt, my cPanel account was blocked, due to a "brute force attempt". Are there any special precautions I need to take when sending bulk emails? I simply looped through below code without pause for each email. What type of alert could that give on the email server, and how should I avoid it? client = New SmtpClient(smtp, Convert.ToInt32(port)) AddHandler client.SendCompleted, AddressOf OnAsyncSendComplete client.Credentials = New System.Net.NetworkCredential(usn, psw) client.SendAsync(mail, token) Should I wait for SendComplete event for each email before sending the next?

    Read the article

  • How to turn archiving off in thunderbird 3.1?

    - by chobo2
    Hi I don't really understand what the archiving really does in thunderbird but it is kinda annoying. Like if I get a email and read it. It will turn to read in my inbox, but will show up as unread in my archives section. So the next time I get an email the thunderbird notification will popup and show that I have 1 new email but will show all those unread one in my archive. So even though I read all of the emails in my inbox the next time I get an email I get a popup notification of 6 messages when it should be 1 since 5 of those where in the archive and marked as unread. Anyone know how to stop this?

    Read the article

  • Yahoo doesn't accept emails i send to it

    - by hd
    i am writing a sendmail module to email some things to my site users. for testing it i use my own email at yahoo to receive this email. but something woeful happened. about 1200 sent to my email address at yahoo at a moment and yahoo sent all of them to spam box. now i can't send any email to yahoo addresses and my server gives me this message in mailq: delivery temporarily suspended: host g.mx.mail.yahoo.com[98.137.54.238] refused to talk to me... how can i solve this problem?? many users of my site have yahoo email address. my server uses postfix. thanks for helping .

    Read the article

  • What are the advantages of DKIM?

    - by duff
    After making my server sign outgoing email I started to wonder what the benefits are. This is the opposite of a previously asked question. Naively I see two benefits: We can throw away all emails which don’t carry a valid signature: Wrong! Mail forwarders (like Mailman) will produce emails from someone at «domain which signs» which are not signed correctly (in their forwarded shape). We can skip spam checking on signed email: Wrong! A spammer can send a single email through e.g. gmail.com and then resend that email as-is (w/o changing headers) to a million people. So what are the selling points of DKIM?

    Read the article

  • Emails sent using Flex app are delayed

    - by user363825
    I'm currently building an application in Flex that utilizes SMTP Mailer to automatically send out emails to the user when a particular condition is satisfied. The application checks this condition every 30 seconds. The condition is satisfied based on new records being returned from a database table. The problem is as follows: When the condition is first satisfied, the email is delivered to the user with no issues. The second time the condition is satisfied, the email is not delivered. In the smtp logs, the delivery attempt appears to get hung up on the following line: 354 Start mail input; end with <CRLF>.<CRLF> No error codes are present in the smtp logs, but I do trace the following event from the SMTP Mailer class: [Event type="mailError" bubbles=false cancelable=false eventPhase=2] When the condition is satisfied a third time, the email that was not delivered when the condition was satisfied the previous time is now delivered, along with the email for this instance. This pattern then repeats itself, with the next email not being sent followed by two emails being sent simulatneously when the condition is met again. The smtp server being used is Windows 2003, on an internal network. The email is being sent to an outlook account hosted on an exchange server that is also on this internal network. Here is the actionscript code that creates the SMTPMailer object: public var testMail:SMTPMailer = null; public function alertNotify() { Security.loadPolicyFile("crossdomain.xml"); this.testMail = new SMTPMailer("myserver.ec.local",25); this.testMail.addEventListener(SMTPEvent.MAIL_SENT, onEmailEvent); this.testMail.addEventListener(SMTPEvent.MAIL_ERROR, onEmailError); this.testMail.addEventListener(SMTPEvent.DISCONNECTED, onEmailConn); this.testMail.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onEmailError); } Here is the code that creates the email body and calls the method to send the email: public function alertUser(emailAC:ArrayCollection):void { trace ("In alertUser() before send, testMail.connected = " + testMail.connected.toString()); var testStr:String = " Key Location Event Type Comment Update Time "; for each (var event:rEntity in emailAC) { testStr = testStr + "" + event.key.toString() + "" + event.xml.address.toString() + " " + [email protected]() + "" + [email protected]() + "" + [email protected]() + "" + event.xml.attribute("update-time").toXMLString() + ""; } testStr = testStr + ""; testMail.flush(); testMail.sendHTMLMail("[email protected]","[email protected]","Event Notification",testStr); } Really not sure where the email that gets hung up is being stored until it is finally sent.... Any suggestions as to how to begin to remedy this issue would be much appreciated.

    Read the article

  • Script to check a shared Exchange calendar and then email detail

    - by SJN
    We're running Server and Exchange 2003 here. There's a shared calendar which HR keep up-to-date detailing staff who are on leave. I'm looking for a VB Script (or alternate) which will extract the "appointment" titles of each item for the current day and then email the detail to a mail group, in doing so notifying the group with regard to which staff are on leave for the day. The resulting email body should be: Staff on leave today: Mike Davis James Stead @Paul Robichaux - ADO is the way I went for this in the end, here are the key component for those interested: Dim Rs, Conn, Url, Username, Password, Recipient Set Rs = CreateObject("ADODB.Recordset") Set Conn = CreateObject("ADODB.Connection") 'Configurable variables Username = "Domain\username" ' AD domain\username Password = "password" ' AD password Url = "file://./backofficestorage/domain.com/MBX/username/Calendar" 'path to user's mailbox and folder Recipient = "[email protected]" Conn.Provider = "ExOLEDB.DataSource" Conn.Open Url, Username, Password Set Rs.ActiveConnection = Conn Rs.Source = "SELECT ""DAV:href"", " & _ " ""urn:schemas:httpmail:subject"", " & _ " ""urn:schemas:calendar:dtstart"", " & _ " ""urn:schemas:calendar:dtend"" " & _ "FROM scope('shallow traversal of """"') " Rs.Open Rs.MoveFirst strOutput = "" Do Until Rs.EOF If DateDiff("s", Rs.Fields("urn:schemas:calendar:dtstart"), date) >= 0 And DateDiff("s", Rs.Fields("urn:schemas:calendar:dtend"), date) < 0 Then strOutput = strOutput & "<p><font size='2' color='black' face='verdana'><b>" & Rs.Fields("urn:schemas:httpmail:subject") & "</b><br />" & vbCrLf strOutput = strOutput & "<b>From: </b>" & Rs.Fields("urn:schemas:calendar:dtstart") & vbCrLf strOutput = strOutput & "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>To: </b>" & Rs.Fields("urn:schemas:calendar:dtend") & "<br /><br />" & vbCrLf End If Rs.MoveNext Loop Conn.Close Set Conn = Nothing Set Rec = Nothing After that, you can do what you like with srtOutput, I happened to use CDO to send an email: Set objMessage = CreateObject("CDO.Message") objMessage.Subject = "Subject" objMessage.From = "[email protected]" objMessage.To = Recipient objMessage.HTMLBody = strOutput objMessage.Send S

    Read the article

  • Save Word document to clipboard

    - by uwe
    I often come into the following situation: Get an email with attachment in MS Outlook Open that attachment in MS Word Starting to edit the document in MS Word Start replying to the email in MS Outlook Getting the edited document into my reply I have to save that file to disk and then drag it as attachment. I would think of a short way to get that document as attachement in the newly generated email. Is there a way to implement a save location as clipboard or just a copy to clipboard (the document, not the content)?

    Read the article

  • Display archived emails in inbox thread? (Gmail + Thunderbird 3.1)

    - by AndyL
    A features that I liked in GMail was that when an email arrived that was a reply to an earlier email, Gmail would display all of the previous emails along with the new one in a single thread in my inbox. Importantly, GMail would display emails in the thread even if they had been previously archived. Now I am using Thunderbird to access GMail. Thunderbird 3.1 supports Gmail-style archiving and threads, but it only dispalys messages in threads if they are in the same folder. If I have an email thread with someone and I archive that thread and then a new message arrives, only the new message appears in my inbox. This is really inconvenient. Before I could archive a thread without worrying that I would lose the contents of the thread should a new email arrive. Now, if an email arrives I must go through the All Mail box and find the rest of the thread. Is there any way to set Thunderbird so that it will automatically show the archived emails in the thread along with the new one? Perhaps there is some way to automatically un-archive the rest of the messages? Maybe this is an add-on waiting to be written?

    Read the article

  • ASP.Net Email and Account validation

    - by c11ada
    hey all, i was wondering if any one can advise me on how i can go about implementing a email and account validation feature in my ASP.net website. so when a user creates an account, an email is sent to the email address used, and the user needs to verify that email address to be able to logon. thanks

    Read the article

  • Postix transport smtp failover

    - by SimonJGreen
    We have a multi-tenant email relay set up that has a transport map file that looks like this: domain1.com smtp:mail.domain1.com domain2.com smtp:mail.domain2.com domain3.com smtp:mail.domain3.com [etc] In the event mail.domain1.com is down, email for domain1.com will be held by the postfix server until mail.domain1.com starts responding again. However we have a customer who has a backup DSL line on their site, an their email server is also available over this. How can I tell the transport to failover to a different host if the first is unavailable?

    Read the article

  • Facebook API question - uids and email

    - by Sunil
    Hello Folks, I am trying to develop a application where The user 'X' has logged into Facebook app has a set of email addresses (possible friends of user 'X') app gets the list of friends of user 'X' (uids) Want to check if user with email address [email protected] is a valid facebook user by using email address and is user X's friend (basically a uid to email mapping) Thanks!

    Read the article

  • Setup Webmail server unable to receive mails

    - by user26516
    I installed centos and configured email server and if I send email goes perfectly but if i reply from email that email i am getting this kind of error. Technical details of permanent failure: Google tried to deliver your message, but it was rejected by the server for the recipient domain example.com by mx00.1and1.com. [74.208.5.3]. I have bought domain in 1and1.com and i successful parked the domain. But i have doubt shall i need to add anything in MX record for other mail server. Please anyone help.

    Read the article

  • Postfix appears to ignore domain's MX records

    - by DisgruntledGoat
    On my dedicated server, I have Postfix installed for sending email through the websites. One of my clients hosts their email with a third party so we have MX records set up on the domain. However, when sending any Postfix emails from the server, they do not get the emails. I think since the domain is pointing at the server itself, it tries to send mail to itself, but there is nothing on the server to handle the email for that domain. (There are mail accounts for other domain which are working fine.) How do I get Postfix to use the domain's MX records to send email? Server is Ubuntu 8.10 with standard LAMP stack. I have Webmin installed, and a control panel called "Matrix" provided by the host.

    Read the article

  • Import PST into Gmail

    - by John
    I'm in the process of moving my email to Gmail. I used to use Outlook and I have a massive amount of email stored in various PST files (about 7GB worth). Ultimately I'd like to store this all in Gmail so I have my entire email archive available. I imported my first PST file using Outlook's IMAP feature - dragging the folders in one by one. This worked, but was quite slow and laborious (since I had to check on it every few minutes and set the next folder going). Is there any way I can do the import - either without using Outlook, or by somehow just setting it to go and leaving it overnight without any intervention? I did look at using Google Sync for Outlook, but it looks like this will also pull down all of the email I've already uploaded, which ideally I'd like to avoid (although if this is the only option I'll do that!)

    Read the article

  • How to backup old emails locally in Thunderbird and then remove them from IMAP server?

    - by saicode
    I am using Godaddy IMAP email with Thunderbird as my desktop client on Windows 7. The email service has unlimited mailbox size but the local Thunderbird is having troubles due to the large size of the inbox/outbox. I would like to take out old emails from IMAP server and backup them locally. After backing up the old email I would like to delete old email (older than let's say, 2012) from the server. Also I'd like to have them accessible from the local backup if ever needed in the future. This way I might be able to make Thunderbird fast and problem free. Problem is, I am not able to find any instruction to do this in an automated way based on dates etc. I can find some links for Archiving, Compacting and Backup. But unable to find any tutorial about how to backup and archive it locally and delete the original emails from the server.

    Read the article

  • No mail for root message [closed]

    - by Werulz
    I want to receive email when people login to my server via ssh (as a security measure), however, when I login, I get: No mail for root Email is [email protected] Does it need Postfix to work? I already install it on server but i haven't configured it Can you give me a tutorial to configure Postfix in case it needed? Will email be sent even if my domain hasn't been propagated yet? I added this in .bash_profile echo 'ALERT - Root Shell Access on:' `date` `who` | mail -s "Alert: Root Access from `who | awk '{print $6}'`" [email protected]

    Read the article

  • Problem carrying Session over to other pages

    - by AAA
    I am able to login a user, but while processing to the next page (memebers area) I can't display any user info let alone print the $_SESSION[email]. I am not sure what's up. Below is the login code and the testing members are page. Login page: session_start(); //also in a real app you would get the id dynamically $sql = "select `email`, `password` from `accounts` where `email` = '$_POST[email]'"; $query = mysql_query($sql) or die ("Error: ".mysql_error()); while ($row = mysql_fetch_array($query)){ $email = $row['email']; $secret = $row['password']; //we will echo these into the proper fields } mysql_free_result($query); // Process the POST variables $email = $_POST["email"]; //Variables $_SESSION["email"] = $_POST["email"]; $secret = $info['password']; //Checks if there is a login cookie if(isset($_COOKIE['ID_my_site'])) //if there is, it logs you in and directes you to the members page { $email = $_COOKIE['ID_my_site']; $pass = $_COOKIE['Key_my_site']; $check = mysql_query("SELECT email, password FROM accounts WHERE email = '$email'")or die(mysql_error()); while($info = mysql_fetch_array( $check )) { if (@ $info['password'] != $pass) { } else { header("Location: home.php"); } } } //if the login form is submitted if (isset($_POST['submit'])) { // if form has been submitted // makes sure they filled it in if(!$_POST['email'] | !$_POST['password']) { die('You did not fill in a required field.'); } // checks it against the database if (!get_magic_quotes_gpc()) { $_POST['email'] = addslashes($_POST['email']); } $check = mysql_query("SELECT email,password FROM accounts WHERE email = '".$_POST['email']."'")or die(mysql_error()); //Gives error if user dosen't exist $check2 = mysql_num_rows($check); if ($check2 == 0) { die('That user does not exist in our database. <a href=add.php>Click Here to Register</a>'); } while($info = mysql_fetch_array( $check )) //gives error if the password is wrong if (@ $_POST['password'] != $info['password']) { die('Incorrect password, please try again'); } else { // if login is ok then we add a cookie $_POST['email'] = stripslashes($_POST['email']); $hour = time() + 3600; setcookie(ID_my_site, $_POST['email'], $hour); setcookie(Key_my_site, $_POST['password'], $hour); //then redirect them to the members area header("Location: home.php"); } } } else { // if they are not logged in ?> <?php } ?> home.php session_start(); if(!isset($_SESSION['email'])) { header('Location: login_test3.php'); die('<a href="login_test3.php">Login first!</a>'); } //Variables $_SESSION["email"] = $email; print $_SESSION['name']; UPDATE Just realized the existing code gets in to the home.php file but will not echo anything. But as soon as you hit refresh the session is gone.

    Read the article

  • Sending 10,000 emails?

    - by Philipp Lenssen
    (I don't know whether to submit this to SuperUser or StackOverflow.) My friend and I have a subscriber list -- strictly opt-in, for people interested when we release new projects -- and we may want to send out a first email this year. How would one best send an email to over 10,000 people? Perhaps there is a good, I suppose paid service, which would do this for one? The key being that the emails ought arrive, with good chances of not being immediately labeled as spam due to the sender or something (as it's definitely not spam). When I simply send emails from my 1&1 server, they often immediately make it into the spam folder, even though when sending the same email through say Google Appspot, it arrives fine. FWIW, the email addresses are not yet verified (people simply signed up for the list by providing an email, and optionally a name). Analyzing what bounced may be a pro. BTW, we will provide an opt-out link with every mail. Thanks for any pointers, and sorry if this doesn't fit to ServerFault 100%!

    Read the article

  • Is there a good way to prevent a server from emailing a specific address (we control both servers/apps)?

    - by Bms85smb
    When testing a production app we occasionally need to pull from a live site and perform tests on a development server. There are quite a few email addresses stored in the database that we need to modify every time we restore to the development server. Occasionally someone on my team will miss one and accidentally send an email through the distribution list. The email looks legit because it is coming from a clone, it can cause quite the situation. We have a protocol we follow every time we clone the live app and it has helped a lot but I would feel better if it was impossible for the two servers to communicate. Is there a good way to do this? Can firewall rules block email? Does Plesk have a blacklist?

    Read the article

  • Dotfuscator Deep Dive with WP7

    - by Bil Simser
    I thought I would share some experience with code obfuscation (specifically the Dotfuscator product) and Windows Phone 7 apps. These days twitter is a buzz with black hat and white operations coming out about how the marketplace is insecure and Microsoft failed, blah, blah, blah. So it’s that much more important to protect your intellectual property. You should protect it no matter what when releasing apps into the wild but more so when someone is paying for them. You want to protect the time and effort that went into your code and have some comfort that the casual hacker isn’t going to usurp your next best thing. Enter code obfuscation. Code obfuscation is one tool that can help protect your IP. Basically it goes into your compiled assemblies, rewrites things at an IL level (like renaming methods and classes and hiding logic flow) and rewrites it back so that the assembly or executable is still fully functional but prying eyes using a tool like ILDASM or Reflector can’t see what’s going on.  You can read more about code obfuscation here on Wikipedia. A word to the wise. Code obfuscation isn’t 100% secure. More so on the WP7 platform where the OS expects certain things to be as they were meant to be. So don’t expect 100% obfuscation of every class and every method and every property. It’s just not going to happen. What this does do is give you some level of protection but don’t put all your eggs in one basket and call it done. Like I said, this is just one step in the process. There are a few tools out there that provide code obfuscation and support the Windows Phone 7 platform (see links to other tools at the end of this post). One such tool is Dotfuscator from PreEmptive solutions. The thing about Dotfuscator is that they’ve struck a deal with Microsoft to provide a *free* copy of their commercial product for Windows Phone 7. The only drawback is that it only runs until March 31, 2010. However it’s a good place to start and the focus of this article. Getting Started When you fire up Dotfuscator you’re presented with a dialog to start a new project or load a previous one. We’ll start with a new project. You’re then looking at a somewhat blank screen that shows an Input tab (among others) and you’re probably wondering what to do? Click on the folder icon (first one) and browse to where your xap file is. At this point you can save the project and click on the arrow to start the process. Bam! You’re done. Right? Think again. The program did indeed run and create a new version of your xap (doing it’s thing and rewriting back your *obfuscated* assemblies) but let’s take a look at the assembly in Reflector to see the end result. Remember a xap file is really just a glorified zip file (or cab file if you prefer). When you ran Dotfuscator for the first time with the default settings you’ll see it created a new version of your xap in a folder under “My Documents” called “Dotfuscated” (you can configure the output directory in settings). Here’s the new xap file. Since a xap is just a zip, rename it to .cab or .zip or something and open it with your favorite unarchive program (I use WinRar but it doesn’t matter as long as it can unzip files). If you already have the xap file associated with your unarchive tool the rename isn’t needed. Once renamed extract the contents of the xap to your hard drive: Now you’ll have a folder with the contents of the xap file extracted: Double click or load up your assembly (WindowsPhoneDataBoundApplication1.dll in the example) in Reflector and let’s see the results: Hmm. That doesn’t look right. I can see all the methods and the code is all there for my LoadData method I wanted to protect. Product failure. Let’s return it for a refund. Hold your horses. We need to check out the settings in the program first. Remember when we loaded up our xap file. It started us on the Input tab but there was a settings tab before that. Wonder what it does? Here’s the default settings: Renaming Taking a closer look, all of the settings in Feature are disabled. WTF? Yeah, it leaves me scratching my head why an obfuscator by default doesn’t obfuscate. However it’s a simple fix to change these settings. Let’s enable Renaming as it sounds like a good start. Renaming obscures code by renaming methods and fields to names that are not understandable. Great. Run the tool again and go through the process of unzipping the updated xap and let’s take a look in Reflector again at our project. This looks a lot better. Lots of methods named a, b, c, d, etc. That’ll help slow hackers down a bit. What about our logic that we spent days weeks on? Let’s take a look at the LoadData method: What gives? We have renaming enabled but all of our code is still there. If you look through all your methods you’ll find it’s still sitting there out in the open. Control Flow Back to the settings page again. Let’s enable Control Flow now. Control Flow obfuscation synthesizes branching, conditional, and iterative constructs (such as if, for, and while) that produce valid executable logic, but yield non-deterministic semantic results when decompilation is attempted. In other words, the code runs as before, but decompilers cannot reproduce the original code. Do the dance again and let’s see the results in Reflector. Ahh, that’s better. Methods renamed *and* nobody can look at our LoadData method now. Life is good. More than Minimum This is the bare minimum to obfuscate your xap to at least a somewhat comfortable level. However I did find that while this worked in my Hello World demo, it didn’t work on one of my real world apps. I had to do some extra tweaking with that. Below are the screens that I used on one app that worked. I’m not sure what it was about the app that the approach above didn’t work with (maybe the extra assembly?) but it works and I’m happy with it. YMMV. Remember to test your obfuscated app on your device first before submitting to ensure you haven’t obfuscated the obfuscator. settings tab: rename tab: string encryption tab: premark tab: A few final notes Play with the settings and keep bumping up the bar to try to get as much obfuscation as you can. The more the better but remember you can overdo it. Always (always, always, always) deploy your obfuscated xap to your device and test it before submitting to the marketplace. I didn’t and got rejected because I had gone overboard with the obfuscation so the app wouldn’t launch at all. Not everything is going to be obfuscated. Specifically I don’t see a way to obfuscate auto properties and a few other language features. Again, if you crank the settings up you might hide these but I haven’t spent a lot of time optimizing the process. Some people might say to obfuscate your xaml using string encryption but again, test, test, test. Xaml is picky so too much obfuscation (or any) might disable your app or produce odd rendering effets. Remember, obfuscation is not 100% secure! Don’t rely on it as a sole way of protecting your assets. Other Tools Dotfuscator is one just product and isn’t the end-all be-all to obfuscation so check out others below. For example, Crypto can make it so Reflector doesn’t even recognize the app as a .NET one and won’t open it. Others can encrypt resources and Xaml markup files. Here are some other obfuscators that support the Windows Phone 7 platform. Feel free to give them a try and let people know your experience with them! Dotfuscator Windows Phone Edition Crypto Obfuscator for .NET DeepSea Obfuscation

    Read the article

< Previous Page | 50 51 52 53 54 55 56 57 58 59 60 61  | Next Page >